Adds support for storage buffers via the buffer input argument. These need to be treated a bit different than uniforms.
Revise the type system to that we can define any SpirV type from a string. Test added too.
The internal bytecode now always specifies SpirV types as strings. So that the bytecode can be serialized using JSON (we use that in the tests).
The SpirV code generator now traces objects in a much cleaner way, so that we know much more about the object. This was needed to work with the SpirV OpAccessChain in a good way. But this also makes it much easier to things like type inference soon.
Further steps (after this PR):
Use this in wgpu-py to implement a simple utility to run a specified shader on some Numpy arrays.
Use that utility in python-shader to actually test our shaders.
buffer
input argument. These need to be treated a bit different than uniforms.OpAccessChain
in a good way. But this also makes it much easier to things like type inference soon.Further steps (after this PR):
wgpu-py
to implement a simple utility to run a specified shader on some Numpy arrays.python-shader
to actually test our shaders.