Hi, Antonino Daplas <[EMAIL PROTECTED]> writes:
> I think case 1 and case 2 are both correct depending on the setup. Case > 1 is true if: > > a. fbdev supports pan_display; and > > b. frontbuffer and backbuffer are both in video memory. Ie you draw to > backbuffer, then flip. The backbuffer is now the frontbuffer which does > not contain the horizontal line, so your next draw is to an empty > buffer. > > Case 2 on the other hand is true if: > > a. frontbuffer is in video memory and backbuffer is in system memory. > buffer flips in these case is just 'copy contents of backbuffer to > frontbuffer'. > > b. both buffers are in video memory, but fbdev does not support pan > display. In this case, flips are done by using the copy command, or. > > What I'm not sure off is which should of the 2 cases should be correct > behavior. you have correcly described how it works. If working with the primary surface in flipping mode you may not assume that the last drawing operation you performed before the flip has also been done to the backbuffer you are working on now. Actually in the preferred case the Flip operation on the complete primary surface will be performed by changing a single pointer. Only if this is not possible because either (a) it's not supported (b) not enough video memory is available (c) not the whole region is flipped (d) the DSFLIP_BLIT parameter was specified with surface::Flip() the flip will be performed using a blit. It's safe to assume that only two buffers are used however. See for example how df_neo prepares the background. Salut, Sven -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe directfb-dev" as subject.
