WebGL blitFramebuffer doesn't work in some very particular state
Categories
(Core :: Graphics: CanvasWebGL, defect, P3)
Tracking
()
People
(Reporter: kainino, Unassigned)
Details
(Keywords: regression, Whiteboard: [gfx-noted])
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Steps to reproduce:
(triager: Please label this as WebGL and cc jgilbert, who I've already talked with about this issue)
Firefox Nightly 66.0a1 (2019-01-11) (64-bit)
-
Set about:config configs:
javascript.options.shared_memory = true
webgl.max-warnings-per-context = -1 (optional) -
Download demo (attached or via
https://drive.google.com/file/d/14R4H2MPBrFjVR_ZjW8jkChNVY_982ifP/view?usp=sharing ) -
Extract and start an HTTP server.
-
Load in Firefox.
(This demo spins up a ton of threads (~30) so you may need a lot of free memory to get it to load. It takes a while to load (maybe 10 seconds on a fast machine). It won't be obvious when it finishes loading, because the screen is blank, but if it stops creating new threads it should be almost done.)
This project was built with my Emscripten patch:
https://github.com/kripken/emscripten/pull/7588
There are 3 code paths - one for WebGL 2, one for OES_vertex_array_object, and one for plain WebGL 1.
In the WebGL 2 case, it uses blitFramebuffer in blitOffscreenFramebuffer (which is basically a swapbuffers for an emulated backbuffer).
In the attached demo, you can modify which path is being used in UE4Game.js.
The blitFramebuffer call is on UE4Game.js:12976. You can edit the // <----- marked conditionals to change which path is used.
Actual results:
Renders a blank screen (only on the WebGL 2 path - the VAO and WebGL 1 paths work fine)
If you click the Fullscreen button, it will start rendering as expected.
Expected results:
Should render the Epic Zen Garden (Expected result can be seen by changing the conditionals mentioned above, or by clicking Fullscreen)
Reporter | ||
Comment 1•7 years ago
|
||
Never mind about the attachment, it's too large to attached on bugzilla (75 MB). Please use the link instead.
Reporter | ||
Updated•7 years ago
|
Comment 2•6 years ago
|
||
:jgilbert, can you take a look?
Updated•6 years ago
|
Updated•6 years ago
|
Description
•