On Mar 1, 2012, at 9:37 PM, Daniel Stone wrote:

Hi,

On 1 March 2012 18:11, Mario Kleiner <[email protected]> wrote:
can_exchange() returns false and thereby prevents page
flipping on some drawables where page flipping would
work fine. This due to non-matching drawable depths values
between front buffer pixmap and back buffer pixmap, because
front buffer pixmaps inherit the depth of the screen, typically
24 bits, whereas the depth value of back buffer pixmaps for a
given RGB8 or RGBA8 visual depends on the mesa version in use,
either 24 bits or 32 bits.

Use bitsPerPixel instead of depth to decide if drawable
is flippable. This will still catch really incompatible
formats like 32 bpp vs. 16 bpp buffers.

In theory, shouldn't this be a format-compatibility check, so you
don't (unlikely though it is) attempt to flip to a BGR drawable on an
RGB configuration, or a 4444 drawable on 0565?

Cheers,
Daniel


Yes, i think that would be the best solution, in theory. But i don't think the info is easily available to the ddx? However, i didn't search very hard.
-mario

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to