Mesa (master): iris: Prefer staging blits when destination supports CCS_E.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 24 01:59:47 UTC 2019


Module: Mesa
Branch: master
Commit: 864873dea97bdc084ccca83849e02b8604a37a4f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=864873dea97bdc084ccca83849e02b8604a37a4f

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Apr 23 17:40:09 2019 -0700

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 <eero.t.tamminen at intel.com>

---

 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.
        */




More information about the mesa-commit mailing list