From 7bd1d4848cf755257644e9b79289a364db659026 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Fri, 15 Mar 2024 21:42:49 -0500 Subject: [PATCH] Revert "nvk: Enable VK_KHR_shader_subgroup_uniform_control_flow" This reverts commit ac5d529c6513baba30641466d88afbc5ba2787ef. We're failing 4 of the tests: dEQP-VK.reconvergence.subgroup_uniform_control_flow_ballot.compute.nesting4.1.2 dEQP-VK.reconvergence.subgroup_uniform_control_flow_elect.compute.nesting4.1.2 dEQP-VK.reconvergence.workgroup_uniform_control_flow_ballot.compute.nesting4.1.2 dEQP-VK.reconvergence.workgroup_uniform_control_flow_elect.compute.nesting4.1.2 This is because we aren't guaranteeing re-convergence for loop continues. Part-of: --- docs/features.txt | 2 +- docs/relnotes/new_features.txt | 1 - src/nouveau/vulkan/nvk_physical_device.c | 4 ---- src/nouveau/vulkan/nvk_shader.c | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index e919863363d..c4c299390a9 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -539,7 +539,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_shader_expect_assume DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_KHR_shader_maximal_reconvergence DONE (lvp, radv) VK_KHR_shader_subgroup_rotate DONE (anv, radv) - VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, nvk, radv) + VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, radv) VK_KHR_shader_quad_control DONE (radv) VK_KHR_shared_presentable_image not started VK_KHR_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 7131a41992d..54aa1c4d0ec 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -10,4 +10,3 @@ OpenGL 4.6 on Asahi OpenGL ES 3.2 on Asahi Mali G610 and G310 on Panfrost Mali T600 on Panfrost -VK_KHR_shader_subgroup_uniform_control_flow on NVK \ No newline at end of file diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 309004d4bf5..21d1a11ed09 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -147,7 +147,6 @@ nvk_get_device_extensions(const struct nvk_instance *instance, .KHR_shader_integer_dot_product = true, .KHR_shader_non_semantic_info = true, .KHR_shader_subgroup_extended_types = true, - .KHR_shader_subgroup_uniform_control_flow = nvk_use_nak(info), .KHR_shader_terminate_invocation = (nvk_nak_stages(info) & VK_SHADER_STAGE_FRAGMENT_BIT) != 0, .KHR_spirv_1_4 = true, @@ -557,9 +556,6 @@ nvk_get_device_features(const struct nv_device_info *info, /* VK_EXT_shader_object */ .shaderObject = true, - /* VK_KHR_shader_subgroup_uniform_control_flow */ - .shaderSubgroupUniformControlFlow = nvk_use_nak(info), - /* VK_EXT_texel_buffer_alignment */ .texelBufferAlignment = true, diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index 9b3f7f82874..d9a1764112b 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -156,7 +156,6 @@ nvk_get_spirv_options(struct vk_physical_device *vk_pdev, .subgroup_basic = true, .subgroup_quad = true, .subgroup_shuffle = true, - .subgroup_uniform_control_flow = true, .subgroup_vote = true, .tessellation = true, .transform_feedback = true,