From 4dbdd4c0ee1c6737fe7d7b5758e3b369755b3ea2 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 6 May 2026 13:44:12 +0200 Subject: [PATCH] panvk: Advertise VK_EXT_extended_dynamic_state3 Signed-off-by: Christian Gmeiner Reviewed-by: Lars-Ivar Hesselberg Simonsen Part-of: --- docs/features.txt | 2 +- docs/relnotes/new_features.txt | 1 + .../vulkan/panvk_vX_physical_device.c | 34 +++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 386a8f1483a..29197179949 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -634,7 +634,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_display_control DONE (anv, hasvk, nvk, panvk, radv, tu) VK_EXT_display_surface_counter DONE (anv, lvp, nvk, panvk, radv, tu, vn) VK_EXT_dynamic_rendering_unused_attachments DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn) - VK_EXT_extended_dynamic_state3 DONE (anv, hk, kk, lvp, nvk, pvr, radv, tu, vn) + VK_EXT_extended_dynamic_state3 DONE (anv, hk, kk, lvp, nvk, panvk, pvr, radv, tu, vn) VK_EXT_external_memory_acquire_unmodified DONE (anv, panvk, radv, vn) VK_EXT_external_memory_dma_buf DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_EXT_external_memory_host DONE (anv, dzn, hasvk, lvp, radv) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index e1911a8c6b4..81c666f1278 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -9,3 +9,4 @@ 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 +VK_EXT_extended_dynamic_state3 on panvk diff --git a/src/panfrost/vulkan/panvk_vX_physical_device.c b/src/panfrost/vulkan/panvk_vX_physical_device.c index a0845b6987e..84a9e0af2b1 100644 --- a/src/panfrost/vulkan/panvk_vX_physical_device.c +++ b/src/panfrost/vulkan/panvk_vX_physical_device.c @@ -154,6 +154,7 @@ panvk_per_arch(get_physical_device_extensions)( .EXT_dynamic_rendering_unused_attachments = true, .EXT_extended_dynamic_state = true, .EXT_extended_dynamic_state2 = true, + .EXT_extended_dynamic_state3 = true, .EXT_external_memory_acquire_unmodified = true, .EXT_external_memory_dma_buf = true, .EXT_global_priority = true, @@ -498,6 +499,39 @@ panvk_per_arch(get_physical_device_features)( .extendedDynamicState2LogicOp = true, .extendedDynamicState2PatchControlPoints = false, + /* VK_EXT_extended_dynamic_state3 */ + .extendedDynamicState3TessellationDomainOrigin = false, + .extendedDynamicState3DepthClampEnable = true, + .extendedDynamicState3PolygonMode = false, + .extendedDynamicState3RasterizationSamples = true, + .extendedDynamicState3SampleMask = true, + .extendedDynamicState3AlphaToCoverageEnable = true, + .extendedDynamicState3AlphaToOneEnable = false, + .extendedDynamicState3LogicOpEnable = true, + .extendedDynamicState3ColorBlendEnable = true, + .extendedDynamicState3ColorBlendEquation = true, + .extendedDynamicState3ColorWriteMask = true, + .extendedDynamicState3RasterizationStream = false, + .extendedDynamicState3ConservativeRasterizationMode = PAN_ARCH >= 11, + .extendedDynamicState3ExtraPrimitiveOverestimationSize = false, + .extendedDynamicState3DepthClipEnable = true, + .extendedDynamicState3SampleLocationsEnable = false, + .extendedDynamicState3ColorBlendAdvanced = false, + .extendedDynamicState3ProvokingVertexMode = false, + .extendedDynamicState3LineRasterizationMode = true, + .extendedDynamicState3LineStippleEnable = false, + .extendedDynamicState3DepthClipNegativeOneToOne = false, + .extendedDynamicState3ViewportWScalingEnable = false, + .extendedDynamicState3ViewportSwizzle = false, + .extendedDynamicState3CoverageToColorEnable = false, + .extendedDynamicState3CoverageToColorLocation = false, + .extendedDynamicState3CoverageModulationMode = false, + .extendedDynamicState3CoverageModulationTableEnable = false, + .extendedDynamicState3CoverageModulationTable = false, + .extendedDynamicState3CoverageReductionMode = false, + .extendedDynamicState3RepresentativeFragmentTestEnable = false, + .extendedDynamicState3ShadingRateImageEnable = false, + /* VK_EXT_attachment_feedback_loop_dynamic_state */ .attachmentFeedbackLoopDynamicState = true,