[PATCH 01/10] dri2: Fix can_exchange() to allow page-flipping on more mesa versions.

Daniel Stone daniel at fooishbar.org
Thu Mar 1 12:37:38 PST 2012


Hi,

On 1 March 2012 18:11, Mario Kleiner <mario.kleiner at tuebingen.mpg.de> 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


More information about the xorg-devel mailing list