Skip to content

microsoft/compiler: More UBO/SSBO support for translating Vulkan environment SPIR-V

Jesse Natalie requested to merge jenatali/mesa:vulkan-descriptor-ssbo into master

This series adds support for Vulkan SSBOs, and dynamic indexing of arrays of UBOs and SSBOs (not really tested). It also refactors the descriptor/resource indexing logic a little bit to prepare support for the reindex intrinsic, and fixes mixed UBO+SSBO (or image/texture) shaders which wouldn't have validated after the previous UBO change.

The logic to emit UBOs now requires that the UBO declaration be a structure rather than an array, so that we can distinguish between array-of-structure (multiple UBOs) vs just a structure, and that it have explicit strides, so the CL UBO variables were fixed up to support that.

The first couple patches also add some pre-existing passes to continue to massage the NIR into the shape that the converter needs.

/cc @tangm @egalli

Merge request reports