diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-30 17:47:38 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-30 17:47:38 +0100 |
commit | 6a126b0934d1dac09aaf504da2f5d7dc1156feda (patch) | |
tree | d9952ab88e669f319a7d906348d6d6557bbb44b2 /modules/openxr/extensions/platform/openxr_opengl_extension.cpp | |
parent | a8cfd1436a5e9c87ff4910a18641e60761994076 (diff) | |
parent | 7e0f7d3abd4a02f423a5b95616840e028a9af7fa (diff) | |
download | redot-engine-6a126b0934d1dac09aaf504da2f5d7dc1156feda.tar.gz |
Merge pull request #86180 from Riteo/wayland-squashed
Add Wayland support (squashed review edition)
Diffstat (limited to 'modules/openxr/extensions/platform/openxr_opengl_extension.cpp')
-rw-r--r-- | modules/openxr/extensions/platform/openxr_opengl_extension.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/modules/openxr/extensions/platform/openxr_opengl_extension.cpp b/modules/openxr/extensions/platform/openxr_opengl_extension.cpp index a9d970bbb9..d92084a220 100644 --- a/modules/openxr/extensions/platform/openxr_opengl_extension.cpp +++ b/modules/openxr/extensions/platform/openxr_opengl_extension.cpp @@ -131,9 +131,9 @@ bool OpenXROpenGLExtension::check_graphics_api_support(XrVersion p_desired_versi #ifdef WIN32 XrGraphicsBindingOpenGLWin32KHR OpenXROpenGLExtension::graphics_binding_gl; -#elif ANDROID_ENABLED +#elif defined(ANDROID_ENABLED) XrGraphicsBindingOpenGLESAndroidKHR OpenXROpenGLExtension::graphics_binding_gl; -#else +#elif defined(X11_ENABLED) XrGraphicsBindingOpenGLXlibKHR OpenXROpenGLExtension::graphics_binding_gl; #endif @@ -147,20 +147,24 @@ void *OpenXROpenGLExtension::set_session_create_and_get_next_pointer(void *p_nex DisplayServer *display_server = DisplayServer::get_singleton(); +#ifdef WAYLAND_ENABLED + ERR_FAIL_COND_V_MSG(display_server->get_name() == "Wayland", p_next_pointer, "OpenXR is not yet supported on OpenGL Wayland."); +#endif + #ifdef WIN32 graphics_binding_gl.type = XR_TYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHR, graphics_binding_gl.next = p_next_pointer; graphics_binding_gl.hDC = (HDC)display_server->window_get_native_handle(DisplayServer::WINDOW_VIEW); graphics_binding_gl.hGLRC = (HGLRC)display_server->window_get_native_handle(DisplayServer::OPENGL_CONTEXT); -#elif ANDROID_ENABLED +#elif defined(ANDROID_ENABLED) graphics_binding_gl.type = XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR; graphics_binding_gl.next = p_next_pointer; graphics_binding_gl.display = (void *)display_server->window_get_native_handle(DisplayServer::DISPLAY_HANDLE); graphics_binding_gl.config = (EGLConfig)0; // https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/master/src/tests/hello_xr/graphicsplugin_opengles.cpp#L122 graphics_binding_gl.context = (void *)display_server->window_get_native_handle(DisplayServer::OPENGL_CONTEXT); -#else +#elif defined(X11_ENABLED) graphics_binding_gl.type = XR_TYPE_GRAPHICS_BINDING_OPENGL_XLIB_KHR; graphics_binding_gl.next = p_next_pointer; |