diff options
author | Keith Packard <[email protected]> | 2013-11-25 22:57:42 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-01-30 16:40:25 -0800 |
commit | f12d6d613acd3f85309e4a3063871b188c93a145 (patch) | |
tree | 1923f343106ddec685662cb2dc36557b4ad8f38c | |
parent | 09d6c1972037a5519488094afd225f793d2188d0 (diff) |
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 <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r-- | src/glx/dri3_glx.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; |