From 864873dea97bdc084ccca83849e02b8604a37a4f Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 23 Apr 2019 17:40:09 -0700 Subject: [PATCH] iris: Prefer staging blits when destination supports CCS_E. Otherwise our textures don't get color compression. Thanks to Eero Tamminen for noticing this was missing! Improves performance of GLB27_FillTestC24Z16 on my Apollolake laptop with single channel RAM by 2.3x. Reported-by: Eero Tamminen --- src/gallium/drivers/iris/iris_resource.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c index 0e9e42feaa0..7013d5e8984 100644 --- a/src/gallium/drivers/iris/iris_resource.c +++ b/src/gallium/drivers/iris/iris_resource.c @@ -1443,7 +1443,7 @@ iris_transfer_map(struct pipe_context *ctx, no_gpu = true; } - if (map_would_stall && !no_gpu) { + if ((map_would_stall || res->aux.usage == ISL_AUX_USAGE_CCS_E) && !no_gpu) { /* If we need a synchronous mapping and the resource is busy, * we copy to/from a linear temporary buffer using the GPU. */ -- 2.30.2