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.
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.

Back to Bug 1888749 Comment 2