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