From 988c45ae125855b96e680bf070871f1574cb343b Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Thu, 29 Sep 2022 13:30:31 -0700 Subject: [PATCH] spirv: Enable OpEmitMeshTasksEXT workaround for Clay Shader Compiler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clay Shader Compiler is the SPIR-V generator used by GravityMark benchmark. Fixes #7368. Reviewed-by: Timur Kristóf Part-of: --- src/compiler/spirv/spirv_to_nir.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 58de19695d6..73904902543 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -6389,9 +6389,13 @@ vtn_create_builder(const uint32_t *words, size_t word_count, * a terminator instruction. * * See https://github.com/KhronosGroup/glslang/issues/3020 for details. + * + * Clay Shader Compiler (used by GravityMark) is also affected. */ b->wa_ignore_return_after_emit_mesh_tasks = - is_glslang(b) && generator_version < 11; + (is_glslang(b) && generator_version < 11) || + (b->generator_id == vtn_generator_clay_shader_compiler && + generator_version < 18); /* words[2] == generator magic */ unsigned value_id_bound = words[3];