I'd recommend opening the web console when you get unexpected page output like this. Looking at it myself yields an immediate lead for resolving this: ``` Uncaught TypeError: getObject(...).dispatchWorkgroupsIndirect is not a function __wbg_dispatchWorkgroupsIndirect_cfc6272439398a21 https://linebender.org/velato/with_winit_bin.js:838 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 __wbg_queueMicrotask_481971b0d87f3dd4 https://linebender.org/velato/with_winit_bin.js:925 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 promise callback*__wbg_get_imports/imports.wbg.__wbg_then_a73caa9a87991566 https://linebender.org/velato/with_winit_bin.js:1424 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 __wbg_queueMicrotask_481971b0d87f3dd4 https://linebender.org/velato/with_winit_bin.js:925 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 promise callback*__wbg_get_imports/imports.wbg.__wbg_then_a73caa9a87991566 https://linebender.org/velato/with_winit_bin.js:1424 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 __wbg_queueMicrotask_481971b0d87f3dd4 https://linebender.org/velato/with_winit_bin.js:925 __wbg_finalize_init https://linebender.org/velato/with_winit_bin.js:1552 __wbg_init https://linebender.org/velato/with_winit_bin.js:1588 async* https://linebender.org/velato/:5 with_winit_bin.js:838:25 ``` Indirect dispatch is blocked on at least [bug 1786566](https://bugzilla.mozilla.org/show_bug.cgi?id=1786566). You can experiment with our current (definitely not safe) implementation in a sandbox with `dom.webgpu.indirect-dispatch.enabled` set to `true` in [`about:config`](about:config) in the meantime.
Bug 1888749 Comment 2 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I'd recommend opening the web console when you get unexpected page output like this. Looking at it myself yields an immediate lead for resolving this: ``` Uncaught TypeError: getObject(...).dispatchWorkgroupsIndirect is not a function __wbg_dispatchWorkgroupsIndirect_cfc6272439398a21 https://linebender.org/velato/with_winit_bin.js:838 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 __wbg_queueMicrotask_481971b0d87f3dd4 https://linebender.org/velato/with_winit_bin.js:925 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 promise callback*__wbg_get_imports/imports.wbg.__wbg_then_a73caa9a87991566 https://linebender.org/velato/with_winit_bin.js:1424 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 __wbg_queueMicrotask_481971b0d87f3dd4 https://linebender.org/velato/with_winit_bin.js:925 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 promise callback*__wbg_get_imports/imports.wbg.__wbg_then_a73caa9a87991566 https://linebender.org/velato/with_winit_bin.js:1424 __wbg_adapter_66 https://linebender.org/velato/with_winit_bin.js:248 real https://linebender.org/velato/with_winit_bin.js:209 __wbg_queueMicrotask_481971b0d87f3dd4 https://linebender.org/velato/with_winit_bin.js:925 __wbg_finalize_init https://linebender.org/velato/with_winit_bin.js:1552 __wbg_init https://linebender.org/velato/with_winit_bin.js:1588 async* https://linebender.org/velato/:5 with_winit_bin.js:838:25 ``` Indirect dispatch is blocked on at least [bug 1786566](https://bugzilla.mozilla.org/show_bug.cgi?id=1786566). You can experiment with our current (definitely not safe) implementation in a sandbox with `dom.webgpu.indirect-dispatch.enabled` set to `true` in [`about:config`](about:config) in the meantime. This will expose the `GPUComputePassEncoder.dispatchWorkgroupsIndirect` method and at least let JS execution move on from where it's currently getting blocked.