The Vulkan spec requires OpDecorate NonUniform on non-uniform descriptor array indices (VUID-RuntimeSpirv-NonUniform-06274).
descriptor_set(0) descriptor_binding(0)
uniform_constant storageImage2D images[4096];
u32 idx = buffer[tid];
storageImage2D img = images[idx];
native_vec4 val = imageLoad(img, coord);
Compiling this with Vcc, the generated SPIR-V has no NonUniform decoration, and I didn't find any handling of it in the shady source.
Is this an intentional omission, or just something that hasn't come up yet? If the latter, would a PR be welcome that adds something like an asm("shady::nonuniform") intrinsic that propagates as a decoration to the SPIR-V backend?
The Vulkan spec requires OpDecorate NonUniform on non-uniform descriptor array indices (VUID-RuntimeSpirv-NonUniform-06274).
Compiling this with Vcc, the generated SPIR-V has no NonUniform decoration, and I didn't find any handling of it in the shady source.
Is this an intentional omission, or just something that hasn't come up yet? If the latter, would a PR be welcome that adds something like an asm("shady::nonuniform") intrinsic that propagates as a decoration to the SPIR-V backend?