From: Keith Packard Date: Tue, 26 Nov 2013 06:57:42 +0000 (-0800) Subject: dri3: Flush XCB before blocking for special events X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f12d6d613acd3f85309e4a3063871b188c93a145;p=mesa.git dri3: Flush XCB before blocking for special events XCB doesn't flush the output buffer automatically, so we have to call xcb_flush ourselves before waiting. Signed-off-by: Keith Packard Reviewed-by: Eric Anholt --- diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 79bc5f0214d..c91f5000db5 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -406,6 +406,7 @@ dri3_wait_for_event(__GLXDRIdrawable *pdraw) xcb_generic_event_t *ev; xcb_present_generic_event_t *ge; + xcb_flush(c); ev = xcb_wait_for_special_event(c, priv->special_event); if (!ev) return false; @@ -1075,6 +1076,7 @@ dri3_find_back(xcb_connection_t *c, struct dri3_drawable *priv) if (!buffer->busy) return b; } + xcb_flush(c); ev = xcb_wait_for_special_event(c, priv->special_event); if (!ev) return -1;