Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0adbbc533b6015f73f71071ed81218a2bc569c0c
      
https://github.com/WebKit/WebKit/commit/0adbbc533b6015f73f71071ed81218a2bc569c0c
  Author: Sergio Villar Senin <[email protected]>
  Date:   2026-05-05 (Tue, 05 May 2026)

  Changed paths:
    A 
LayoutTests/imported/w3c/web-platform-tests/webxr/layers/xrCylinderLayer_paramValidation.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/webxr/layers/xrCylinderLayer_paramValidation.https.html
    M Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp
    M Source/WebCore/Modules/webxr/XRCylinderLayer.cpp
    M Source/WebCore/Modules/webxr/XRCylinderLayer.h
    M Source/WebCore/Modules/webxr/XRWebGLBinding.cpp
    M Source/WebCore/Modules/webxr/XRWebGLBinding.h
    M Source/WebCore/Modules/webxr/XRWebGLBinding.idl
    A Source/WebCore/Modules/webxr/XRWebGLCylinderLayerBacking.cpp
    A Source/WebCore/Modules/webxr/XRWebGLCylinderLayerBacking.h
    M Source/WebCore/Sources.txt
    M Source/WebCore/platform/xr/PlatformXR.h
    M Source/WebKit/Shared/XR/PlatformXR.serialization.in
    M Source/WebKit/UIProcess/XR/openxr/OpenXRLayer.cpp
    M Source/WebKit/UIProcess/XR/openxr/OpenXRLayer.h
    M Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp

  Log Message:
  -----------
  [WebXR Layers] Add Cylinder layer support
https://bugs.webkit.org/show_bug.cgi?id=313421

Reviewed by Dan Glastonbury.

This implements the required changes to create cylinder layers on UIProcess
side and share them with the WebProcess so that web authors could use
them in their WebXR experiences. No new IPC is needed since this uses
the changes from ee9f80f3@main in which all composition layers started
using the same message to create new layers.

As in the case of other composition layers, texture arrays are not
supported yet but they'll be eventually added.

The only platform implementation supporting the cylinder layer will
initially be the OpenXR one which supports the cylinder layer via
the XR_KHR_composition_layer_cylinder extension.

Test: 
imported/w3c/web-platform-tests/webxr/layers/xrCylinderLayer_paramValidation.https.html

* 
LayoutTests/imported/w3c/web-platform-tests/webxr/layers/xrCylinderLayer_paramValidation.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/webxr/layers/xrCylinderLayer_paramValidation.https.html:
 Added.
* Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXRWebGLLayer::endFrame):
* Source/WebCore/Modules/webxr/XRCylinderLayer.cpp:
(WebCore::XRCylinderLayer::XRCylinderLayer):
(WebCore::XRCylinderLayer::space const):
(WebCore::XRCylinderLayer::setSpace):
(WebCore::XRCylinderLayer::transform const):
(WebCore::XRCylinderLayer::setTransform):
(WebCore::XRCylinderLayer::setRadius):
(WebCore::XRCylinderLayer::setCentralAngle):
(WebCore::XRCylinderLayer::setAspectRatio):
(WebCore::XRCylinderLayer::startFrame):
(WebCore::XRCylinderLayer::recomputePose):
(WebCore::XRCylinderLayer::endFrame):
* Source/WebCore/Modules/webxr/XRCylinderLayer.h:
(WebCore::XRCylinderLayer::create):
(WebCore::XRCylinderLayer::radius const):
(WebCore::XRCylinderLayer::centralAngle const):
(WebCore::XRCylinderLayer::aspectRatio const):
(WebCore::XRCylinderLayer::space const): Deleted.
(WebCore::XRCylinderLayer::setSpace): Deleted.
(WebCore::XRCylinderLayer::transform const): Deleted.
(WebCore::XRCylinderLayer::setTransform): Deleted.
(WebCore::XRCylinderLayer::setRadius):
(WebCore::XRCylinderLayer::setCentralAngle):
(WebCore::XRCylinderLayer::setAspectRatio):
* Source/WebCore/Modules/webxr/XRWebGLBinding.cpp:
(WebCore::XRWebGLBinding::createEquirectLayer):
(WebCore::XRWebGLBinding::createCylinderLayer):
* Source/WebCore/Modules/webxr/XRWebGLBinding.h:
(WebCore::XRWebGLBinding::createCylinderLayer): Deleted.
* Source/WebCore/Modules/webxr/XRWebGLBinding.idl:
* Source/WebCore/Modules/webxr/XRWebGLCylinderLayerBacking.cpp: Added.
(WebCore::XRWebGLCylinderLayerBacking::create):
(WebCore::XRWebGLCylinderLayerBacking::XRWebGLCylinderLayerBacking):
* Source/WebCore/Modules/webxr/XRWebGLCylinderLayerBacking.h: Copied from 
Source/WebCore/Modules/webxr/XRCylinderLayer.cpp.
* Source/WebCore/Sources.txt:
* Source/WebCore/platform/xr/PlatformXR.h:
* Source/WebKit/Shared/XR/PlatformXR.serialization.in:
* Source/WebKit/UIProcess/XR/openxr/OpenXRLayer.cpp:
(WebKit::OpenXRCylinderLayer::create):
(WebKit::OpenXRCylinderLayer::OpenXRCylinderLayer):
(WebKit::OpenXRCylinderLayer::startFrame):
* Source/WebKit/UIProcess/XR/openxr/OpenXRLayer.h:
* Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp:
(WebKit::OpenXRCoordinator::createCompositionLayer):
(WebKit::OpenXRCoordinator::createInstance):

Canonical link: https://commits.webkit.org/312596@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to