Skip to content

Revert "zink: handle vertex buffer offset overflows"

Hi Mike,

I think that the check of vertex buffer offset against maxVertexInputAttributeOffset and binding of temporary buffers to work around that can be removed.

From VkPhysicalDeviceLimits:

maxVertexInputAttributeOffset is the maximum vertex input attribute offset that can be added to the vertex input binding stride. The offset member of the VkVertexInputAttributeDescription structure must be less than or equal to this limit.

My understanding is that maxVertexInputAttributeOffset is a limit on the offset of a vertex attribute within a vertex rather than a limit on offsets for vertex buffer bindings. The value of maxVertexInputAttributeOffset is 2047 on my NVIDIA 2070 which is quite small for a buffer offset.

This wasn't causing me any actual problems but I looked into it while tracking down an unrelated problem in our driver because of the "zink: this vulkan driver is BROKEN! maxVertexInputAttributeOffset < VkMemoryRequirements::alignment\n" message.

Tested on Windows 10 w/ Nvidia RTX 2070 SUPER, driver 496.49 running Superposition and the Mesa test suite.

@zmike

Thanks, Charles

Merge request reports