From 050c0948f2fd17b02234532ad7efd3c2ba2920bd Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Tue, 24 Sep 2024 13:09:00 +0200 Subject: [PATCH] v3d: support shader precompile for compute shaders Reviewed-by: Jose Maria Casanova Crespo Part-of: --- src/gallium/drivers/v3d/v3d_program.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/v3d/v3d_program.c b/src/gallium/drivers/v3d/v3d_program.c index fe8ea54a22c..e8fd2414918 100644 --- a/src/gallium/drivers/v3d/v3d_program.c +++ b/src/gallium/drivers/v3d/v3d_program.c @@ -262,8 +262,7 @@ v3d_shader_precompile(struct v3d_context *v3d, i); } v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); - } else { - assert(s->info.stage == MESA_SHADER_VERTEX); + } else if (s->info.stage == MESA_SHADER_VERTEX) { struct v3d_vs_key key = { /* Emit fixed function outputs */ .base.is_last_geometry_stage = true, @@ -286,6 +285,11 @@ v3d_shader_precompile(struct v3d_context *v3d, i); } v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); + } else { + assert(s->info.stage == MESA_SHADER_COMPUTE); + struct v3d_key key = { 0 }; + v3d_setup_shared_precompile_key(so, &key); + v3d_get_compiled_shader(v3d, &key, sizeof(key), so); } }