commit 5ecc774611a591eec4b7f67df32c4de2cd583d41
parent c9a027e5dde1563465735da91d58725464581ece
Author: Evgenii Alekseev <ealekseev@google.com>
Date: Fri, 31 Oct 2025 08:55:50 +0000
Bug 1995404 [wpt PR 55552] - WebXR Layers API: Add layer IDs to frame submit sequence, a=testonly
Automatic update from web-platform-tests
WebXR Layers API: Add layer IDs to frame submit sequence
This change introduces layer ids to the XR frame submission process via
mojom api.
The key changes are:
- vr_service.mojom: The SubmitFrameDrawnIntoTexture method now includes a layer_ids argument.This allows the VR service to receive a list of layers which modified shared buffer image for the current frame.
- XrFrameProvider: The frame submission sequence is now consists of multiple steps: ClearCachedLayersData -> SubmitLayer (for each layer) -> SubmitFrame.This new sequence allow us to collect layer ids, when 'layers' feature enabled and submit frame with a sing gfx::SyncToken.
- XRSession: The behavior of updateRenderState has been extended to support a layers feature. On ApplyPendingRenderState, if a modification to the layers composition sequence is detected, the current frame is dropped. The session then should update the layers sequence via the mojom layer manager API and requests a new frame.
BYPASS_LARGE_CHANGE_WARNING
Bug: 443963000
Change-Id: I68566baec2c3d17499381ca57c5c08e32de0c3ec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6984541
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Evgenii Alekseev (xWF) <ealekseev@google.com>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1532575}
--
wpt-commits: 5533e463136462b793c760993a51dd8a2b502f3f
wpt-pr: 55552
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testing/web-platform/tests/resources/chromium/webxr-test.js b/testing/web-platform/tests/resources/chromium/webxr-test.js
@@ -2400,7 +2400,7 @@ class MockXRPresentationProvider {
submitFrameWithTextureHandle(frameId, texture, syncToken) {}
- submitFrameDrawnIntoTexture(frameId, syncToken, timeWaited) {}
+ submitFrameDrawnIntoTexture(frameId, layer_ids, syncToken, timeWaited) {}
// Utility methods
_close() {