Closed Bug 1954080 Opened 10 months ago Closed 3 months ago

[meta] WebGPU: Project Prismatic doesn't work as it should

Categories

(Core :: Graphics: WebGPU, defect)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: ErichDonGubler, Assigned: aleiserson)

References

(Depends on 1 open bug, Blocks 1 open bug, )

Details

(Keywords: meta)

Extracted from a report by Jukka Jylänki in bug 1912550, comment 8:


A Unity games company Stratton Studios has been developing a really impressive looking Unity WebGPU game, that can be visited at https://play.projectprismatic.com/

Runs really great on Chrome, and attempted today to see how it would run on Firefox Nightly. That leads to this deterministic occurring crash at startup:

https://crash-stats.mozilla.org/report/index/b83b17cd-a75c-49bb-b814-e226c0250314#tab-details

STR:

Visit https://play.projectprismatic.com/
Wait for a while for the game to load. (that will take a minute or two) There is an intro video that plays while the game is loading.
Once the game has loaded, the tab will show the "Gah. Your tab just crashed." crash dialog.

E.g. another crash dump: https://crash-stats.mozilla.org/report/index/d6550fc1-4d57-4bba-8182-8e34b0250314

Keywords: crash
See Also: → webgpu-unity-demos
Depends on: 1958017

The failure messages are truncated (which reminds me that I intended to file an issue for this -- now filed as bug 1960041), so those warnings aren't the actual problem. The actual problem is wgpu#7410 Vertex-pulling transform generates invalid metal code in certain cases, fixed in wgpu#7458 [naga msl-out] Fix truncation of pulled vertices, and I believe that was in the wgpu update that just landed. I hadn't previously linked that fix to this bug, but it was linked to the unity demos bug.

No longer a crash after fixing bug 1878804.

Depends on: 1878804
Keywords: crash
Depends on: 1960426
Keywords: meta
Summary: WebGPU: Project Prismatic cannot run → [meta] WebGPU: Project Prismatic doesn't work as it should
Depends on: 1962844

The game now (also, or maybe as a replacement?) seems to be hosted at https://www.crazygames.com/game/project-prismatic, as indicated by bug 1962844. Since that page seems to get further, I'll replace the URL for this bug.

Depends on: 1968102
Depends on: 1968122

On my Linux box, I get the following failures:

Uncaptured WebGPU error: Not enough memory left.
Validation: Not enough memory left.
2078 - V2.framework.js.br:9:41878
Uncaptured WebGPU error: Texture with '' label is invalid
Validation: Texture with '' label is invalid
2078 - V2.framework.js.br:9:41878
Uncaptured WebGPU error: TextureView with '' label is invalid
Validation: TextureView with '' label is invalid
2078 - V2.framework.js.br:9:41878
Video is paused play.projectprismatic.com:403:25
Uncaptured WebGPU error: In a pass parameter, caused by: Encoder is invalid
Validation: In a pass parameter, caused by: Encoder is invalid
2078 - V2.framework.js.br:9:41878

This currently works for me on Windows but not on macOS

Actually, my previous comment was wrong. I had webgpu disabled. After enabling it, it runs.

Assignee: nobody → aleiserson

Project prismatic runs on macOS, Bug 1960426 will also be resolved next time we vendor wgpu.

No longer blocks: webgpu-mvp-apps-macos

Can confirm that Project Prismatic works as it should now. :aleiserson, should be maybe close this and file follow-up for, e.g., perf. issues?

Flags: needinfo?(aleiserson)

Yes, I will close this as fixed.

I still see rendering briefly freeze sometimes near the top of the stairs. The main graphics stop updating for a fraction of a second and then resume. The HUD never stops updating. The profile suggests CPU saturation and points to known bottlenecks (Queue.writeBuffer and resource tracking). I am not sure if this is entirely our performance issue or also has to do with how the game is managing workload during periods of high demand.

Status: NEW → RESOLVED
Closed: 3 months ago
Flags: needinfo?(aleiserson)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.