From c0d56efa31e37e9ec35cf0b65c578c513976ed32 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 2 Apr 2020 12:13:38 -0700 Subject: [PATCH] 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 Part-of: --- 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; } -- 2.30.2