From 13a3d702581273129ce33bea56ace99842e7eff1 Mon Sep 17 00:00:00 2001 From: Rebecca Mckeever Date: Tue, 18 Feb 2025 19:26:10 -0800 Subject: [PATCH] panvk: Enable VK_KHR_shader_maximal_reconvergence for v10+ Signed-off-by: Rebecca Mckeever Reviewed-by: Boris Brezillon Part-of: --- docs/features.txt | 2 +- docs/relnotes/new_features.txt | 1 + src/panfrost/vulkan/panvk_physical_device.c | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 1b587c80ffa..6e5cc7fa7bc 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -561,7 +561,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, lvp, radv/gfx10.3+) VK_KHR_ray_tracing_position_fetch DONE (anv, radv/gfx10.3+) VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, radv, vn) - VK_KHR_shader_maximal_reconvergence DONE (anv, lvp, nvk, radv, vn) + VK_KHR_shader_maximal_reconvergence DONE (anv, lvp, nvk, panvk/v10+, radv, vn) VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, nvk, panvk/v10+, radv, tu, vn) VK_KHR_shader_quad_control DONE (anv, nvk, radv, vn) VK_KHR_shared_presentable_image not started diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index d5eebf825a8..b93b531cdfc 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -13,3 +13,4 @@ VK_EXT_border_color_swizzle on panvk VK_MESA_image_alignment_control on NVK shaderFloat16 on panvk VK_KHR_shader_subgroup_uniform_control_flow on panvk/v10+ +VK_KHR_shader_maximal_reconvergence on panvk/v10+ diff --git a/src/panfrost/vulkan/panvk_physical_device.c b/src/panfrost/vulkan/panvk_physical_device.c index 6d6e473acf6..29568be69fe 100644 --- a/src/panfrost/vulkan/panvk_physical_device.c +++ b/src/panfrost/vulkan/panvk_physical_device.c @@ -215,6 +215,7 @@ get_device_extensions(const struct panvk_physical_device *device, .KHR_shader_draw_parameters = true, .KHR_shader_expect_assume = true, .KHR_shader_float16_int8 = true, + .KHR_shader_maximal_reconvergence = arch >= 10, /* requires vk1.1 */ .KHR_shader_non_semantic_info = true, .KHR_shader_relaxed_extended_instruction = true, .KHR_shader_subgroup_rotate = true, @@ -428,6 +429,9 @@ get_features(const struct panvk_physical_device *device, /* VK_KHR_shader_relaxed_extended_instruction */ .shaderRelaxedExtendedInstruction = true, + /* VK_KHR_shader_maximal_reconvergence */ + .shaderMaximalReconvergence = true, + /* VK_KHR_shader_subgroup_uniform_control_flow */ .shaderSubgroupUniformControlFlow = true,