From 7a9f14d3c2b1470703fb68216c40fc0572f94815 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 22 Nov 2024 17:12:47 -0800 Subject: [PATCH] panvk: advertise VK_EXT_provoking_vertex Signed-off-by: Benjamin Lee Reviewed-by: Rebecca Mckeever Reviewed-by: Boris Brezillon Part-of: --- docs/features.txt | 2 +- src/panfrost/vulkan/panvk_physical_device.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index fabc421aedb..c65e2d9b4b5 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -628,7 +628,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, nvk, radv/gfx10+, tu) VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn) VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn) - VK_EXT_provoking_vertex DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn) + VK_EXT_provoking_vertex DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn) VK_EXT_queue_family_foreign DONE (anv, hasvk, nvk, lvp, panvk, radv, tu, v3dv, vn) VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn) VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn) diff --git a/src/panfrost/vulkan/panvk_physical_device.c b/src/panfrost/vulkan/panvk_physical_device.c index 7f0b635dbc5..ca4f2464642 100644 --- a/src/panfrost/vulkan/panvk_physical_device.c +++ b/src/panfrost/vulkan/panvk_physical_device.c @@ -246,6 +246,7 @@ get_device_extensions(const struct panvk_physical_device *device, .EXT_pipeline_creation_feedback = true, .EXT_pipeline_robustness = true, .EXT_private_data = true, + .EXT_provoking_vertex = true, .EXT_queue_family_foreign = true, .EXT_sampler_filter_minmax = arch >= 10, .EXT_shader_module_identifier = true, @@ -389,6 +390,10 @@ get_features(const struct panvk_physical_device *device, /* VK_EXT_custom_border_color */ .customBorderColors = true, + /* VK_EXT_provoking_vertex */ + .provokingVertexLast = true, + .transformFeedbackPreservesProvokingVertex = false, + /* v7 doesn't support AFBC(BGR). We need to tweak the texture swizzle to * make it work, which forces us to apply the same swizzle on the border * color, meaning we need to know the format when preparing the border @@ -784,6 +789,10 @@ get_device_properties(const struct panvk_instance *instance, .defaultRobustnessImages = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT, + /* VK_EXT_provoking_vertex */ + .provokingVertexModePerPipeline = false, + .transformFeedbackPreservesTriangleFanProvokingVertex = false, + /* VK_KHR_vertex_attribute_divisor */ /* We will have to restrict this a bit for multiview */ .maxVertexAttribDivisor = UINT32_MAX,