mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 05:00:09 +01:00
spirv: don't fail on CapabilitySubgroupDispatch if supported
Since only Anv uses the value, I'm only enabling this on anv.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 518693c3ec ("spirv: Handle the SubgroupSize execution mode")
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13034>
This commit is contained in:
parent
1d676fdee9
commit
9d9e67d118
3 changed files with 14 additions and 0 deletions
|
|
@ -91,6 +91,7 @@ struct spirv_supported_capabilities {
|
|||
bool subgroup_arithmetic;
|
||||
bool subgroup_ballot;
|
||||
bool subgroup_basic;
|
||||
bool subgroup_dispatch;
|
||||
bool subgroup_quad;
|
||||
bool subgroup_shuffle;
|
||||
bool subgroup_uniform_control_flow;
|
||||
|
|
|
|||
|
|
@ -4535,6 +4535,18 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
|||
spv_check_supported(amd_shader_ballot, cap);
|
||||
break;
|
||||
|
||||
case SpvCapabilitySubgroupDispatch:
|
||||
spv_check_supported(subgroup_dispatch, cap);
|
||||
/* Missing :
|
||||
* - SpvOpGetKernelLocalSizeForSubgroupCount
|
||||
* - SpvOpGetKernelMaxNumSubgroups
|
||||
* - SpvExecutionModeSubgroupsPerWorkgroup
|
||||
* - SpvExecutionModeSubgroupsPerWorkgroupId
|
||||
*/
|
||||
vtn_warn("Not fully supported capability: %s",
|
||||
spirv_capability_to_string(cap));
|
||||
break;
|
||||
|
||||
case SpvCapabilityVariablePointersStorageBuffer:
|
||||
case SpvCapabilityVariablePointers:
|
||||
spv_check_supported(variable_pointers, cap);
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ anv_shader_compile_to_nir(struct anv_device *device,
|
|||
.subgroup_arithmetic = true,
|
||||
.subgroup_basic = true,
|
||||
.subgroup_ballot = true,
|
||||
.subgroup_dispatch = true,
|
||||
.subgroup_quad = true,
|
||||
.subgroup_uniform_control_flow = true,
|
||||
.subgroup_shuffle = true,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue