diff options
author | Kenneth Graunke <[email protected]> | 2019-04-23 17:40:09 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-04-23 18:59:27 -0700 |
commit | 864873dea97bdc084ccca83849e02b8604a37a4f (patch) | |
tree | 87f25d6465b47da724002f9d8e8077511b233dc7 | |
parent | d8b296d3ad96cb04ee57234a0b1a6a046e08a1a7 (diff) |
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 <[email protected]>
-rw-r--r-- | src/gallium/drivers/iris/iris_resource.c | 2 |
1 files changed, 1 insertions, 1 deletions
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. */ |