Closed Bug 1388299 Opened 8 years ago Closed 4 years ago

Enable OffscreenCanvas with WebGL 2

Categories

(Core :: Graphics: CanvasWebGL, enhancement, P3)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1736177
Webcompat Priority P1
Tracking Status
firefox57 --- wontfix

People

(Reporter: jujjyl, Unassigned)

References

Details

(Keywords: dev-doc-needed, Whiteboard: gfx-noted)

It looks like OffscreenCanvas-based WebGL 2 contexts do not have the .commit() function. Enabling pref gfx.offscreencanvas.enabled to true, and running in web page console in Firefox Nightly 57.0a1 (2017-08-07) (64-bit) on Windows 10: > > new OffscreenCanvas(128,128).getContext('webgl').commit() > undefined > > new OffscreenCanvas(128,128).getContext('webgl2').commit() > TypeError: (new OffscreenCanvas(...)).getContext(...).commit is not a function I wonder if this is due to some WebGL 2 specific enable check missing, or if there is something more fundamental that is needed to enable WebGL 2 on OffscreenCanvases?
(In reply to Jukka Jylänki from comment #0) > It looks like OffscreenCanvas-based WebGL 2 contexts do not have the > .commit() function. Enabling pref gfx.offscreencanvas.enabled to true, and > running in web page console in Firefox Nightly 57.0a1 (2017-08-07) (64-bit) > on Windows 10: > > > > new OffscreenCanvas(128,128).getContext('webgl').commit() > > undefined > > > new OffscreenCanvas(128,128).getContext('webgl2').commit() > > TypeError: (new OffscreenCanvas(...)).getContext(...).commit is not a function > > I wonder if this is due to some WebGL 2 specific enable check missing, or if > there is something more fundamental that is needed to enable WebGL 2 on > OffscreenCanvases? According to the spec, https://wiki.whatwg.org/wiki/OffscreenCanvas, commit() is not belong to OffscreenCanvas. We already have it at WebGLRenderingContext when OffscreenCanvas is enabled. One thing you might be interested is our OffscreenCanvasRenderingContext2D::commit() is not implemented yet, https://dxr.mozilla.org/mozilla-central/source/servo/components/script/dom/webidls/CanvasRenderingContext2D.webidl#28
Priority: -- → P3
Whiteboard: gfx-noted
(In reply to Daosheng Mu[:daoshengmu] from comment #1) > (In reply to Jukka Jylänki from comment #0) > > I wonder if this is due to some WebGL 2 specific enable check missing, or if > > there is something more fundamental that is needed to enable WebGL 2 on > > OffscreenCanvases? > > According to the spec, https://wiki.whatwg.org/wiki/OffscreenCanvas, > commit() is not belong to OffscreenCanvas. Sorry, I meant to write "if there is something more fundamental that is needed to enable WebGL 2 on GL contexts based on OffscreenCanvases?" Like the code shows, it is not attempting to access .commit() on OffscreenCanvas, but on a WebGL 1/2 context obtained from it.
Depends on: 1422862
Webcompat Priority: --- → P1

There were open questions about commit but otherwise OffscreenCanvas WebGL2 was implemented in with bug 1736177.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.