radv: advertise VK_EXT_pipeline_protected_access

Advertise VK_EXT_pipeline_protected_access when TMZ is supported by the
physical device.

Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41224>
This commit is contained in:
Julia Zhang 2026-02-06 14:34:00 +08:00 committed by Marge Bot
parent 665ebce297
commit d4b2e53ef3
3 changed files with 8 additions and 2 deletions

View file

@ -533,7 +533,7 @@ Vulkan 1.4 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv/gfx8+, tu/a7xx+, vn
VK_KHR_shader_subgroup_rotate DONE (anv, lvp, nvk, panvk, radv, tu, vn)
VK_KHR_vertex_attribute_divisor DONE (anv, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_EXT_host_image_copy DONE (anv, lvp, nvk/Turing+, panvk, radv/gfx10+, tu, vn)
VK_EXT_pipeline_protected_access DONE (anv/gfx12+, vn)
VK_EXT_pipeline_protected_access DONE (anv/gfx12+, radv, vn)
VK_EXT_pipeline_robustness DONE (anv, lvp, nvk, panvk, radv, v3dv, tu, vn)
Khronos extensions that are not part of any Vulkan version:

View file

@ -8,3 +8,4 @@ VK_KHR_performance_query on RADV/GFX11
VK_EXT_conservative_rasterization on panvk
shaderImageGatherExtended on pvr
static C++ stdlib required on rusticl to workaround applications using their own C++ stdlib
VK_EXT_pipeline_protected_access on RADV

View file

@ -874,6 +874,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
.EXT_pipeline_creation_cache_control = true,
.EXT_pipeline_creation_feedback = true,
.EXT_pipeline_library_group_handles = radv_enable_rt(pdev),
.EXT_pipeline_protected_access = radv_tmz_enabled(pdev),
.EXT_pipeline_robustness = !pdev->use_llvm,
.EXT_post_depth_coverage = pdev->info.gfx_level >= GFX10,
#ifdef RADV_USE_WSI_PLATFORM
@ -1118,7 +1119,11 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc
.dynamicRenderingLocalRead = true,
.maintenance5 = true,
.maintenance6 = true,
.pipelineProtectedAccess = false,
/* The pipeline flags are ignored because it's not really possible to
* control this at pipeline level.
*/
.pipelineProtectedAccess = radv_tmz_enabled(pdev),
.pipelineRobustness = true,
.hostImageCopy = radv_host_image_copy_enabled(pdev),
.pushDescriptor = true,