summaryrefslogtreecommitdiffstats
path: root/thirdparty/openxr/src
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-10-23 11:08:25 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-10-23 11:10:31 +0200
commit2079bbabfd42273626ffd34db25fd35bc7e3055e (patch)
treead0ec29cae8f89d131f7c72056c9e22d4bbd4fe4 /thirdparty/openxr/src
parent8c25a98fdf68dc388eddaefa188f3386236cdfe4 (diff)
downloadredot-engine-2079bbabfd42273626ffd34db25fd35bc7e3055e.tar.gz
openxr: Revert to 1.0.28, newer versions crash on Windows/Mingw-GCC
Reverts #82582. Works around #83674. Users tested 1.0.29, 1.0.30, and 1.0.31, which all triggered the same issue, with both mingw-gcc from Fedora 36 and Fedora 39.
Diffstat (limited to 'thirdparty/openxr/src')
-rw-r--r--thirdparty/openxr/src/common/platform_utils.hpp84
-rw-r--r--thirdparty/openxr/src/common/xr_dependencies.h6
-rw-r--r--thirdparty/openxr/src/common/xr_linear.h20
-rw-r--r--thirdparty/openxr/src/loader/api_layer_interface.cpp30
-rw-r--r--thirdparty/openxr/src/loader/loader_core.cpp2
-rw-r--r--thirdparty/openxr/src/loader/loader_instance.cpp2
-rw-r--r--thirdparty/openxr/src/loader/manifest_file.cpp77
-rw-r--r--thirdparty/openxr/src/loader/runtime_interface.cpp45
-rw-r--r--thirdparty/openxr/src/loader/xr_generated_loader.cpp2
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table.c12
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table.h10
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table_core.c112
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table_core.h119
13 files changed, 101 insertions, 420 deletions
diff --git a/thirdparty/openxr/src/common/platform_utils.hpp b/thirdparty/openxr/src/common/platform_utils.hpp
index 883baef82d..219d19789d 100644
--- a/thirdparty/openxr/src/common/platform_utils.hpp
+++ b/thirdparty/openxr/src/common/platform_utils.hpp
@@ -37,44 +37,6 @@
#include "common_config.h"
#endif // OPENXR_HAVE_COMMON_CONFIG
-#if defined(__x86_64__) && defined(__ILP32__)
-#define XR_ARCH_ABI "x32"
-#elif defined(_M_X64) || defined(__x86_64__)
-#define XR_ARCH_ABI "x86_64"
-#elif defined(_M_IX86) || defined(__i386__) || defined(_X86_)
-#define XR_ARCH_ABI "i686"
-#elif (defined(__aarch64__) && defined(__LP64__)) || defined(_M_ARM64)
-#define XR_ARCH_ABI "aarch64"
-#elif (defined(__ARM_ARCH) && __ARM_ARCH >= 7 && (defined(__ARM_PCS_VFP) || defined(__ANDROID__))) || defined(_M_ARM)
-#define XR_ARCH_ABI "armv7a-vfp"
-#elif defined(__ARM_ARCH_5TE__)
-#define XR_ARCH_ABI "armv5te"
-#elif defined(__mips64)
-#define XR_ARCH_ABI "mips64"
-#elif defined(__mips)
-#define XR_ARCH_ABI "mips"
-#elif defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#define XR_ARCH_ABI "ppc64"
-#elif defined(__powerpc__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-#define XR_ARCH_ABI "ppc64el"
-#elif defined(__s390x__) || defined(__zarch__)
-#define XR_ARCH_ABI "s390x"
-#elif defined(__hppa__)
-#define XR_ARCH_ABI "hppa"
-#elif defined(__alpha__)
-#define XR_ARCH_ABI "alpha"
-#elif defined(__ia64__) || defined(_M_IA64)
-#define XR_ARCH_ABI "ia64"
-#elif defined(__m68k__)
-#define XR_ARCH_ABI "m68k"
-#elif defined(__riscv_xlen) && (__riscv_xlen == 64)
-#define XR_ARCH_ABI "riscv64"
-#elif defined(__sparc__) && defined(__arch64__)
-#define XR_ARCH_ABI "sparc64"
-#else
-#error "No architecture string known!"
-#endif
-
// Consumers of this file must ensure this function is implemented. For example, the loader will implement this function so that it
// can route messages through the loader's logging system.
void LogPlatformUtilsError(const std::string& message);
@@ -85,7 +47,6 @@ void LogPlatformUtilsError(const std::string& message);
#include <unistd.h>
#include <fcntl.h>
#include <iostream>
-#include <sys/stat.h>
namespace detail {
@@ -111,31 +72,6 @@ static inline char* ImplGetSecureEnv(const char* name) {
} // namespace detail
#endif // defined(XR_OS_LINUX) || defined(XR_OS_APPLE)
-
-#if defined(XR_OS_ANDROID) || defined(XR_OS_APPLE)
-
-#include <sys/stat.h>
-
-namespace detail {
-
-static inline bool ImplTryRuntimeFilename(const char* rt_dir_prefix, uint16_t major_version, std::string& file_name) {
- auto decorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime." XR_ARCH_ABI ".json";
- auto undecorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime.json";
-
- struct stat buf {};
- if (0 == stat(decorated_path.c_str(), &buf)) {
- file_name = decorated_path;
- return true;
- }
- if (0 == stat(undecorated_path.c_str(), &buf)) {
- file_name = undecorated_path;
- return true;
- }
- return false;
-}
-
-} // namespace detail
-#endif // defined(XR_OS_ANDROID) || defined(XR_OS_APPLE)
#if defined(XR_OS_LINUX)
static inline std::string PlatformUtilsGetEnv(const char* name) {
@@ -194,8 +130,15 @@ static inline bool PlatformUtilsSetEnv(const char* name, const char* value) {
return (result == 0);
}
+// Prefix for the Apple global runtime JSON file name
+static const std::string rt_dir_prefix = "/usr/local/share/openxr/";
+static const std::string rt_filename = "/active_runtime.json";
+
static inline bool PlatformGetGlobalRuntimeFileName(uint16_t major_version, std::string& file_name) {
- return detail::ImplTryRuntimeFilename("/usr/local/share/openxr/", major_version, file_name);
+ file_name = rt_dir_prefix;
+ file_name += std::to_string(major_version);
+ file_name += rt_filename;
+ return true;
}
#elif defined(XR_OS_WINDOWS)
@@ -368,19 +311,22 @@ static inline bool PlatformUtilsSetEnv(const char* /* name */, const char* /* va
return false;
}
+#include <sys/stat.h>
+
// Intended to be only used as a fallback on Android, with a more open, "native" technique used in most cases
static inline bool PlatformGetGlobalRuntimeFileName(uint16_t major_version, std::string& file_name) {
// Prefix for the runtime JSON file name
static const char* rt_dir_prefixes[] = {"/product", "/odm", "/oem", "/vendor", "/system"};
-
+ static const std::string rt_filename = "/active_runtime.json";
static const std::string subdir = "/etc/openxr/";
for (const auto prefix : rt_dir_prefixes) {
- const std::string rt_dir_prefix = prefix + subdir;
- if (detail::ImplTryRuntimeFilename(rt_dir_prefix.c_str(), major_version, file_name)) {
+ auto path = prefix + subdir + std::to_string(major_version) + rt_filename;
+ struct stat buf;
+ if (0 == stat(path.c_str(), &buf)) {
+ file_name = path;
return true;
}
}
-
return false;
}
#else // Not Linux, Apple, nor Windows
diff --git a/thirdparty/openxr/src/common/xr_dependencies.h b/thirdparty/openxr/src/common/xr_dependencies.h
index 6c9cf2d05f..5c7bd04774 100644
--- a/thirdparty/openxr/src/common/xr_dependencies.h
+++ b/thirdparty/openxr/src/common/xr_dependencies.h
@@ -76,10 +76,7 @@
#include "wayland-client.h"
#endif // XR_USE_PLATFORM_WAYLAND
-#ifdef XR_USE_PLATFORM_EGL
-#include <EGL/egl.h>
-#endif // XR_USE_PLATFORM_EGL
-
+#ifdef XR_USE_GRAPHICS_API_OPENGL
#if defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
#ifdef Success
#undef Success
@@ -93,3 +90,4 @@
#undef None
#endif // None
#endif // defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
+#endif // XR_USE_GRAPHICS_API_OPENGL
diff --git a/thirdparty/openxr/src/common/xr_linear.h b/thirdparty/openxr/src/common/xr_linear.h
index ce65f8ddfb..5b0da645ac 100644
--- a/thirdparty/openxr/src/common/xr_linear.h
+++ b/thirdparty/openxr/src/common/xr_linear.h
@@ -1,5 +1,5 @@
-// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2016, Oculus VR, LLC.
+// Copyright (c) 2017 The Khronos Group Inc.
+// Copyright (c) 2016 Oculus VR, LLC.
//
// SPDX-License-Identifier: Apache-2.0
//
@@ -23,17 +23,15 @@
#include <openxr/openxr.h>
-/* REUSE-IgnoreStart */
-/* The following has copyright notices that duplicate the header above */
-
/*
================================================================================================
-Description : Vector, matrix and quaternion math.
-Orig. Author : J.M.P. van Waveren
-Orig. Date : 12/10/2016
-Language : C99
-Copyright : Copyright (c) 2016 Oculus VR, LLC. All Rights reserved.
+Description : Vector, matrix and quaternion math.
+Author : J.M.P. van Waveren
+Date : 12/10/2016
+Language : C99
+Format : Indent 4 spaces - no tabs.
+Copyright : Copyright (c) 2016 Oculus VR, LLC. All Rights reserved.
DESCRIPTION
@@ -147,8 +145,6 @@ inline static float XrRcpSqrt(const float x) {
return rcp;
}
-inline static float XrVector2f_Length(const XrVector2f* v) { return sqrtf(v->x * v->x + v->y * v->y); }
-
inline static void XrVector3f_Set(XrVector3f* v, const float value) {
v->x = value;
v->y = value;
diff --git a/thirdparty/openxr/src/loader/api_layer_interface.cpp b/thirdparty/openxr/src/loader/api_layer_interface.cpp
index c9e24ec40b..5560c31a52 100644
--- a/thirdparty/openxr/src/loader/api_layer_interface.cpp
+++ b/thirdparty/openxr/src/loader/api_layer_interface.cpp
@@ -237,23 +237,21 @@ XrResult ApiLayerInterface::LoadApiLayers(const std::string& openxr_command, uin
for (const auto& layer_name : enabled_explicit_api_layer_names) {
bool found_this_layer = false;
- if (layers_already_found.count(layer_name) > 0) {
- found_this_layer = true;
- } else {
- for (auto it = explicit_layer_manifest_files.begin(); it != explicit_layer_manifest_files.end();) {
- bool erased_layer_manifest_file = false;
-
- if (layer_name == (*it)->LayerName()) {
- found_this_layer = true;
- layers_already_found.insert(layer_name);
- enabled_layer_manifest_files_in_init_order.push_back(std::move(*it));
- it = explicit_layer_manifest_files.erase(it);
- erased_layer_manifest_file = true;
- }
+ for (auto it = explicit_layer_manifest_files.begin(); it != explicit_layer_manifest_files.end();) {
+ bool erased_layer_manifest_file = false;
+
+ if (layers_already_found.count(layer_name) > 0) {
+ found_this_layer = true;
+ } else if (layer_name == (*it)->LayerName()) {
+ found_this_layer = true;
+ layers_already_found.insert(layer_name);
+ enabled_layer_manifest_files_in_init_order.push_back(std::move(*it));
+ it = explicit_layer_manifest_files.erase(it);
+ erased_layer_manifest_file = true;
+ }
- if (!erased_layer_manifest_file) {
- it++;
- }
+ if (!erased_layer_manifest_file) {
+ it++;
}
}
diff --git a/thirdparty/openxr/src/loader/loader_core.cpp b/thirdparty/openxr/src/loader/loader_core.cpp
index 06e6870053..98d3fa971a 100644
--- a/thirdparty/openxr/src/loader/loader_core.cpp
+++ b/thirdparty/openxr/src/loader/loader_core.cpp
@@ -19,7 +19,7 @@
#include "loader_logger.hpp"
#include "loader_platform.hpp"
#include "runtime_interface.hpp"
-#include "xr_generated_dispatch_table_core.h"
+#include "xr_generated_dispatch_table.h"
#include "xr_generated_loader.hpp"
#include <openxr/openxr.h>
diff --git a/thirdparty/openxr/src/loader/loader_instance.cpp b/thirdparty/openxr/src/loader/loader_instance.cpp
index ce5c205505..badd39193c 100644
--- a/thirdparty/openxr/src/loader/loader_instance.cpp
+++ b/thirdparty/openxr/src/loader/loader_instance.cpp
@@ -18,7 +18,7 @@
#include "loader_interfaces.h"
#include "loader_logger.hpp"
#include "runtime_interface.hpp"
-#include "xr_generated_dispatch_table_core.h"
+#include "xr_generated_dispatch_table.h"
#include "xr_generated_loader.hpp"
#include <openxr/openxr.h>
diff --git a/thirdparty/openxr/src/loader/manifest_file.cpp b/thirdparty/openxr/src/loader/manifest_file.cpp
index 0683bc166a..99f4e84104 100644
--- a/thirdparty/openxr/src/loader/manifest_file.cpp
+++ b/thirdparty/openxr/src/loader/manifest_file.cpp
@@ -274,45 +274,16 @@ static std::string GetXDGEnvAbsolute(const char *name, const char *fallback_path
return fallback_paths;
}
-/// @param rt_dir_prefix Directory prefix with a trailing slash
-static bool FindEitherActiveRuntimeFilename(const char *prefix_desc, const std::string &rt_dir_prefix, uint16_t major_version,
- std::string &out) {
- {
- std::ostringstream oss;
- oss << "Looking for active_runtime." XR_ARCH_ABI ".json or active_runtime.json in ";
- oss << prefix_desc;
- oss << ": ";
- oss << rt_dir_prefix;
-
- LoaderLogger::LogInfoMessage("", oss.str());
- }
- {
- auto decorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime." XR_ARCH_ABI ".json";
-
- if (FileSysUtilsPathExists(decorated_path)) {
- out = decorated_path;
- return true;
- }
- }
- {
- auto undecorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime.json";
-
- if (FileSysUtilsPathExists(undecorated_path)) {
- out = undecorated_path;
- return true;
- }
- }
- return false;
-}
// Return the first instance of relative_path occurring in an XDG config dir according to standard
// precedence order.
-static bool FindXDGConfigFile(const char *relative_dir, uint16_t major_version, std::string &out) {
- const std::string message{"Looking for active_runtime." XR_ARCH_ABI ".json or active_runtime.json"};
- std::string dir_prefix = GetXDGEnvHome("XDG_CONFIG_HOME", ".config");
- if (!dir_prefix.empty()) {
- dir_prefix += "/";
- dir_prefix += relative_dir;
- if (FindEitherActiveRuntimeFilename("XDG_CONFIG_HOME", dir_prefix, major_version, out)) {
+static bool FindXDGConfigFile(const std::string &relative_path, std::string &out) {
+ out = GetXDGEnvHome("XDG_CONFIG_HOME", ".config");
+ if (!out.empty()) {
+ out += "/";
+ out += relative_path;
+
+ LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in XDG_CONFIG_HOME: " + out);
+ if (FileSysUtilsPathExists(out)) {
return true;
}
}
@@ -323,26 +294,29 @@ static bool FindXDGConfigFile(const char *relative_dir, uint16_t major_version,
if (path.empty()) {
continue;
}
- dir_prefix = std::move(path);
- dir_prefix += "/";
- dir_prefix += relative_dir;
- if (FindEitherActiveRuntimeFilename("an entry of XDG_CONFIG_DIRS", dir_prefix, major_version, out)) {
+ out = path;
+ out += "/";
+ out += relative_path;
+ LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in an entry of XDG_CONFIG_DIRS: " + out);
+ if (FileSysUtilsPathExists(out)) {
return true;
}
}
- dir_prefix = SYSCONFDIR;
- dir_prefix += "/";
- dir_prefix += relative_dir;
- if (FindEitherActiveRuntimeFilename("compiled-in SYSCONFDIR", dir_prefix, major_version, out)) {
+ out = SYSCONFDIR;
+ out += "/";
+ out += relative_path;
+ LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in compiled-in SYSCONFDIR: " + out);
+ if (FileSysUtilsPathExists(out)) {
return true;
}
#if defined(EXTRASYSCONFDIR)
- dir_prefix = EXTRASYSCONFDIR;
- dir_prefix += "/";
- dir_prefix += relative_dir;
- if (FindEitherActiveRuntimeFilename("compiled-in EXTRASYSCONFDIR", dir_prefix, major_version, out)) {
+ out = EXTRASYSCONFDIR;
+ out += "/";
+ out += relative_path;
+ LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in compiled-in EXTRASYSCONFDIR: " + out);
+ if (FileSysUtilsPathExists(out)) {
return true;
}
#endif
@@ -658,8 +632,9 @@ XrResult RuntimeManifestFile::FindManifestFiles(std::vector<std::unique_ptr<Runt
LoaderLogger::LogInfoMessage("",
"RuntimeManifestFile::FindManifestFiles - using registry-specified runtime file " + filename);
#elif defined(XR_OS_LINUX)
-
- if (!FindXDGConfigFile("openxr/", XR_VERSION_MAJOR(XR_CURRENT_API_VERSION), filename)) {
+ const std::string relative_path =
+ "openxr/" + std::to_string(XR_VERSION_MAJOR(XR_CURRENT_API_VERSION)) + "/active_runtime.json";
+ if (!FindXDGConfigFile(relative_path, filename)) {
LoaderLogger::LogErrorMessage(
"", "RuntimeManifestFile::FindManifestFiles - failed to determine active runtime file path for this environment");
return XR_ERROR_RUNTIME_UNAVAILABLE;
diff --git a/thirdparty/openxr/src/loader/runtime_interface.cpp b/thirdparty/openxr/src/loader/runtime_interface.cpp
index 8312b15ba4..d9ab86bb58 100644
--- a/thirdparty/openxr/src/loader/runtime_interface.cpp
+++ b/thirdparty/openxr/src/loader/runtime_interface.cpp
@@ -13,7 +13,7 @@
#include "loader_interfaces.h"
#include "loader_logger.hpp"
#include "loader_platform.hpp"
-#include "xr_generated_dispatch_table_core.h"
+#include "xr_generated_dispatch_table.h"
#include <openxr/openxr.h>
@@ -29,10 +29,6 @@
#include "android_utilities.h"
#include <android/asset_manager_jni.h>
#include <json/value.h>
-
-// Needed for the loader init struct
-#include <xr_dependencies.h>
-#include <openxr/openxr_platform.h>
#endif // XR_USE_PLATFORM_ANDROID
#ifdef XR_KHR_LOADER_INIT_SUPPORT
@@ -109,22 +105,33 @@ XrResult LoaderInitData::initialize(const XrLoaderInitInfoBaseHeaderKHR* info) {
if (cast_info->applicationContext == nullptr) {
return XR_ERROR_VALIDATION_FAILURE;
}
-
- // Copy and store the JVM pointer and Android Context, ensuring the JVM is initialised.
_data = *cast_info;
+ jni::init((jni::JavaVM*)_data.applicationVM);
_data.next = nullptr;
- jni::init(static_cast<jni::JavaVM*>(_data.applicationVM));
- const jni::Object context = jni::Object{static_cast<jni::jobject>(_data.applicationContext)};
-
- // Retrieve a reference to the Android AssetManager.
- const auto assetManager = context.call<jni::Object>("getAssets()Landroid/content/res/AssetManager;");
- _android_asset_manager = AAssetManager_fromJava(jni::env(), assetManager.getHandle());
-
- // Retrieve the path to the native libraries.
- const auto applicationContext = context.call<jni::Object>("getApplicationContext()Landroid/content/Context;");
- const auto applicationInfo = context.call<jni::Object>("getApplicationInfo()Landroid/content/pm/ApplicationInfo;");
- _native_library_path = applicationInfo.get<std::string>("nativeLibraryDir");
-
+ JNIEnv* Env;
+ ((jni::JavaVM*)(cast_info->applicationVM))->AttachCurrentThread(&Env, nullptr);
+ const jclass contextClass = Env->GetObjectClass((jobject)_data.applicationContext);
+
+ const jmethodID getAssetsMethod = Env->GetMethodID(contextClass, "getAssets", "()Landroid/content/res/AssetManager;");
+ const jobject AssetManagerObject = Env->CallObjectMethod((jobject)_data.applicationContext, getAssetsMethod);
+ _android_asset_manager = AAssetManager_fromJava(Env, AssetManagerObject);
+
+ const jmethodID getApplicationContextMethod =
+ Env->GetMethodID(contextClass, "getApplicationContext", "()Landroid/content/Context;");
+ const jobject contextObject = Env->CallObjectMethod((jobject)_data.applicationContext, getApplicationContextMethod);
+ const jmethodID getApplicationInfoMethod =
+ Env->GetMethodID(contextClass, "getApplicationInfo", "()Landroid/content/pm/ApplicationInfo;");
+ const jobject applicationInfoObject = Env->CallObjectMethod(contextObject, getApplicationInfoMethod);
+ const jfieldID nativeLibraryDirField =
+ Env->GetFieldID(Env->GetObjectClass(applicationInfoObject), "nativeLibraryDir", "Ljava/lang/String;");
+ const jobject nativeLibraryDirObject = Env->GetObjectField(applicationInfoObject, nativeLibraryDirField);
+ const jmethodID getBytesMethod =
+ Env->GetMethodID(Env->GetObjectClass(nativeLibraryDirObject), "getBytes", "(Ljava/lang/String;)[B");
+ const auto bytesObject =
+ static_cast<jbyteArray>(Env->CallObjectMethod(nativeLibraryDirObject, getBytesMethod, Env->NewStringUTF("UTF-8")));
+ const size_t length = Env->GetArrayLength(bytesObject);
+ const jbyte* const bytes = Env->GetByteArrayElements(bytesObject, nullptr);
+ _native_library_path = std::string(reinterpret_cast<const char*>(bytes), length);
_initialized = true;
return XR_SUCCESS;
}
diff --git a/thirdparty/openxr/src/loader/xr_generated_loader.cpp b/thirdparty/openxr/src/loader/xr_generated_loader.cpp
index 8c79afddc5..e7767fd30a 100644
--- a/thirdparty/openxr/src/loader/xr_generated_loader.cpp
+++ b/thirdparty/openxr/src/loader/xr_generated_loader.cpp
@@ -36,7 +36,7 @@
#include "loader_logger.hpp"
#include "loader_platform.hpp"
#include "runtime_interface.hpp"
-#include "xr_generated_dispatch_table_core.h"
+#include "xr_generated_dispatch_table.h"
#include "xr_dependencies.h"
#include <openxr/openxr.h>
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table.c b/thirdparty/openxr/src/xr_generated_dispatch_table.c
index 6e43a29724..302bed31f5 100644
--- a/thirdparty/openxr/src/xr_generated_dispatch_table.c
+++ b/thirdparty/openxr/src/xr_generated_dispatch_table.c
@@ -1,9 +1,7 @@
// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2017-2019, Valve Corporation
-// Copyright (c) 2017-2019, LunarG, Inc.
-
+// Copyright (c) 2017-2019 Valve Corporation
+// Copyright (c) 2017-2019 LunarG, Inc.
// SPDX-License-Identifier: Apache-2.0 OR MIT
-
// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
// See utility_source_generator.py for modifications
// ************************************************************
@@ -31,6 +29,9 @@
#include <time.h>
#include "xr_generated_dispatch_table.h"
+#include "xr_dependencies.h"
+#include <openxr/openxr.h>
+#include <openxr/openxr_platform.h>
#ifdef __cplusplus
@@ -403,9 +404,6 @@ void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
// ---- XR_FB_haptic_pcm extension commands
(get_inst_proc_addr(instance, "xrGetDeviceSampleRateFB", (PFN_xrVoidFunction*)&table->GetDeviceSampleRateFB));
- // ---- XR_META_passthrough_preferences extension commands
- (get_inst_proc_addr(instance, "xrGetPassthroughPreferencesMETA", (PFN_xrVoidFunction*)&table->GetPassthroughPreferencesMETA));
-
// ---- XR_META_virtual_keyboard extension commands
(get_inst_proc_addr(instance, "xrCreateVirtualKeyboardMETA", (PFN_xrVoidFunction*)&table->CreateVirtualKeyboardMETA));
(get_inst_proc_addr(instance, "xrDestroyVirtualKeyboardMETA", (PFN_xrVoidFunction*)&table->DestroyVirtualKeyboardMETA));
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table.h b/thirdparty/openxr/src/xr_generated_dispatch_table.h
index a385f81906..b6e17f98d4 100644
--- a/thirdparty/openxr/src/xr_generated_dispatch_table.h
+++ b/thirdparty/openxr/src/xr_generated_dispatch_table.h
@@ -1,9 +1,7 @@
// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2017-2019, Valve Corporation
-// Copyright (c) 2017-2019, LunarG, Inc.
-
+// Copyright (c) 2017-2019 Valve Corporation
+// Copyright (c) 2017-2019 LunarG, Inc.
// SPDX-License-Identifier: Apache-2.0 OR MIT
-
// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
// See utility_source_generator.py for modifications
// ************************************************************
@@ -30,7 +28,6 @@
//
#pragma once
-
#include "xr_dependencies.h"
#include <openxr/openxr.h>
#include <openxr/openxr_platform.h>
@@ -409,9 +406,6 @@ struct XrGeneratedDispatchTable {
// ---- XR_FB_haptic_pcm extension commands
PFN_xrGetDeviceSampleRateFB GetDeviceSampleRateFB;
- // ---- XR_META_passthrough_preferences extension commands
- PFN_xrGetPassthroughPreferencesMETA GetPassthroughPreferencesMETA;
-
// ---- XR_META_virtual_keyboard extension commands
PFN_xrCreateVirtualKeyboardMETA CreateVirtualKeyboardMETA;
PFN_xrDestroyVirtualKeyboardMETA DestroyVirtualKeyboardMETA;
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table_core.c b/thirdparty/openxr/src/xr_generated_dispatch_table_core.c
deleted file mode 100644
index b3f34e68a9..0000000000
--- a/thirdparty/openxr/src/xr_generated_dispatch_table_core.c
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2017-2019, Valve Corporation
-// Copyright (c) 2017-2019, LunarG, Inc.
-
-// SPDX-License-Identifier: Apache-2.0 OR MIT
-
-// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
-// See utility_source_generator.py for modifications
-// ************************************************************
-
-// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2017-2019 Valve Corporation
-// Copyright (c) 2017-2019 LunarG, Inc.
-//
-// SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Author: Mark Young <marky@lunarg.com>
-//
-
-#include "xr_generated_dispatch_table_core.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-// Helper function to populate an instance dispatch table
-void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
- XrInstance instance,
- PFN_xrGetInstanceProcAddr get_inst_proc_addr) {
-
- // ---- Core 1.0 commands
- table->GetInstanceProcAddr = get_inst_proc_addr;
- (get_inst_proc_addr(instance, "xrCreateInstance", (PFN_xrVoidFunction*)&table->CreateInstance));
- (get_inst_proc_addr(instance, "xrDestroyInstance", (PFN_xrVoidFunction*)&table->DestroyInstance));
- (get_inst_proc_addr(instance, "xrGetInstanceProperties", (PFN_xrVoidFunction*)&table->GetInstanceProperties));
- (get_inst_proc_addr(instance, "xrPollEvent", (PFN_xrVoidFunction*)&table->PollEvent));
- (get_inst_proc_addr(instance, "xrResultToString", (PFN_xrVoidFunction*)&table->ResultToString));
- (get_inst_proc_addr(instance, "xrStructureTypeToString", (PFN_xrVoidFunction*)&table->StructureTypeToString));
- (get_inst_proc_addr(instance, "xrGetSystem", (PFN_xrVoidFunction*)&table->GetSystem));
- (get_inst_proc_addr(instance, "xrGetSystemProperties", (PFN_xrVoidFunction*)&table->GetSystemProperties));
- (get_inst_proc_addr(instance, "xrEnumerateEnvironmentBlendModes", (PFN_xrVoidFunction*)&table->EnumerateEnvironmentBlendModes));
- (get_inst_proc_addr(instance, "xrCreateSession", (PFN_xrVoidFunction*)&table->CreateSession));
- (get_inst_proc_addr(instance, "xrDestroySession", (PFN_xrVoidFunction*)&table->DestroySession));
- (get_inst_proc_addr(instance, "xrEnumerateReferenceSpaces", (PFN_xrVoidFunction*)&table->EnumerateReferenceSpaces));
- (get_inst_proc_addr(instance, "xrCreateReferenceSpace", (PFN_xrVoidFunction*)&table->CreateReferenceSpace));
- (get_inst_proc_addr(instance, "xrGetReferenceSpaceBoundsRect", (PFN_xrVoidFunction*)&table->GetReferenceSpaceBoundsRect));
- (get_inst_proc_addr(instance, "xrCreateActionSpace", (PFN_xrVoidFunction*)&table->CreateActionSpace));
- (get_inst_proc_addr(instance, "xrLocateSpace", (PFN_xrVoidFunction*)&table->LocateSpace));
- (get_inst_proc_addr(instance, "xrDestroySpace", (PFN_xrVoidFunction*)&table->DestroySpace));
- (get_inst_proc_addr(instance, "xrEnumerateViewConfigurations", (PFN_xrVoidFunction*)&table->EnumerateViewConfigurations));
- (get_inst_proc_addr(instance, "xrGetViewConfigurationProperties", (PFN_xrVoidFunction*)&table->GetViewConfigurationProperties));
- (get_inst_proc_addr(instance, "xrEnumerateViewConfigurationViews", (PFN_xrVoidFunction*)&table->EnumerateViewConfigurationViews));
- (get_inst_proc_addr(instance, "xrEnumerateSwapchainFormats", (PFN_xrVoidFunction*)&table->EnumerateSwapchainFormats));
- (get_inst_proc_addr(instance, "xrCreateSwapchain", (PFN_xrVoidFunction*)&table->CreateSwapchain));
- (get_inst_proc_addr(instance, "xrDestroySwapchain", (PFN_xrVoidFunction*)&table->DestroySwapchain));
- (get_inst_proc_addr(instance, "xrEnumerateSwapchainImages", (PFN_xrVoidFunction*)&table->EnumerateSwapchainImages));
- (get_inst_proc_addr(instance, "xrAcquireSwapchainImage", (PFN_xrVoidFunction*)&table->AcquireSwapchainImage));
- (get_inst_proc_addr(instance, "xrWaitSwapchainImage", (PFN_xrVoidFunction*)&table->WaitSwapchainImage));
- (get_inst_proc_addr(instance, "xrReleaseSwapchainImage", (PFN_xrVoidFunction*)&table->ReleaseSwapchainImage));
- (get_inst_proc_addr(instance, "xrBeginSession", (PFN_xrVoidFunction*)&table->BeginSession));
- (get_inst_proc_addr(instance, "xrEndSession", (PFN_xrVoidFunction*)&table->EndSession));
- (get_inst_proc_addr(instance, "xrRequestExitSession", (PFN_xrVoidFunction*)&table->RequestExitSession));
- (get_inst_proc_addr(instance, "xrWaitFrame", (PFN_xrVoidFunction*)&table->WaitFrame));
- (get_inst_proc_addr(instance, "xrBeginFrame", (PFN_xrVoidFunction*)&table->BeginFrame));
- (get_inst_proc_addr(instance, "xrEndFrame", (PFN_xrVoidFunction*)&table->EndFrame));
- (get_inst_proc_addr(instance, "xrLocateViews", (PFN_xrVoidFunction*)&table->LocateViews));
- (get_inst_proc_addr(instance, "xrStringToPath", (PFN_xrVoidFunction*)&table->StringToPath));
- (get_inst_proc_addr(instance, "xrPathToString", (PFN_xrVoidFunction*)&table->PathToString));
- (get_inst_proc_addr(instance, "xrCreateActionSet", (PFN_xrVoidFunction*)&table->CreateActionSet));
- (get_inst_proc_addr(instance, "xrDestroyActionSet", (PFN_xrVoidFunction*)&table->DestroyActionSet));
- (get_inst_proc_addr(instance, "xrCreateAction", (PFN_xrVoidFunction*)&table->CreateAction));
- (get_inst_proc_addr(instance, "xrDestroyAction", (PFN_xrVoidFunction*)&table->DestroyAction));
- (get_inst_proc_addr(instance, "xrSuggestInteractionProfileBindings", (PFN_xrVoidFunction*)&table->SuggestInteractionProfileBindings));
- (get_inst_proc_addr(instance, "xrAttachSessionActionSets", (PFN_xrVoidFunction*)&table->AttachSessionActionSets));
- (get_inst_proc_addr(instance, "xrGetCurrentInteractionProfile", (PFN_xrVoidFunction*)&table->GetCurrentInteractionProfile));
- (get_inst_proc_addr(instance, "xrGetActionStateBoolean", (PFN_xrVoidFunction*)&table->GetActionStateBoolean));
- (get_inst_proc_addr(instance, "xrGetActionStateFloat", (PFN_xrVoidFunction*)&table->GetActionStateFloat));
- (get_inst_proc_addr(instance, "xrGetActionStateVector2f", (PFN_xrVoidFunction*)&table->GetActionStateVector2f));
- (get_inst_proc_addr(instance, "xrGetActionStatePose", (PFN_xrVoidFunction*)&table->GetActionStatePose));
- (get_inst_proc_addr(instance, "xrSyncActions", (PFN_xrVoidFunction*)&table->SyncActions));
- (get_inst_proc_addr(instance, "xrEnumerateBoundSourcesForAction", (PFN_xrVoidFunction*)&table->EnumerateBoundSourcesForAction));
- (get_inst_proc_addr(instance, "xrGetInputSourceLocalizedName", (PFN_xrVoidFunction*)&table->GetInputSourceLocalizedName));
- (get_inst_proc_addr(instance, "xrApplyHapticFeedback", (PFN_xrVoidFunction*)&table->ApplyHapticFeedback));
- (get_inst_proc_addr(instance, "xrStopHapticFeedback", (PFN_xrVoidFunction*)&table->StopHapticFeedback));
-
- // ---- XR_EXT_debug_utils extension commands
- (get_inst_proc_addr(instance, "xrSetDebugUtilsObjectNameEXT", (PFN_xrVoidFunction*)&table->SetDebugUtilsObjectNameEXT));
- (get_inst_proc_addr(instance, "xrCreateDebugUtilsMessengerEXT", (PFN_xrVoidFunction*)&table->CreateDebugUtilsMessengerEXT));
- (get_inst_proc_addr(instance, "xrDestroyDebugUtilsMessengerEXT", (PFN_xrVoidFunction*)&table->DestroyDebugUtilsMessengerEXT));
- (get_inst_proc_addr(instance, "xrSubmitDebugUtilsMessageEXT", (PFN_xrVoidFunction*)&table->SubmitDebugUtilsMessageEXT));
- (get_inst_proc_addr(instance, "xrSessionBeginDebugUtilsLabelRegionEXT", (PFN_xrVoidFunction*)&table->SessionBeginDebugUtilsLabelRegionEXT));
- (get_inst_proc_addr(instance, "xrSessionEndDebugUtilsLabelRegionEXT", (PFN_xrVoidFunction*)&table->SessionEndDebugUtilsLabelRegionEXT));
- (get_inst_proc_addr(instance, "xrSessionInsertDebugUtilsLabelEXT", (PFN_xrVoidFunction*)&table->SessionInsertDebugUtilsLabelEXT));
-}
-
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table_core.h b/thirdparty/openxr/src/xr_generated_dispatch_table_core.h
deleted file mode 100644
index 0f3e7e0502..0000000000
--- a/thirdparty/openxr/src/xr_generated_dispatch_table_core.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2017-2019, Valve Corporation
-// Copyright (c) 2017-2019, LunarG, Inc.
-
-// SPDX-License-Identifier: Apache-2.0 OR MIT
-
-// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
-// See utility_source_generator.py for modifications
-// ************************************************************
-
-// Copyright (c) 2017-2023, The Khronos Group Inc.
-// Copyright (c) 2017-2019 Valve Corporation
-// Copyright (c) 2017-2019 LunarG, Inc.
-//
-// SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Author: Mark Young <marky@lunarg.com>
-//
-
-#pragma once
-
-#include <openxr/openxr.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-// Generated dispatch table
-struct XrGeneratedDispatchTable {
-
- // ---- Core 1.0 commands
- PFN_xrGetInstanceProcAddr GetInstanceProcAddr;
- PFN_xrEnumerateApiLayerProperties EnumerateApiLayerProperties;
- PFN_xrEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
- PFN_xrCreateInstance CreateInstance;
- PFN_xrDestroyInstance DestroyInstance;
- PFN_xrGetInstanceProperties GetInstanceProperties;
- PFN_xrPollEvent PollEvent;
- PFN_xrResultToString ResultToString;
- PFN_xrStructureTypeToString StructureTypeToString;
- PFN_xrGetSystem GetSystem;
- PFN_xrGetSystemProperties GetSystemProperties;
- PFN_xrEnumerateEnvironmentBlendModes EnumerateEnvironmentBlendModes;
- PFN_xrCreateSession CreateSession;
- PFN_xrDestroySession DestroySession;
- PFN_xrEnumerateReferenceSpaces EnumerateReferenceSpaces;
- PFN_xrCreateReferenceSpace CreateReferenceSpace;
- PFN_xrGetReferenceSpaceBoundsRect GetReferenceSpaceBoundsRect;
- PFN_xrCreateActionSpace CreateActionSpace;
- PFN_xrLocateSpace LocateSpace;
- PFN_xrDestroySpace DestroySpace;
- PFN_xrEnumerateViewConfigurations EnumerateViewConfigurations;
- PFN_xrGetViewConfigurationProperties GetViewConfigurationProperties;
- PFN_xrEnumerateViewConfigurationViews EnumerateViewConfigurationViews;
- PFN_xrEnumerateSwapchainFormats EnumerateSwapchainFormats;
- PFN_xrCreateSwapchain CreateSwapchain;
- PFN_xrDestroySwapchain DestroySwapchain;
- PFN_xrEnumerateSwapchainImages EnumerateSwapchainImages;
- PFN_xrAcquireSwapchainImage AcquireSwapchainImage;
- PFN_xrWaitSwapchainImage WaitSwapchainImage;
- PFN_xrReleaseSwapchainImage ReleaseSwapchainImage;
- PFN_xrBeginSession BeginSession;
- PFN_xrEndSession EndSession;
- PFN_xrRequestExitSession RequestExitSession;
- PFN_xrWaitFrame WaitFrame;
- PFN_xrBeginFrame BeginFrame;
- PFN_xrEndFrame EndFrame;
- PFN_xrLocateViews LocateViews;
- PFN_xrStringToPath StringToPath;
- PFN_xrPathToString PathToString;
- PFN_xrCreateActionSet CreateActionSet;
- PFN_xrDestroyActionSet DestroyActionSet;
- PFN_xrCreateAction CreateAction;
- PFN_xrDestroyAction DestroyAction;
- PFN_xrSuggestInteractionProfileBindings SuggestInteractionProfileBindings;
- PFN_xrAttachSessionActionSets AttachSessionActionSets;
- PFN_xrGetCurrentInteractionProfile GetCurrentInteractionProfile;
- PFN_xrGetActionStateBoolean GetActionStateBoolean;
- PFN_xrGetActionStateFloat GetActionStateFloat;
- PFN_xrGetActionStateVector2f GetActionStateVector2f;
- PFN_xrGetActionStatePose GetActionStatePose;
- PFN_xrSyncActions SyncActions;
- PFN_xrEnumerateBoundSourcesForAction EnumerateBoundSourcesForAction;
- PFN_xrGetInputSourceLocalizedName GetInputSourceLocalizedName;
- PFN_xrApplyHapticFeedback ApplyHapticFeedback;
- PFN_xrStopHapticFeedback StopHapticFeedback;
-
- // ---- XR_EXT_debug_utils extension commands
- PFN_xrSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT;
- PFN_xrCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT;
- PFN_xrDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT;
- PFN_xrSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT;
- PFN_xrSessionBeginDebugUtilsLabelRegionEXT SessionBeginDebugUtilsLabelRegionEXT;
- PFN_xrSessionEndDebugUtilsLabelRegionEXT SessionEndDebugUtilsLabelRegionEXT;
- PFN_xrSessionInsertDebugUtilsLabelEXT SessionInsertDebugUtilsLabelEXT;
-};
-
-
-// Prototype for dispatch table helper function
-void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
- XrInstance instance,
- PFN_xrGetInstanceProcAddr get_inst_proc_addr);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-