Add indirect compute dispatch support for WebGPU #8332
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #8000
Add indirect compute dispatch support for WebGPU
Adds support for indirect compute dispatch on WebGPU, allowing compute shaders to generate dispatch parameters for subsequent compute shaders. This enables GPU-driven workloads where the number of workgroups is determined dynamically on the GPU without CPU readback.
New Public API
This closely resembles existing indirect drawing API.
GraphicsDevice
maxIndirectDispatchCountgetIndirectDispatchSlot(count?)indirectDispatchBufferCompute
setupIndirectDispatch(slotIndex, buffer?)Usage
setupIndirectDispatchis called each frameExample
New
indirect-dispatchexample demonstrates depth-based edge detection: