panvk: re-enable KHR_shader_quad_control on v10+

Now that we support Vulkan 1.2, we can expose KHR_shader_quad_control
again.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34512>
This commit is contained in:
Erik Faye-Lund
2025-04-16 09:47:52 +02:00
committed by Marge Bot
parent b3fd8ddf6a
commit d39e2869a8
3 changed files with 5 additions and 3 deletions

View File

@@ -563,7 +563,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_shader_maximal_reconvergence DONE (anv, lvp, nvk, panvk/v10+, radv, vn)
VK_KHR_shader_relaxed_extended_instruction DONE (anv, hasvk, nvk, panvk, radv, tu, v3dv, 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_shader_quad_control DONE (anv, nvk, panvk/v10+, radv, vn)
VK_KHR_shared_presentable_image not started
VK_KHR_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_surface_protected_capabilities DONE (anv, lvp, nvk, radv, tu, v3dv, vn)

View File

@@ -11,3 +11,4 @@ VK_KHR_maintenance5 on panvk/v10+
VK_EXT_direct_mode_display on panvk
VK_EXT_extended_dynamic_state[2] on panvk
Vulkan 1.2 on panvk/v10+
VK_KHR_shader_quad_control on panvk/v10+

View File

@@ -210,6 +210,7 @@ get_device_extensions(const struct panvk_physical_device *device,
const unsigned arch = pan_arch(device->kmod.props.gpu_prod_id);
bool has_vk1_1 = arch >= 10;
bool has_vk1_2 = arch >= 10;
*ext = (struct vk_device_extension_table){
.KHR_8bit_storage = true,
@@ -259,7 +260,7 @@ get_device_extensions(const struct panvk_physical_device *device,
.KHR_shader_float16_int8 = true,
.KHR_shader_maximal_reconvergence = has_vk1_1,
.KHR_shader_non_semantic_info = true,
.KHR_shader_quad_control = false,
.KHR_shader_quad_control = has_vk1_2,
.KHR_shader_relaxed_extended_instruction = true,
.KHR_shader_subgroup_extended_types = has_vk1_1,
.KHR_shader_subgroup_rotate = true,
@@ -540,7 +541,7 @@ get_features(const struct panvk_physical_device *device,
.shaderFloatControls2 = true,
/* VK_KHR_shader_quad_control */
.shaderQuadControl = false,
.shaderQuadControl = true,
/* VK_KHR_shader_relaxed_extended_instruction */
.shaderRelaxedExtendedInstruction = true,