Closed Bug 1927409 Opened 2 years ago Closed 1 year ago

[webgpu] None of the demos on https://s-macke.github.io/WebGPU-Lab/build/index.html# render anything on Nightly

Categories

(Core :: Graphics: WebGPU, defect)

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox132 --- unaffected
firefox133 --- disabled
firefox134 --- disabled
firefox135 --- disabled

People

(Reporter: mayankleoboy1, Unassigned)

References

(Blocks 2 open bugs, Regression, )

Details

(Keywords: regression)

Attachments

(1 file)

Go to https://s-macke.github.io/WebGPU-Lab/build/index.html#

AR:

14:12:33.531 Initialize WebGPU gpu.ts:26:16
14:12:33.531 Request Adapter gpu.ts:27:16
14:12:33.533 injected firefox content.js:142:11
14:12:33.536 Uncaught (in promise) TypeError: this.adapter.requestAdapterInfo is not a function
RequestAdapterAndDevice gpu.ts:44
gpu.ts:44:46
14:12:35.390 Create Texture from Buffer: rgba8unorm textureFactory.ts:8:16
14:12:35.390 create Buffer from array buffer of size 1048576 bufferFactory.ts:53:16
14:12:35.390 Uncaught (in promise) TypeError: can't access property "createBuffer", GPU.device is undefined
createFromArrayBuffer bufferFactory.ts:57
CreateStorageBufferFromArrayBuffer gpu.ts:215
CreateTextureFromArrayBuffer textureFactory.ts:9
createTextureFromImage textureFactory.ts:65
bufferFactory.ts:57:8
14:12:40.889 Create Texture raytrace.ts:46:16
14:12:40.889 Create Texture: width: 0 height: 0 format: rgba32float type:1 texture.ts:20:16
14:12:40.892 Uncaught (in promise) TypeError: can't access property "createTexture", GPU.device is undefined
Texture texture.ts:96
CreateStorageTexture gpu.ts:176
Init raytrace.ts:47
RunOnce sidebar.ts:70
ShowSDF sidebar.ts:80
texture.ts:96:8
14:16:03.574 Source map error: request failed with status 404
Resource URL: https://s-macke.github.io/WebGPU-Lab/build/assets/js/bootstrap.bundle.min.js
Source Map URL: bootstrap.bundle.min.js.map

​

Attached file about:support —

This is because of the recent removal of GPUAdapterInfo.requestAdapterInfo, which will break downstream until they migrate. I've filed WebGPU-Lab#3 to track the fix.

Severity: -- → S3
Keywords: regression
Regressed by: 1919119

Fwiw, these demos have been broken for atleast a few months.
Even in the past, only some demos used to work and that too intermittently. So GPUAdapterInfo.requestAdapterInfo may not be the only issue.

Set release status flags based on info from the regressing bug 1919119

(In reply to Mayank Bansal from comment #3)

Fwiw, these demos have been broken for atleast a few months.
Even in the past, only some demos used to work and that too intermittently. So GPUAdapterInfo.requestAdapterInfo may not be the only issue.

Author of WebGPU-Lab here. The requestAdapterInfo bug has been fixed. (Difficult to stay up to date, when the spec changes from time to time)

The last time I checked Firefox was several months ago I tried to fix the issues to start even one demo reliably. But it was impossible. Too many issues. Currently the createQuerySet is not implemented. But according to the feature set it should be. So this is an error on the Firefox side.
I will test again. If this is the only issue I will remove the queryset logic.

Slow but steady. I added a workaround for the createQuerySet bug. Now all demos work on Firefox Nightly. Great!
On my system some demos still need a minute to be ready. Don't know why, yet.

Sebastian: Did you, by chance, try to run this on Windows? If so, you might be running into webgpu-fxc.

Flags: needinfo?(sebastian)

I test on Ubuntu. The issue is on my side. The demos in question use some very slow initialization process by calculating the signed distance field. Firefox manages only 20fps.

Flags: needinfo?(sebastian)

Now that bug 1838729 is resolved, many of the demos work! I noticed the following issues remaining:

  • 2D Light Propagation V2.0 and 2D Light By Monte Carlo Path Tracing simply do not load, with no error in the console. 😭 Strangely, this also prevents other demos from loading until a refresh of the page. EDIT: Ah, these do load, they just take a long time. Page navigation works normally after the load.

  • Benchmark: blocked on bug 1829879.

  • Diffuse Raytracing will, after some number of frames of mouse movement, remain black forever until reloaded.

  • Global Illumination prints the following to the page in red text:

    GPU error
    
    Internal error: Metal: program_source:106:5: warning: 'if' initialization statements are a C++17 extension [-Wc++17-extensions]
        LOOP_IS_REACHABLE while(true) {
        ^
    program_source:104:31: note: expanded from macro 'LOOP_IS_REACHABLE'
    #define LOOP_IS_REACHABLE if (volatile bool unpredictable_jump_over_loop = true; unpredictable_jump_over_loop)
                                  ^
    program_source:168:5: warning: 'if' initialization statements are a C++17 extension [-Wc++17-extensions]
        LOOP_IS_REACHABLE wh
    

For me,
2D Light Propagation V2.0 and 2D Light By Monte Carlo Path Tracing take a loong time (15s or so) to load without using any CPU/GPU. But they do load eventually.
Here is profile with webgpu logging preset: https://share.firefox.dev/4hCKCFS

The essence of this bug has been fixed. The remaining breakages noted in comment 10 have been moved to bug 1960430.

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

Attachment

General

Creator:
Created:
Updated:
Size: