RESOLVED FIXED275043
[WebGPU] white screen on noclip.website
https://bugs.webkit.org/show_bug.cgi?id=275043
Summary [WebGPU] white screen on noclip.website
Jasper St. Pierre
Reported 2024-06-02 21:30:41 PDT
You can try out a preview WebGPU version of noclip.website here: https://noclip.website/?webgpu#mkds/cross_course My version of Safari Technology Preview supports a large number of WebGPU samples and examples, but it seems to break on this with a white screen and no error message, while it works on Firefox and Chrome. Some relatively strange things I'm doing in noclip's renderer that you might not have experienced elsewhere: * I use one giant dynamic uniform buffer for my entire scene. * I render to an offscreen texture, and then copyTextureToTexture to the onscreen texture. * I'm using naga to generate the shaders, which might lead to some strangely-written shaders. Happy to provide advice or help in case you need help narrowing the issue down.
Attachments
upper right corner of the website (169.59 KB, image/png)
2024-06-03 11:38 PDT, Mike Wyrzykowski
no flags
Radar WebKit Bug Importer
Comment 1 2024-06-02 23:52:27 PDT
Mike Wyrzykowski
Comment 2 2024-06-03 08:39:02 PDT
Is this reproducing with the latest version of Safari Technology Preview 195 https://developer.apple.com/safari/resources/ ? If it reproduces on STP 195, can you please update this issue with the Mac Model Identifier, e.g., Mac14,14 as it may be device specific? I do not reproduce on a Mac14,14
Mike Wyrzykowski
Comment 3 2024-06-03 08:44:42 PDT
Also would be interesting to know if you see any errors via the shader compilation, GPUShaderModule.getCompilationInfo, or any validation errors via GPUDevice.pushErrorScope("validation") / GPUDevice.popErrorScope("validation")
Mike Wyrzykowski
Comment 4 2024-06-03 08:49:05 PDT
I tried STP 195 on a Mac14,14 and I don't reproduce, but maybe I am doing something wrong.
Jasper St. Pierre
Comment 5 2024-06-03 11:14:47 PDT
Oh, interesting, I made some small changes last night and didn't re-test on my MacBook. Seems like the change I made fixed it. It seems like it's related to holes in the render pass attachments. I've put back the code [0] which has broken Safari again. I tried to recreate it in a simpler repro and wasn't able to. [0] https://github.com/magcius/noclip.website/commit/38952d24352ef21c232019de2524a213d3c7fd43
Jasper St. Pierre
Comment 6 2024-06-03 11:15:38 PDT
For reference, my hardware is a 13-inch M1 2020, Apple M1, running Sonoma 14.4.1, Safari Technology Preview 195.
Mike Wyrzykowski
Comment 7 2024-06-03 11:25:08 PDT
Oh that seems like the bug, thanks for narrowing that down, I will fix this. I reproduce now with the change rolled-back
Mike Wyrzykowski
Comment 8 2024-06-03 11:38:23 PDT
Created attachment 471577 [details] upper right corner of the website
Mike Wyrzykowski
Comment 9 2024-06-03 11:38:36 PDT
Looks better now
Mike Wyrzykowski
Comment 10 2024-06-03 12:46:20 PDT
Jasper St. Pierre
Comment 11 2024-06-03 12:48:56 PDT
Thanks! I'm surprised this doesn't have a CTS test for it.
Mike Wyrzykowski
Comment 12 2024-06-03 16:32:24 PDT
https://gpuweb.github.io/cts/standalone/?q=webgpu:api,validation,render_pass,attachment_compatibility,* attempts to test this, but I think it is incomplete as STP 195 passes all the cases locally
EWS
Comment 13 2024-06-04 09:52:33 PDT
Committed 279704@main (858f0966395a): <https://commits.webkit.org/279704@main> Reviewed commits have been landed. Closing PR #29470 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.