From c1eaa0390412d4dbd0c971c668499eedcb650698 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Thu, 25 Apr 2024 10:18:47 -0500 Subject: [PATCH] spirv: Drop the SubgroupUniformControlFlow check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's just a vtn_fail_if() and there's no actual cap for it. It's not really gaining us much to have the check. Reviewed-by: Alyssa Rosenzweig Reviewed-by: Iván Briano Acked-By: Mike Blumenkrantz Part-of: --- src/amd/vulkan/radv_shader.c | 1 - src/compiler/shader_info.h | 1 - src/compiler/spirv/spirv_to_nir.c | 4 +--- src/intel/vulkan/anv_pipeline.c | 1 - src/intel/vulkan_hasvk/anv_pipeline.c | 1 - src/nouveau/vulkan/nvk_shader.c | 1 - 6 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 981da7b7ba3..0414bd08cbf 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -403,7 +403,6 @@ radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_shader_st .subgroup_quad = true, .subgroup_rotate = true, .subgroup_shuffle = true, - .subgroup_uniform_control_flow = true, .subgroup_vote = true, .tessellation = true, .transform_feedback = true, diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index 7c1e0ab3ef3..28fb19fe415 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -115,7 +115,6 @@ struct spirv_supported_capabilities { bool subgroup_quad; bool subgroup_rotate; bool subgroup_shuffle; - bool subgroup_uniform_control_flow; bool subgroup_vote; bool tessellation; bool transform_feedback; diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 3f081b0cb24..12ace886e2c 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -5555,9 +5555,7 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point, 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."); + /* Nothing to do here */ break; case SpvExecutionModeEarlyAndLateFragmentTestsAMD: diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 01520d4ce11..d75b8345e44 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -194,7 +194,6 @@ anv_shader_stage_to_nir(struct anv_device *device, .subgroup_dispatch = true, .subgroup_quad = true, .subgroup_rotate = true, - .subgroup_uniform_control_flow = true, .subgroup_shuffle = true, .subgroup_vote = true, .tessellation = true, diff --git a/src/intel/vulkan_hasvk/anv_pipeline.c b/src/intel/vulkan_hasvk/anv_pipeline.c index eb3724240a0..25a1887893f 100644 --- a/src/intel/vulkan_hasvk/anv_pipeline.c +++ b/src/intel/vulkan_hasvk/anv_pipeline.c @@ -97,7 +97,6 @@ anv_shader_stage_to_nir(struct anv_device *device, .subgroup_ballot = true, .subgroup_dispatch = true, .subgroup_quad = true, - .subgroup_uniform_control_flow = true, .subgroup_shuffle = true, .subgroup_vote = true, .tessellation = true, diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index 0982857daf2..23a1eea564f 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -158,7 +158,6 @@ nvk_get_spirv_options(struct vk_physical_device *vk_pdev, .subgroup_quad = true, .subgroup_rotate = true, .subgroup_shuffle = true, - .subgroup_uniform_control_flow = true, .subgroup_vote = true, .tessellation = true, .transform_feedback = true,