[x] fix gl storage buffer bind offset in fragment shader (needs to start at bind slot 8)
[x] test via sokol-samples:
[x] macOS + Metal
[x] macOS + GL
[x] iOS + Metal
[x] iOS + GL
[x] Windows + D3D11
[x] Windows + GL
[x] reset state cache fails after clear buffer bindings (too many storage buffer bind slots?) => fails at bind index 16
[x] ...check if binding fragment storage buffer works (e.g. sokol-shdc uses the right offset, bind slot base must be 0 for vertex and 8 for fragment stage)
[x] Linux + GL
[x] Android + GL
[x] web + WebGL2
[x] web + WebGPU
[x] fix error lines being off-by-2 (or sometimes off-by-1)
[x] only allow readonly storage buffers (for now)
[x] fix storage buffer struct alignment (can be 4, 8, 12 or 16) => just use the 'outer' struct size as alignment
[x] cannot use struct size as alignment since alignment must be a power of two (error: requested alignment is not a power of 2)
...which then actually turned into a major refactoring...
Related sokol PR: https://github.com/floooh/sokol/pull/1007
TODO:
fix storage buffer struct alignment (can be 4, 8, 12 or 16) => just use the 'outer' struct size as alignmentrecursively mark all matrixes in storage buffers as col-majorthis whole col-major patching does in fact nothing and has been removed