panvk: Advertise VK_KHR_shader_untyped_pointers on v9+

Enable the VK_KHR_shader_untyped_pointers extension and the
shaderUntypedPointers feature for Valhall and newer (v9+).

Bifrost (v6/v7) has issues with 8-bit vector loads through untyped
pointers combined with 16-bit storage, so restrict the extension
to architectures where it's fully functional.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40457>
This commit is contained in:
Christian Gmeiner 2026-03-05 23:51:36 +01:00 committed by Marge Bot
parent 37c8ff5416
commit 6333bf359b
3 changed files with 6 additions and 1 deletions

View file

@ -583,7 +583,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_shader_relaxed_extended_instruction DONE (anv, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, hk, kk, nvk, panvk/v10+, radv, tu, vn)
VK_KHR_shader_quad_control DONE (anv, hk, lvp, nvk, panvk/v10+, radv, vn)
VK_KHR_shader_untyped_pointers DONE (anv, nvk, radv, vn)
VK_KHR_shader_untyped_pointers DONE (anv, nvk, panvk/v9+, radv, vn)
VK_KHR_shared_presentable_image not started
VK_KHR_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_surface_protected_capabilities DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)

View file

@ -40,3 +40,4 @@ VK_EXT_shader_atomic_float on panvk
VK_KHR_device_address_commands on RADV
VK_EXT_non_seamless_cube_map on pvr
fragmentStoresAndAtomics on panvk/v6-7
VK_KHR_shader_untyped_pointers on panvk

View file

@ -110,6 +110,7 @@ panvk_per_arch(get_physical_device_extensions)(
.KHR_shader_subgroup_rotate = true,
.KHR_shader_subgroup_uniform_control_flow = has_vk1_1,
.KHR_shader_terminate_invocation = true,
.KHR_shader_untyped_pointers = PAN_ARCH >= 9,
.KHR_spirv_1_4 = PAN_ARCH >= 10,
.KHR_storage_buffer_storage_class = true,
#ifdef PANVK_USE_WSI_PLATFORM
@ -555,6 +556,9 @@ panvk_per_arch(get_physical_device_features)(
/* VK_KHR_shader_subgroup_uniform_control_flow */
.shaderSubgroupUniformControlFlow = true,
/* VK_KHR_shader_untyped_pointers */
.shaderUntypedPointers = PAN_ARCH >= 9,
/* VK_EXT_shader_module_identifier */
.shaderModuleIdentifier = true,