From 2b5dd5dca11ee27cc9ce31f3d378fd84fd300bf4 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Fri, 27 Mar 2026 09:47:26 +0100 Subject: [PATCH] panvk: Advertise VK_EXT_rasterization_order_attachment_access Enable VK_EXT_rasterization_order_attachment_access and VK_ARM_rasterization_order_attachment_access for PAN_ARCH >= 10. All three feature flags are enabled: color, depth, and stencil rasterization order attachment access. Signed-off-by: Christian Gmeiner Reviewed-by: Lars-Ivar Hesselberg Simonsen Part-of: --- docs/features.txt | 4 ++-- docs/relnotes/new_features.txt | 2 ++ src/panfrost/vulkan/panvk_vX_physical_device.c | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 7560ea9ab5b..73d471cccd2 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -681,7 +681,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_EXT_provoking_vertex DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_EXT_queue_family_foreign DONE (anv, hasvk, hk, nvk, lvp, panvk, pvr, radv, tu, v3dv, vn) - VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn) + VK_EXT_rasterization_order_attachment_access DONE (lvp, panvk/v10+, tu, vn) VK_EXT_rgba10x6_formats DONE (panvk/v11+) VK_EXT_robustness2 DONE (anv, hasvk, hk, kk, lvp, nvk, panvk/v10+, pvr, radv, tu, v3dv, vn) VK_EXT_sample_locations DONE (anv, hasvk, hk, kk, lvp, nvk, radv, tu/a650+, vn) @@ -725,7 +725,7 @@ Khronos extensions that are not part of any Vulkan version: VK_AMD_texture_gather_bias_lod DONE (anv, radv) VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, hasvk, lvp, panvk, radv, tu, v3dv, vn) VK_ANDROID_native_buffer DONE (anv, hasvk, lvp, panvk, radv, tu, v3dv, vn) - VK_ARM_rasterization_order_attachment_access DONE (lvp, tu, vn) + VK_ARM_rasterization_order_attachment_access DONE (lvp, panvk/v10+, tu, vn) VK_ARM_scheduling_controls DONE (panvk/v10+) VK_ARM_shader_core_builtins DONE (panvk/v9+) VK_ARM_shader_core_properties DONE (panvk/v10+) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 729e75cd2f8..7e12a662d04 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -33,3 +33,5 @@ VK_EXT_shader_subgroup_vote on pvr VK_KHR_shader_subgroup_rotate on pvr VK_KHR_shader_subgroup_uniform_control_flow on pvr VK_EXT_subgroup_size_control on pvr +VK_EXT_rasterization_order_attachment_access on panvk +VK_ARM_rasterization_order_attachment_access on panvk diff --git a/src/panfrost/vulkan/panvk_vX_physical_device.c b/src/panfrost/vulkan/panvk_vX_physical_device.c index ed2959abed3..dce50e17bba 100644 --- a/src/panfrost/vulkan/panvk_vX_physical_device.c +++ b/src/panfrost/vulkan/panvk_vX_physical_device.c @@ -194,6 +194,7 @@ panvk_per_arch(get_physical_device_extensions)( .EXT_primitive_topology_list_restart = true, .EXT_provoking_vertex = true, .EXT_queue_family_foreign = true, + .EXT_rasterization_order_attachment_access = PAN_ARCH >= 10, .EXT_rgba10x6_formats = PAN_ARCH >= 11, .EXT_robustness2 = PAN_ARCH >= 10, .EXT_sampler_filter_minmax = PAN_ARCH >= 10, @@ -235,6 +236,7 @@ panvk_per_arch(get_physical_device_extensions)( .ARM_shader_core_builtins = PAN_ARCH >= 9, .ARM_shader_core_properties = has_vk1_1, .ARM_scheduling_controls = PAN_ARCH >= 10, + .ARM_rasterization_order_attachment_access = PAN_ARCH >= 10, }; } @@ -723,6 +725,11 @@ panvk_per_arch(get_physical_device_features)( .presentAtRelativeTime = true, .presentAtAbsoluteTime = true, #endif + + /* VK_EXT_rasterization_order_attachment_access */ + .rasterizationOrderColorAttachmentAccess = PAN_ARCH >= 10, + .rasterizationOrderDepthAttachmentAccess = PAN_ARCH >= 10, + .rasterizationOrderStencilAttachmentAccess = PAN_ARCH >= 10, }; }