Compile OpenXR into MacOS build

This commit is contained in:
Bastiaan Olij 2023-07-19 00:02:47 +10:00
parent 279732539f
commit a9c8feeba0
3 changed files with 10 additions and 5 deletions

View File

@ -28,6 +28,11 @@ elif env["platform"] == "linuxbsd":
env_openxr.AppendUnique(CPPDEFINES=["HAVE_SECURE_GETENV"]) env_openxr.AppendUnique(CPPDEFINES=["HAVE_SECURE_GETENV"])
elif env["platform"] == "windows": elif env["platform"] == "windows":
env_openxr.AppendUnique(CPPDEFINES=["XR_OS_WINDOWS", "NOMINMAX", "XR_USE_PLATFORM_WIN32"]) 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: # may need to check and set:
# - XR_USE_TIMESPEC # - XR_USE_TIMESPEC
@ -95,7 +100,7 @@ if env["platform"] == "android":
env_openxr.add_source_files(module_obj, "extensions/openxr_android_extension.cpp") env_openxr.add_source_files(module_obj, "extensions/openxr_android_extension.cpp")
if env["vulkan"]: if env["vulkan"]:
env_openxr.add_source_files(module_obj, "extensions/openxr_vulkan_extension.cpp") 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_opengl_extension.cpp")
env_openxr.add_source_files(module_obj, "extensions/openxr_palm_pose_extension.cpp") env_openxr.add_source_files(module_obj, "extensions/openxr_palm_pose_extension.cpp")

View File

@ -1,5 +1,5 @@
def can_build(env, platform): 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"] return env["openxr"] and not env["disable_3d"]
else: else:
# not supported on these platforms # not supported on these platforms

View File

@ -47,7 +47,7 @@
#ifdef VULKAN_ENABLED #ifdef VULKAN_ENABLED
#define XR_USE_GRAPHICS_API_VULKAN #define XR_USE_GRAPHICS_API_VULKAN
#endif #endif
#ifdef GLES3_ENABLED #if defined(GLES3_ENABLED) && !defined(MACOS_ENABLED)
#ifdef ANDROID_ENABLED #ifdef ANDROID_ENABLED
#define XR_USE_GRAPHICS_API_OPENGL_ES #define XR_USE_GRAPHICS_API_OPENGL_ES
#include <EGL/egl.h> #include <EGL/egl.h>
@ -72,7 +72,7 @@
#include "extensions/openxr_vulkan_extension.h" #include "extensions/openxr_vulkan_extension.h"
#endif #endif
#ifdef GLES3_ENABLED #if defined(GLES3_ENABLED) && !defined(MACOS_ENABLED)
#include "extensions/openxr_opengl_extension.h" #include "extensions/openxr_opengl_extension.h"
#endif #endif
@ -1306,7 +1306,7 @@ bool OpenXRAPI::initialize(const String &p_rendering_driver) {
ERR_FAIL_V(false); ERR_FAIL_V(false);
#endif #endif
} else if (p_rendering_driver == "opengl3") { } else if (p_rendering_driver == "opengl3") {
#ifdef GLES3_ENABLED #if defined(GLES3_ENABLED) && !defined(MACOS_ENABLED)
graphics_extension = memnew(OpenXROpenGLExtension); graphics_extension = memnew(OpenXROpenGLExtension);
register_extension_wrapper(graphics_extension); register_extension_wrapper(graphics_extension);
#else #else