diff --git a/src/gallium/drivers/zink/VP_ZINK_requirements.json b/src/gallium/drivers/zink/VP_ZINK_requirements.json index 6f6860048e2..0e688c4fb43 100644 --- a/src/gallium/drivers/zink/VP_ZINK_requirements.json +++ b/src/gallium/drivers/zink/VP_ZINK_requirements.json @@ -447,7 +447,8 @@ "extensions": { "VK_EXT_provoking_vertex": 1, "VK_KHR_dynamic_rendering": 1, - "VK_EXT_dynamic_rendering_unused_attachments": 1 + "VK_EXT_dynamic_rendering_unused_attachments": 1, + "VK_EXT_legacy_vertex_attributes": 1 }, "features": { "VkPhysicalDeviceDynamicRenderingFeatures": { @@ -455,6 +456,9 @@ }, "VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT": { "dynamicRenderingUnusedAttachments": true + }, + "VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT": { + "legacyVertexAttributes": true } } }, diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index 88daa74a01f..fe451b38473 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -111,6 +111,7 @@ EXTENSIONS = [ features=True), Extension("VK_EXT_shader_subgroup_ballot"), Extension("VK_EXT_shader_subgroup_vote"), + Extension("VK_EXT_legacy_vertex_attributes", alias="legacyverts", features=True, properties=True), Extension("VK_EXT_shader_atomic_float", alias="atomic_float", features=True), diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 7d5c1cbfe61..76bf19a2d14 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -742,7 +742,7 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY: - return 1; + return !screen->info.have_EXT_legacy_vertex_attributes; case PIPE_CAP_GL_CLAMP: return 0;