summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/loader/loader_dri3_helper.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
index e9fb97bfaf7..86ae5aecd5f 100644
--- a/src/loader/loader_dri3_helper.c
+++ b/src/loader/loader_dri3_helper.c
@@ -68,15 +68,12 @@ dri3_fence_await(xcb_connection_t *c, struct loader_dri3_buffer *buffer)
static void
dri3_update_num_back(struct loader_dri3_drawable *draw)
{
- draw->num_back = 1;
- if (draw->flipping) {
- if (!draw->is_pixmap &&
- !(draw->present_capabilities & XCB_PRESENT_CAPABILITY_ASYNC))
- draw->num_back++;
- draw->num_back++;
- }
- if (draw->vtable->get_swap_interval(draw) == 0)
- draw->num_back++;
+ if (draw->flipping)
+ draw->num_back = 3;
+ else if (draw->vtable->get_swap_interval(draw) != 0)
+ draw->num_back = 2;
+ else
+ draw->num_back = 1;
}
void