From 82b39f352142a91ad98ae84f313287eb14197c90 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 27 Jun 2016 19:45:30 +0200 Subject: [PATCH] gallium/radeon: assume X11 DRI3 can use at most 5 back buffers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle --- src/gallium/drivers/radeon/r600_pipe_common.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index fc50b91d685..c145dc3a069 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -570,6 +570,10 @@ struct r600_common_context { * in r600_texture because r600_texture can be shared by multiple * contexts. This is for back buffers only. We shouldn't get too many * of those. + * + * X11 DRI3 rotates among a finite set of back buffers. They should + * all fit in this array. If they don't, separate DCC might never be + * enabled by DCC stat gathering. */ struct { struct r600_texture *tex; @@ -579,7 +583,7 @@ struct r600_common_context { * the least recently used slot is evicted based on this. */ int64_t last_use_timestamp; bool query_active; - } dcc_stats[2]; + } dcc_stats[5]; /* The list of all texture buffer objects in this context. * This list is walked when a buffer is invalidated/reallocated and -- 2.30.2