This is a bindless companion feature request.
With bindless developers will have much more GPU-centric algorithms that use storage buffers as large memory allocations with custom data in it. They might pass a "pointer" to the data to their shaders with an offset in storage buffer (through an immediate). At the moment to view the content of a storage buffer as any type at any offset, they need to declare it as a array<u32/uvec4> and manually index into it.
This is awkward. Instead we should have some way to view a range of a storage buffer as a struct type (with defined OOB behavior).
This is a bindless companion feature request.
With bindless developers will have much more GPU-centric algorithms that use storage buffers as large memory allocations with custom data in it. They might pass a "pointer" to the data to their shaders with an offset in storage buffer (through an immediate). At the moment to view the content of a storage buffer as any type at any offset, they need to declare it as a
array<u32/uvec4>and manually index into it.This is awkward. Instead we should have some way to view a range of a storage buffer as a struct type (with defined OOB behavior).