Hi,

A couple of weeks ago, we started a thread about clearing the upper 
layer with directfb (sorry for not replying but I was not subscribed)

(http://mail.directfb.org/pipermail/directfb-users/2008-April/000589.html)

Answering some of the responses: yes, video layer is also handled by 
directfb (the hardware vendor provides a special VideoProvider to 
control it),

After some experiments we are starting to think that the driver 
implementation is misbehaving. Apparently, Flip operations work always 
as if DSFLIP_BLIT was set, and drawing functions as if DSDRAW_BLEND is 
set, so it is impossible to clear anything off the screen, just blend 
with it.

We have tried the no_hardware option with no difference, but more slower 
execution.

Next code draws two blended rectangles, so I guess it is enough to say 
that is a problem of the driver. To my understanding, first rectangle 
should go off when we flip the buffer for the second time (and, even 
more, blending is deactivated)

   DFBCHECK(primary_srfc -> SetDrawingFlags(primary_srfc, DSDRAW_NOFX));
   DFBCHECK(primary_srfc -> SetColor(primary_srfc, 0xff, 0xff, 00, 0x88));
   DFBCHECK(primary_srfc -> FillRectangle(primary_srfc, 500, 500, 500, 
500));
   DFBCHECK(primary_srfc -> Flip(primary_srfc, NULL,
                                DSFLIP_ONSYNC | DSFLIP_WAIT));

   DFBCHECK(primary_srfc -> SetColor(primary_srfc, 0x00, 0xff, 0xff, 0x88));
   DFBCHECK(primary_srfc -> FillRectangle(primary_srfc, 800, 500, 500, 
500));

   DFBCHECK(primary_srfc -> Flip(primary_srfc, NULL,
                                DSFLIP_ONSYNC | DSFLIP_WAIT));

We also checked that primary surface is actually double buffered with:

   DFBCHECK(primary_srfc -> GetCapabilities(primary_srfc, &caps));
   HUC_DEBUG("Double:%d", caps & DSCAPS_DOUBLE);

And that prints a non-zero value.

Am I missing something obvious or can I safely blame the driver 
implementation?

Thanks in advance
-- 
        Samuel

_______________________________________________
directfb-users mailing list
directfb-users@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to