From: Caio Oliveira Date: Thu, 29 Sep 2022 20:30:31 +0000 (-0700) Subject: spirv: Enable OpEmitMeshTasksEXT workaround for Clay Shader Compiler X-Git-Tag: upstream/22.3.5~2041 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=988c45ae125855b96e680bf070871f1574cb343b;p=platform%2Fupstream%2Fmesa.git spirv: Enable OpEmitMeshTasksEXT workaround for Clay Shader Compiler Clay Shader Compiler is the SPIR-V generator used by GravityMark benchmark. Fixes #7368. Reviewed-by: Timur Kristóf Part-of: --- diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 58de196..7390490 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];