Hi,
There is problem in dfb with fbdev. Layer->TestConfiguration reports YUV
modes as valid, but SetConfiguratio fails.
I've looked trought the sources and problem (in my opinion} is caused
here:
----cut--- fbdev.c
static DFBResult dfb_fbdev_set_mode( DisplayLayer *layer,
VideoMode *mode,
DFBDisplayLayerConfig *config )
{
int vyres;
struct fb_var_screeninfo var;
DEBUGMSG("DirectFB/core/fbdev: dfb_fbdev_set_mode (layer: %p, "
"mode: %p, buffermode: %d)\n", layer, mode,
config ? config->buffermode : DLBM_FRONTONLY);
if (!mode)
mode = dfb_fbdev->shared->current_mode ?
dfb_fbdev->shared->current_m>
vyres = mode->yres;
var = dfb_fbdev->shared->current_var;
var.xoffset = 0;
var.yoffset = 0;
if (config) {
if (config->buffermode == DLBM_BACKVIDEO)
vyres <<= 1;
--->> var.bits_per_pixel = DFB_BYTES_PER_PIXEL(config->pixelformat)
* 8;
In this line bpp is derived from pixel format. But RGB16 and YUV modes
have SAME (usually bpp=16). Because subsequent ioctl uses only bpp (not
pixel format - if we only test configuration) reports OK it thinks that
we test layer for RGB16!
As a quick soludion I suggest disabling all YUV modes for fbdev by
simple pixelformat check in dfb_fbdev_set_mode.
JS
--
Info: To unsubscribe send a mail to [EMAIL PROTECTED] with
"unsubscribe directfb-dev" as subject.