Closed Bug 1255805 Opened 9 years ago Closed 7 months ago

Expose the EXT_disjoint_timer_query extension to WebGL2 and enable it by default

Categories

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

defect

Tracking

()

RESOLVED DUPLICATE of bug 1328882

People

(Reporter: fs, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: parity-chrome, parity-safari, Whiteboard: gfx-noted)

The EXT_disjoint_timer_query extension should be exposed to the WebGL 2.0 context as well as to the 1.0 context. See this PR https://github.com/KhronosGroup/WebGL/pull/1327 Spec: https://www.khronos.org/registry/webgl/extensions/EXT_disjoint_timer_query/ We are currently only exposing it only to WebGL 1.0: https://dxr.mozilla.org/mozilla-central/source/dom/canvas/WebGLContextExtensions.cpp#201
Also, Chrome seems to expose this without a flag now: https://bugs.chromium.org/p/chromium/issues/detail?id=560620
I just tried to use this extension with WebGL 1.0 and it does not seem to be available. I am using that extension for profiling my WebGL page on Chrome Canary and plan to use it for graceful degradation on slow GPUs, therefore it would be very useful to have this extension available also without the flag. https://news.ycombinator.com/item?id=8529250 says this extension is only for internal Mozilla profiling, while https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query says it is available behind a flag. I used ... .getExtension('EXT_disjoint_timer_query') and it returns returns null. I did enable webgl.enable-draft-extensions before. The same script works in Chrome Canary without a flag. Using FF 45.0.1.
(In reply to Helmut Emmelmann from comment #2) > > I used > ... .getExtension('EXT_disjoint_timer_query') > and it returns returns null. > I did enable webgl.enable-draft-extensions before. > The same script works in Chrome Canary without a flag. Using FF 45.0.1. What OS are you on?
Flags: needinfo?(emmel)
I am using Windows 8.1. As I now found out, FF 45.0.1 does not find the extension, when ANGLE is used but it works well when ANGLE is disabled (webgl.disable-angle false and webgl.force-enabled true). The nightly built 48.0a1 16-03-23 also works well without angle but crashes when using angle (a crash report was automatically sent). When webgl.enable-draft-extensions is disabled it works on nightly with angle. I tested with my own page, however the crash also occurs on the WebGL test suite http://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/ext-disjoint-timer-query.html with angle and webgl.enable-draft-extensions enabled on the nightly build.
Flags: needinfo?(emmel)
I've filed bug 1259449 on the issue.
(In reply to Jeff Muizelaar [:jrmuizel] from comment #5) > I've filed bug 1259449 on the issue. FWIW, I believe you can avoid the crash by using queryCounterEXT instead of getParameter.
- I removed the getParameter and now it does not crash any more. - the getParameter is supposed to deliver some other information as queryCounterEXT, however - as far as I know this functionality is not working in ANGLE anyway and going to be removed, see chromium Issue 595172 and Issue 657
Issue 657 should read Angle Issue 657
Depends on: 1260599, 1259449
Summary: Expose the EXT_disjoint_timer_query extension to WebGL2 → Expose the EXT_disjoint_timer_query extension to WebGL2 and enable it by default
Depends on: 1290030
I also can't make it work in FF stable v50.0 beta 51, dev 52 and nightly 53.0 with draft extensions enabled and angle on/off Intel Mac OS X 10.12 NVIDIA GeForce GT 750M
Severity: normal → S3
Status: NEW → RESOLVED
Closed: 7 months ago
Duplicate of bug: 1328882
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.