Closed Bug 1744905 Opened 2 years ago Closed 2 years ago

WebGPU doesn't work on M1 Mac

Categories

(Core :: Graphics: WebGPU, defect)

Firefox 97
ARM64
macOS
defect

Tracking

()

RESOLVED INVALID
Tracking Status
firefox97 --- affected

People

(Reporter: u673061, Unassigned)

References

()

Details

Steps to reproduce:

  1. Navigate to the test page specified in the URL field of this bug
  2. Select "WebGPU" in the pull down menu
  3. Nothing appears on the screen despite Webrenderer and WebGPU are both enabled
    The console shows the error:
    renderer init failed TypeError: can't access property "getSwapChainPreferredFormat", this.context is null
Blocks: webgpu-v1

Also, the Babylon JS example (https://playground.babylonjs.com) which involves WebGPU doesn't work either.
The console shows the following errors repeated two times:

BJS - [22:09:22]: Can not create WebGPU Device and/or context. babylon.js:16:20667
BJS - [22:09:22]: TypeError: can't access property "maxVertexBufferArrayStride", e.limits is undefined babylon.js:16:20667
Uncaught TypeError: can't access property "configure", this._context is undefined
    _configureContext https://preview.babylonjs.com/babylon.js:16
    setSize https://preview.babylonjs.com/babylon.js:16
    resize https://preview.babylonjs.com/babylon.js:16
    resize https://preview.babylonjs.com/babylon.js:16
    _compileAndRunAsync https://playground.babylonjs.com/dist/babylon.playground.js:16
    _renderFrame https://preview.babylonjs.com/babylon.js:16
    _renderLoop https://preview.babylonjs.com/babylon.js:16
babylon.js:16:1819187
    _configureContext https://preview.babylonjs.com/babylon.js:16
    setSize https://preview.babylonjs.com/babylon.js:16
    resize https://preview.babylonjs.com/babylon.js:16
    resize https://preview.babylonjs.com/babylon.js:16
    _compileAndRunAsync https://playground.babylonjs.com/dist/babylon.playground.js:16
    _renderFrame https://preview.babylonjs.com/babylon.js:16
    _renderLoop https://preview.babylonjs.com/babylon.js:16
    <anonymous> self-hosted:1178

Toji's examples are outdated, they obtain the canvas with this:

this.context = this.canvas.getContext('gpupresent');

The name for the context is "webgpu" now, so this line isn't meant to work.
I filed https://github.com/toji/webgpu-test/issues/2 for author to update.

As for the limit, please file a separate bug (and thank you!). It's a relatively new limit, and we definitely need to bring it in.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.