Closed Bug 1641531 Opened 6 months ago Closed 6 months ago

[wpt-sync] Sync PR 23827 - Implement the ability to request XR compatibility on a WebGL context.

Categories

(Core :: WebVR, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 23827 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/23827
Details from upstream follow.

Patrick To <patrto@microsoft.com> wrote:

Implement the ability to request XR compatibility on a WebGL context.

This change is one part of a series of changes to add multi-GPU support
for VR. This CL contains the changes in Blink to request XR
compatibility on a WebGL context and send the request to the browser
process. There are two ways to do this - either calling
makeXRCompatible() on an existing WebGL context or setting the
xrCompatible flag in the context attributes:
canvas.getContext('webgl', { xrCompatible: true })

makeXRCompatible() returns a promise and sends an asynchronous request
to the browser process. Specifying the xrCompatible attribute is
synchronous, as getContext() must return a WebGL context that is
already compatible.

This CL doesn't change any functionality - the browser process
immediately returns compatibility status regardless of whether we're
XR compatible. A subsequent change will implement restarting the GPU
process if needed to be compatible with the VR headset.

This code was originally reviewed as part of a larger CL here:
https://chromium-review.googlesource.com/c/chromium/src/+/2096778

getContext('webgl2', { xrCompatible: true}) will be added in crbug.com/1087356

Bug: 876140
Change-Id: Iab6bf321d062023e7996dd5ffa84612f69ade95c

Reviewed-on: https://chromium-review.googlesource.com/2219780
WPT-Export-Revision: c19b50738f31e5b89c0578d58001df1f6b1ec418

Component: web-platform-tests → WebVR
Product: Testing → Core

CI Results

Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 4 tests and 1 subtests

Status Summary

Firefox

OK : 4
FAIL: 5

Chrome

OK : 4
FAIL: 5

Safari

OK : 4
FAIL: 5

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/webxr/webGLCanvasContext_makecompatible_reentrant.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
Verify promises from reentrant calls to makeXRCompatible() are resolved: FAIL (Chrome: FAIL, Safari: FAIL)
Verify promise from a non-reentrant to makeXRCompatible() is resolved: FAIL (Chrome: FAIL, Safari: FAIL)
/webxr/webGLCanvasContext_makecompatible_contextlost.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
A lost webglCanvasContext should not be able to set xr compatibility: FAIL (Chrome: FAIL, Safari: FAIL)
/webxr/webGLCanvasContext_create_xrcompatible.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
An XR-compatible webglCanvasContext can be created: FAIL (Chrome: FAIL, Safari: FAIL)
/webxr/xrWebGLLayer_constructor.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
Ensure that XRWebGLLayer's constructor throws appropriate errors: FAIL (Chrome: FAIL, Safari: FAIL)

Tests Disabled in Gecko Infrastructure

/webxr/webGLCanvasContext_makecompatible_reentrant.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
/webxr/webGLCanvasContext_makecompatible_contextlost.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
/webxr/webGLCanvasContext_create_xrcompatible.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)
/webxr/xrWebGLLayer_constructor.https.html: OK [Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt, GitHub], SKIP [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview] (Chrome: OK, Safari: OK)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/69f93f27d1fa
[wpt PR 23827] - Implement the ability to request XR compatibility on a WebGL context., a=testonly
https://hg.mozilla.org/integration/autoland/rev/7f8ac2c41c56
[wpt PR 23827] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.