summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2023-07-19 00:02:47 +1000
committerBastiaan Olij <mux213@gmail.com>2023-07-19 00:02:47 +1000
commita9c8feeba00906c4df5f85dc6efaf1ece608cd6b (patch)
tree31791d9473e0969db369753035be3985f0ec4067
parent279732539f7ba253b42a1dc953861306efc63d60 (diff)
downloadredot-engine-a9c8feeba00906c4df5f85dc6efaf1ece608cd6b.tar.gz
Compile OpenXR into MacOS build
-rw-r--r--modules/openxr/SCsub7
-rw-r--r--modules/openxr/config.py2
-rw-r--r--modules/openxr/openxr_api.cpp6
3 files changed, 10 insertions, 5 deletions
diff --git a/modules/openxr/SCsub b/modules/openxr/SCsub
index d5abbe4c72..fbff4c7f8f 100644
--- a/modules/openxr/SCsub
+++ b/modules/openxr/SCsub
@@ -28,6 +28,11 @@ elif env["platform"] == "linuxbsd":
env_openxr.AppendUnique(CPPDEFINES=["HAVE_SECURE_GETENV"])
elif env["platform"] == "windows":
env_openxr.AppendUnique(CPPDEFINES=["XR_OS_WINDOWS", "NOMINMAX", "XR_USE_PLATFORM_WIN32"])
+elif env["platform"] == "macos":
+ env_openxr.AppendUnique(CPPDEFINES=["XR_OS_APPLE"])
+
+ # There does not seem to be a XR_USE_PLATFORM_XYZ for Apple
+
# may need to check and set:
# - XR_USE_TIMESPEC
@@ -95,7 +100,7 @@ if env["platform"] == "android":
env_openxr.add_source_files(module_obj, "extensions/openxr_android_extension.cpp")
if env["vulkan"]:
env_openxr.add_source_files(module_obj, "extensions/openxr_vulkan_extension.cpp")
-if env["opengl3"]:
+if env["opengl3"] and env["platform"] != "macos":
env_openxr.add_source_files(module_obj, "extensions/openxr_opengl_extension.cpp")
env_openxr.add_source_files(module_obj, "extensions/openxr_palm_pose_extension.cpp")
diff --git a/modules/openxr/config.py b/modules/openxr/config.py
index e503f12739..8ed06a1606 100644
--- a/modules/openxr/config.py
+++ b/modules/openxr/config.py
@@ -1,5 +1,5 @@
def can_build(env, platform):
- if platform in ("linuxbsd", "windows", "android"):
+ if platform in ("linuxbsd", "windows", "android", "macos"):
return env["openxr"] and not env["disable_3d"]
else:
# not supported on these platforms
diff --git a/modules/openxr/openxr_api.cpp b/modules/openxr/openxr_api.cpp
index 4ab280f3c3..c5efe609c2 100644
--- a/modules/openxr/openxr_api.cpp
+++ b/modules/openxr/openxr_api.cpp
@@ -47,7 +47,7 @@
#ifdef VULKAN_ENABLED
#define XR_USE_GRAPHICS_API_VULKAN
#endif
-#ifdef GLES3_ENABLED
+#if defined(GLES3_ENABLED) && !defined(MACOS_ENABLED)
#ifdef ANDROID_ENABLED
#define XR_USE_GRAPHICS_API_OPENGL_ES
#include <EGL/egl.h>
@@ -72,7 +72,7 @@
#include "extensions/openxr_vulkan_extension.h"
#endif
-#ifdef GLES3_ENABLED
+#if defined(GLES3_ENABLED) && !defined(MACOS_ENABLED)
#include "extensions/openxr_opengl_extension.h"
#endif
@@ -1306,7 +1306,7 @@ bool OpenXRAPI::initialize(const String &p_rendering_driver) {
ERR_FAIL_V(false);
#endif
} else if (p_rendering_driver == "opengl3") {
-#ifdef GLES3_ENABLED
+#if defined(GLES3_ENABLED) && !defined(MACOS_ENABLED)
graphics_extension = memnew(OpenXROpenGLExtension);
register_extension_wrapper(graphics_extension);
#else