[Mesa-dev] [PATCH 7.11] gallium/dri: Handle xserver that doesn't send needless DRI2 invalidate events

Ville Syrjälä syrjala at sci.fi
Fri Jan 6 14:12:24 PST 2012


On Sun, Dec 18, 2011 at 06:22:01PM +0200, Ville Syrjälä wrote:
> Ever since xserver commit 531869448d07e00ae241120b59f3aaaa5709d59c,
> the server no longer sends invalidate events to clients, unless they
> have performed a GetBuffers request since the drawable was last
> invalidated.
> 
> If the drawable gets invalidated immediately after the GetBuffers
> request was processed by the X server, it's possible that Xlib
> will process the invalidate event while waiting for the GetBuffers
> reply. So the server, thinking the client knows that the buffers
> are invalid, is waiting for another GetBuffers request before
> sending any more invalidate events. The client, on the other hand,
> believes the buffers to be valid, and thus is expecting to receive
> another invalidate event before it has to send another GetBuffers
> request. The end result is that the client never again sends
> a GetBuffers request.
> 
> To avoid this problem, take a snapshot of lastStamp before
> doing GetBuffers, and retry if the snapshot and the current
> lastStamp no longer match after the GetBuffers reply has been
> processed.
> 
> Signed-off-by: Ville Syrjälä <syrjala at sci.fi>

Ping. Anyone interested in having Mesa 7.11 work with
xserver >= 1.11?

-- 
Ville Syrjälä
syrjala at sci.fi
http://www.sci.fi/~syrjala/


More information about the mesa-dev mailing list