diff options
| author | Keith Packard <keithp@keithp.com> | 2013-11-25 22:57:42 -0800 |
|---|---|---|
| committer | Eric Anholt <eric@anholt.net> | 2014-01-30 16:40:25 -0800 |
| commit | f12d6d613acd3f85309e4a3063871b188c93a145 (patch) | |
| tree | 1923f343106ddec685662cb2dc36557b4ad8f38c /src/glx/dri3_glx.c | |
| parent | 09d6c1972037a5519488094afd225f793d2188d0 (diff) | |
| download | mesa-f12d6d613acd3f85309e4a3063871b188c93a145.tar.gz | |
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 <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/glx/dri3_glx.c')
| -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; |
