zink: fix vertex-stride wrangling

Erik Faye-Lund requested to merge kusma/mesa:zink-fix-vertex-stride into master

Because Gallium and Vulkan disagree on what kind of state strides is, we need to wrangle this state a bit, and up until now, we've been simply fixing this up while binding the vertex-buffers.

But this isn't robust, because the vertex element state might be bound after the vertex-buffer state was bound. We also need to take binding-map into account, which we're currently missing as well.

Instead, w need to deal with this at a place where we know what's being used for both of these. So let's do this during draw instead.

Ideally, we'd also do some dirty-tracking to know if this is needed or not, but I believe Mike has some patches in this areas lined up, so it might be easier to wait for those.

Fixes: 8d46e35d ("zink: introduce opengl over vulkan") Closes: #3661 (closed) Closes: #4125 (closed)

Edited by Erik Faye-Lund

Merge request reports