[Webkit-unassigned] [Bug 234926] Dynamic indexing into a fixed-size uniform array with GLSL makes the Safari tab hang

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 7 03:06:54 PST 2022


--- Comment #4 from Rob Swain <robert.swain at gmail.com> ---
Created attachment 448578

  --> https://bugs.webkit.org/attachment.cgi?id=448578&action=review

3d scene example that reproduces the problem

The problem I am experiencing is implemented as WGSL shader code in the open source bevy game engine. As mentioned, the naga library is parsing WGSL and outputting GLSL for consumption by WebGL2 APIs. I am not currently writing any WebGL2/GLSL code myself, rather I am writing Rust/WGSL and compiling it to wasm.

However, I tried to implement a small test case which used a fullscreen triangle and the uniform buffer, structs, and function as described above, and I was unable to reproduce but I'm not sure I'm doing everything in the same way as in the code where I can reproduce the problem 100% consistently.

In the interest of providing you all a way of reproducing the problem, I have attached a zip file containing a directory containing some html, js, and wasm that is a simple scene with a ground plane, a cube, camera, and a light. If you unpack this somewhere, and serve the directory, then open the 3d_scene.html in Safari 15.2 with "WebGL via Metal" enabled (i.e. default configuration) then you should only see a white background with diagonal black lines (some CSS style that makes it easier to see when the canvas is actually being rendered to) and the tab hangs. If I disabled "WebGL via Metal", close Safari (I don't know if this is necessary when changing the configuration but I thought it might be), open it again and open the page, after maybe 15s or so, the scene renders correctly.

Let me know if that is enough or if you need something more. Hopefully it suffices. Thank you for the support!

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220107/4bb8c03c/attachment.htm>

More information about the webkit-unassigned mailing list