mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 22:20:14 +01:00
spirv: Support SPV_KHR_subgroup_uniform_control_flow
There's no SPIR-V Capability associated, so check in the Execution Mode. For now, don't keep track of whether a shader uses uniform control flow in the shader_info, we can add that when/if a driver actually need that information. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11476>
This commit is contained in:
parent
a219073e9b
commit
6ad88a8f08
2 changed files with 7 additions and 0 deletions
|
|
@ -91,6 +91,7 @@ struct spirv_supported_capabilities {
|
|||
bool subgroup_basic;
|
||||
bool subgroup_quad;
|
||||
bool subgroup_shuffle;
|
||||
bool subgroup_uniform_control_flow;
|
||||
bool subgroup_vote;
|
||||
bool tessellation;
|
||||
bool transform_feedback;
|
||||
|
|
|
|||
|
|
@ -5033,6 +5033,12 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point,
|
|||
/* Handled later by vtn_handle_execution_mode_id(). */
|
||||
break;
|
||||
|
||||
case SpvExecutionModeSubgroupUniformControlFlowKHR:
|
||||
/* There's no corresponding SPIR-V capability, so check here. */
|
||||
vtn_fail_if(!b->options->caps.subgroup_uniform_control_flow,
|
||||
"SpvExecutionModeSubgroupUniformControlFlowKHR not supported.");
|
||||
break;
|
||||
|
||||
default:
|
||||
vtn_fail("Unhandled execution mode: %s (%u)",
|
||||
spirv_executionmode_to_string(mode->exec_mode),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue