-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[WebXR][GTK][WPE] Implement PlatformXrCoordinator::getPrimaryDeviceInfo() #47071
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WebXR][GTK][WPE] Implement PlatformXrCoordinator::getPrimaryDeviceInfo() #47071
Conversation
EWS run on previous version of this PR (hash d484d9b) |
d484d9b
to
86e68f6
Compare
EWS run on previous version of this PR (hash 86e68f6) |
86e68f6
to
d0c1d44
Compare
EWS run on previous version of this PR (hash d0c1d44) |
.../platform/gtk/imported/w3c/web-platform-tests/webxr/webxr_availability.http.sub-expected.txt
Outdated
Show resolved
Hide resolved
d0c1d44
to
3c9e7f6
Compare
EWS run on previous version of this PR (hash 3c9e7f6) |
3c9e7f6
to
2fbc72b
Compare
EWS run on previous version of this PR (hash 2fbc72b) |
2fbc72b
to
3b4d636
Compare
EWS run on previous version of this PR (hash 3b4d636) |
|
||
std::unique_ptr<OpenXRExtensions> OpenXRExtensions::create() | ||
{ | ||
uint32_t extensionCount { 0 }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it's not needed here either?
ASSERT(RunLoop::isMain()); | ||
ASSERT(m_instance != XR_NULL_HANDLE); | ||
|
||
uint32_t viewConfigurationCount = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nor here
XrInstance m_instance { XR_NULL_HANDLE }; | ||
XrSystemId m_systemId { XR_NULL_SYSTEM_ID }; | ||
Vector<XrViewConfigurationType> m_viewConfigurations; | ||
XrViewConfigurationType m_currentViewConfiguration; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be initialized?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could but it does not really make much sense in this case because it is something provided by the runtime and there is no value we could assume as "default"
3b4d636
to
512b3b9
Compare
EWS run on current version of this PR (hash 512b3b9) |
…fo() https://bugs.webkit.org/show_bug.cgi?id=294843 Reviewed by Carlos Garcia Campos. The PlatformXrCoordinator is one of the most important object in the UIProcess related to XR. Among other things it's responsible for: * retrieving info and capabilities of the XR device/system * start/stop XR sessions * schedule frame rendering For GTK & WPE ports that coordinator is implemented using OpenXR. This PR implements the method that retrieves the device capabilities as a first step. * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webxr/webxr_availability.http.sub-expected.txt: Added. * LayoutTests/platform/gtk/TestExpectations: Unskipped tests. * LayoutTests/platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/feature-policy/reporting/xr-reporting.https-expected.txt: * LayoutTests/platform/wpe/TestExpectations: Unskipped tests. * Source/WTF/wtf/PlatformUse.h: * Source/WebCore/SourcesGTK.txt: * Source/WebCore/SourcesWPE.txt: * Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp: Added. (PlatformXR::Instance::singleton): (PlatformXR::Instance::Instance): (PlatformXR::Instance::enumerateImmersiveXRDevices): * Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h: Added. * Source/WebKit/PlatformGTK.cmake: * Source/WebKit/PlatformWPE.cmake: * Source/WebKit/SourcesGTK.txt: * Source/WebKit/SourcesWPE.txt: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didAttachToRunningProcess): (WebKit::WebPageProxy::resetState): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxyInternals.h: * Source/WebKit/UIProcess/WebProcessProxy.cpp: * Source/WebKit/UIProcess/WebProcessProxy.h: * Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp: * Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.cpp: Added. (WebKit::OpenXRExtensions::create): (WebKit::OpenXRExtensions::OpenXRExtensions): (WebKit::OpenXRExtensions::loadMethods): (WebKit::OpenXRExtensions::isExtensionSupported const): * Source/WebKit/UIProcess/XR/openxr/OpenXRExtensions.h: Added. * Source/WebKit/UIProcess/XR/openxr/OpenXRUtils.h: Added. (WebKit::createOpenXRStruct): (WebKit::checkXrResult): * Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.cpp: Added. (WebKit::OpenXRCoordinator::OpenXRCoordinator): (WebKit::OpenXRCoordinator::~OpenXRCoordinator): (WebKit::OpenXRCoordinator::getPrimaryDeviceInfo): (WebKit::OpenXRCoordinator::createInstance): (WebKit::OpenXRCoordinator::recommendedResolution const): (WebKit::OpenXRCoordinator::collectViewConfigurations): (WebKit::OpenXRCoordinator::initializeSystem): (WebKit::OpenXRCoordinator::initializeDevice): * Source/WebKit/UIProcess/XR/openxr/PlatformXROpenXR.h: Added. * Source/WebKit/UIProcess/XR/openxr/PlatformXRSystemOpenXR.cpp: Added. (WebKit::PlatformXRSystem::xrCoordinator): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: * Source/WebKit/WebProcess/WebPage/WebPage.h: * Source/cmake/FindOpenXR.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Canonical link: https://commits.webkit.org/296610@main
512b3b9
to
19bf33d
Compare
Committed 296610@main (19bf33d): https://commits.webkit.org/296610@main Reviewed commits have been landed. Closing PR #47071 and removing active labels. |
19bf33d
512b3b9
🧪 wpe-wk2🧪 api-ios🧪 mac-AS-debug-wk2🧪 gtk-wk2