[WebGPU] with dx12-no-readback enabled, browser hangs, flashes white and falls back to sw-wr on https://codepen.io/search/pens?q=webgpu
Categories
(Core :: Graphics: WebGPU, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox122 | --- | disabled |
| firefox123 | --- | disabled |
| firefox124 | --- | disabled |
| firefox125 | --- | fixed |
People
(Reporter: mayankleoboy1, Assigned: sotaro)
References
(Regression, )
Details
(Keywords: regression)
Attachments
(4 files)
- Use latest Nightly (enable webgpu and the dx12-no-readback thingy)
- Login to codepen
- Go to https://codepen.io/search/pens?q=webgpu
- Wait for the page to load completely. Codepen should load the assets of all the 6 demos in the background.
At this stage the tab would use 1GB+ memory
3.5 Maybe try hovering mouse over one of the demos so that it starts playing. - Try clicking on one of the dropdowns - "sort by" or "search depth" , or try clicking on UI element of the browser
AR: The browser freezes. It eventually flashes white and falls back to sw-wr
ER: Not so
This may just be a case of too many webgpu things in a single tab.
| Reporter | ||
Comment 1•1 year ago
|
||
| Reporter | ||
Comment 2•1 year ago
|
||
"Good" log.
dx-12-no-readback thingy is disabled.
Page behaves as expected with no hang/crash.
| Reporter | ||
Comment 3•1 year ago
|
||
"Bad" log.
dx12-no-readback is ENABLED.
Page froze, the whole browser froze for some time. Then it flashed whit, and fallback to sw-wr.
| Reporter | ||
Updated•1 year ago
|
| Reporter | ||
Updated•1 year ago
|
| Reporter | ||
Updated•1 year ago
|
Comment 4•1 year ago
|
||
Set release status flags based on info from the regressing bug 1856787
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Reporter | ||
Comment 5•1 year ago
|
||
I dont think there is anything special about the page https://codepen.io/search/pens?q=webgpu ....
If you open a simple demo like https://webgpu.github.io/webgpu-samples/samples/helloTriangle on 6 different tabs, you get similar bug.
| Assignee | ||
Comment 6•1 year ago
•
|
||
When the problem happened, Renderer thread was blocked at Renderer11::flush(Context11 *context11) that was called under Renderer::draw_frame()
CanvasRender thread was blocked at device->CreateTexture2D() in ExternalTextureD3D11::GetSnapshot() or ExternalTextureD3D11::Create().
Further, there was a case that when Renderer thread was blocked at Renderer11::flush(Context11 *context11), CanvasRender thread was not blocked.
Comment 7•1 year ago
|
||
Set release status flags based on info from the regressing bug 1856787
| Assignee | ||
Comment 8•1 year ago
|
||
context4->Wait(fence, mFenceValue) in FenceD3D11::Wait() seemed to trigger the hang at ID3D11DeviceContext::Flush()
| Assignee | ||
Comment 9•1 year ago
|
||
| Assignee | ||
Comment 10•1 year ago
|
||
FenceHandle handling in WebGPUParent was wrong. The FenceHandle exists for each device.
Comment 11•1 year ago
|
||
Comment 12•1 year ago
|
||
| bugherder | ||
Updated•1 year ago
|
Description
•