Open jimblandy opened 1 year ago
We could trivially raise it to 16 on Vulkan:
Requirement "maxPerStageDescriptorStorageBuffers >= 16" loses no further reports!
Things are more complicated on Metal and D3D12. This is documented on maxStorageBuffersPerShaderStage
on https://gpuweb.github.io/gpuweb/correspondence/ (I think this is correct though some of the newer limit changes are missing; that doc needs maintenance). Raising the guaranteed value for these means a bit less flexibility on how we allocate.
But it does seem like we might have some wiggle room to do this, if not now then later.
Maximum number of entries in the buffer argument table, per graphics or kernel function
is 31. Note https://github.com/gpuweb/gpuweb/issues/2749 mentions this limit, but doesn't end up putting it in the API because of Argument Buffers. If/when we drop support for non-argument-buffers Metal, then I think we can ignore this limit.Maximum number of Unordered Access Views in all descriptor tables across all stages
is 64.We are hitting this limit quite a lot with Unity compute shaders. Increasing the limit would enable a lot more projects that are currently failing.
We are constantly hitting this limit, and it's making browser WebGPU implementations very hard to use for anything meaningful. A default of 8 makes sense only in the context of read_write
buffers (UAVs) with a D3D11 implementation backend. However, this limit includes read only buffers (SRVs).
`GPU Info reports strongly imply that the default in the spec could be raised to 24 with no consequence.
I am hitting practical limits of 10 on the Chrome implementation which are causing me to have to implement weird workarounds when I know the underlying vulkan driver has no meaningful limit on the number of bindings.
Looking forward to a lift of this limitation too
Just to clarify: this discussion is about raising the default limit. As with other default limits, implementations can support better limits without a spec change. If there's a browser that doesn't support higher limits on a system where you think it should, please file a bug with that browser.
I filed https://issues.chromium.org/issues/366151398 about raising the limits in Dawn.
We should check whether it's feasible to raise
maxStorageBuffersPerShaderStage
, since this is something people are running into in the wild: