Skip to content

v3dv/pipeline: track descriptor maps per stage, not per pipeline

One of the conclusions of our recent clean up on the limits was that the pipeline limits needed to be the per-stage limits multiplied by the number of stages.

But until now we only have a set of descriptor maps for the full pipeline. That would work if we could set the same limit per pipeline that per stage, but that is not the case. So if, for example, we have the fragment shader using V3D_MAX_TEXTURE_SAMPLERS textures, and then the vertex shader, with a different descriptor set, using one texture, we would get an index greater that V3D_MAX_TEXTURE_SAMPLERS. We assert that index as an error on the vulkan backend, but fwiw, it would be also asserted on the compiler.

With this commit we track a descriptor map per stage, although we reuse the one for the vertex shader for the vertex bin.

Edited by Alejandro Piñeiro

Merge request reports