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

Author: Rob Clark <[email protected]>
Date:   Thu Apr  2 12:13:38 2020 -0700

freedreno/ir3: also precompile compute shaders for shaderdb

Similar as with draw shaders, nothing will trigger the final variant in
shader-db.

Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4423>

---

 src/gallium/drivers/freedreno/ir3/ir3_gallium.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_gallium.c 
b/src/gallium/drivers/freedreno/ir3/ir3_gallium.c
index 9ad67d2ec9b..31dc82b1b6e 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_gallium.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_gallium.c
@@ -144,6 +144,7 @@ ir3_shader_create(struct ir3_compiler *compiler,
                if (nir->info.stage != MESA_SHADER_FRAGMENT)
                        ir3_shader_variant(shader, key, true, debug);
        }
+
        return shader;
 }
 
@@ -170,6 +171,15 @@ ir3_shader_create_compute(struct ir3_compiler *compiler,
 
        struct ir3_shader *shader = ir3_shader_from_nir(compiler, nir);
 
+       if (fd_mesa_debug & FD_DBG_SHADERDB) {
+               /* if shader-db run, create a standard variant immediately
+                * (as otherwise nothing will trigger the shader to be
+                * actually compiled)
+                */
+               static struct ir3_shader_key key; /* static is implicitly 
zeroed */
+               ir3_shader_variant(shader, key, false, debug);
+       }
+
        return shader;
 }
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to