spirv: Allow Mesh/Task to use derivative execution modes

Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956>
This commit is contained in:
Caio Oliveira 2024-08-30 08:47:25 -07:00 committed by Marge Bot
parent 1e7f1c2039
commit eae637d83c

View file

@ -5273,12 +5273,12 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point,
break;
case SpvExecutionModeDerivativeGroupQuadsKHR:
vtn_assert(b->shader->info.stage == MESA_SHADER_COMPUTE);
vtn_assert(gl_shader_stage_uses_workgroup(b->shader->info.stage));
b->shader->info.derivative_group = DERIVATIVE_GROUP_QUADS;
break;
case SpvExecutionModeDerivativeGroupLinearKHR:
vtn_assert(b->shader->info.stage == MESA_SHADER_COMPUTE);
vtn_assert(gl_shader_stage_uses_workgroup(b->shader->info.stage));
b->shader->info.derivative_group = DERIVATIVE_GROUP_LINEAR;
break;