panvk: advertise VK_EXT_provoking_vertex

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32273>
This commit is contained in:
Benjamin Lee 2024-11-22 17:12:47 -08:00 committed by Marge Bot
parent fec20b26dd
commit 7a9f14d3c2
2 changed files with 10 additions and 1 deletions

View file

@ -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_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_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_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_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_rasterization_order_attachment_access DONE (lvp, tu, vn)
VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn)

View file

@ -246,6 +246,7 @@ get_device_extensions(const struct panvk_physical_device *device,
.EXT_pipeline_creation_feedback = true, .EXT_pipeline_creation_feedback = true,
.EXT_pipeline_robustness = true, .EXT_pipeline_robustness = true,
.EXT_private_data = true, .EXT_private_data = true,
.EXT_provoking_vertex = true,
.EXT_queue_family_foreign = true, .EXT_queue_family_foreign = true,
.EXT_sampler_filter_minmax = arch >= 10, .EXT_sampler_filter_minmax = arch >= 10,
.EXT_shader_module_identifier = true, .EXT_shader_module_identifier = true,
@ -389,6 +390,10 @@ get_features(const struct panvk_physical_device *device,
/* VK_EXT_custom_border_color */ /* VK_EXT_custom_border_color */
.customBorderColors = true, .customBorderColors = true,
/* VK_EXT_provoking_vertex */
.provokingVertexLast = true,
.transformFeedbackPreservesProvokingVertex = false,
/* v7 doesn't support AFBC(BGR). We need to tweak the texture swizzle to /* 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 * 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 * 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 = .defaultRobustnessImages =
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT, VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT,
/* VK_EXT_provoking_vertex */
.provokingVertexModePerPipeline = false,
.transformFeedbackPreservesTriangleFanProvokingVertex = false,
/* VK_KHR_vertex_attribute_divisor */ /* VK_KHR_vertex_attribute_divisor */
/* We will have to restrict this a bit for multiview */ /* We will have to restrict this a bit for multiview */
.maxVertexAttribDivisor = UINT32_MAX, .maxVertexAttribDivisor = UINT32_MAX,