aboutsummaryrefslogtreecommitdiffstats
path: root/src/loader/loader_dri3_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/loader/loader_dri3_helper.c')
-rw-r--r--src/loader/loader_dri3_helper.c6
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);