diff options
Diffstat (limited to 'src/loader/loader_dri3_helper.c')
-rw-r--r-- | src/loader/loader_dri3_helper.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c index 131c9e9e87b..b3f04828481 100644 --- a/src/loader/loader_dri3_helper.c +++ b/src/loader/loader_dri3_helper.c @@ -56,6 +56,9 @@ static struct loader_dri3_blit_context blit_context = { _MTX_INITIALIZER_NP, NULL }; +static void +dri3_flush_present_events(struct loader_dri3_drawable *draw); + /** * Do we have blit functionality in the image blit extension? * @@ -482,6 +485,9 @@ dri3_find_back(struct loader_dri3_drawable *draw) xcb_generic_event_t *ev; xcb_present_generic_event_t *ge; + /* Increase the likelyhood of reusing current buffer */ + dri3_flush_present_events(draw); + for (;;) { for (b = 0; b < draw->num_back; b++) { int id = LOADER_DRI3_BACK_ID((b + draw->cur_back) % draw->num_back); |