summaryrefslogtreecommitdiffstats
path: root/thirdparty/openxr/src
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/openxr/src')
-rw-r--r--thirdparty/openxr/src/common/platform_utils.hpp88
-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.c468
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table.h475
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table_core.c113
-rw-r--r--thirdparty/openxr/src/xr_generated_dispatch_table_core.h119
13 files changed, 408 insertions, 1039 deletions
diff --git a/thirdparty/openxr/src/common/platform_utils.hpp b/thirdparty/openxr/src/common/platform_utils.hpp
index 219d19789d..0b295f5cc9 100644
--- a/thirdparty/openxr/src/common/platform_utils.hpp
+++ b/thirdparty/openxr/src/common/platform_utils.hpp
@@ -37,6 +37,44 @@
#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);
@@ -47,6 +85,7 @@ void LogPlatformUtilsError(const std::string& message);
#include <unistd.h>
#include <fcntl.h>
#include <iostream>
+#include <sys/stat.h>
namespace detail {
@@ -72,6 +111,31 @@ 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) {
@@ -130,15 +194,8 @@ 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) {
- file_name = rt_dir_prefix;
- file_name += std::to_string(major_version);
- file_name += rt_filename;
- return true;
+ return detail::ImplTryRuntimeFilename("/usr/local/share/openxr/", major_version, file_name);
}
#elif defined(XR_OS_WINDOWS)
@@ -155,7 +212,7 @@ inline std::wstring utf8_to_wide(const std::string& utf8Text) {
return {};
}
- // MultiByteToWideChar returns number of chars of the input buffer, regardless of null terminitor
+ // MultiByteToWideChar returns number of chars of the input buffer, regardless of null terminator
wideText.resize(wideLength, 0);
wchar_t* wideString = const_cast<wchar_t*>(wideText.data()); // mutable data() only exists in c++17
const int length = ::MultiByteToWideChar(CP_UTF8, 0, utf8Text.data(), (int)utf8Text.size(), wideString, wideLength);
@@ -179,7 +236,7 @@ inline std::string wide_to_utf8(const std::wstring& wideText) {
return {};
}
- // WideCharToMultiByte returns number of chars of the input buffer, regardless of null terminitor
+ // WideCharToMultiByte returns number of chars of the input buffer, regardless of null terminator
narrowText.resize(narrowLength, 0);
char* narrowString = const_cast<char*>(narrowText.data()); // mutable data() only exists in c++17
const int length =
@@ -311,22 +368,19 @@ 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) {
- auto path = prefix + subdir + std::to_string(major_version) + rt_filename;
- struct stat buf;
- if (0 == stat(path.c_str(), &buf)) {
- file_name = path;
+ const std::string rt_dir_prefix = prefix + subdir;
+ if (detail::ImplTryRuntimeFilename(rt_dir_prefix.c_str(), major_version, file_name)) {
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 5c7bd04774..6c9cf2d05f 100644
--- a/thirdparty/openxr/src/common/xr_dependencies.h
+++ b/thirdparty/openxr/src/common/xr_dependencies.h
@@ -76,7 +76,10 @@
#include "wayland-client.h"
#endif // XR_USE_PLATFORM_WAYLAND
-#ifdef XR_USE_GRAPHICS_API_OPENGL
+#ifdef XR_USE_PLATFORM_EGL
+#include <EGL/egl.h>
+#endif // XR_USE_PLATFORM_EGL
+
#if defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
#ifdef Success
#undef Success
@@ -90,4 +93,3 @@
#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 5b0da645ac..ce65f8ddfb 100644
--- a/thirdparty/openxr/src/common/xr_linear.h
+++ b/thirdparty/openxr/src/common/xr_linear.h
@@ -1,5 +1,5 @@
-// Copyright (c) 2017 The Khronos Group Inc.
-// Copyright (c) 2016 Oculus VR, LLC.
+// Copyright (c) 2017-2023, The Khronos Group Inc.
+// Copyright (c) 2016, Oculus VR, LLC.
//
// SPDX-License-Identifier: Apache-2.0
//
@@ -23,15 +23,17 @@
#include <openxr/openxr.h>
+/* REUSE-IgnoreStart */
+/* The following has copyright notices that duplicate the header above */
+
/*
================================================================================================
-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 : 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
@@ -145,6 +147,8 @@ 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 5560c31a52..c9e24ec40b 100644
--- a/thirdparty/openxr/src/loader/api_layer_interface.cpp
+++ b/thirdparty/openxr/src/loader/api_layer_interface.cpp
@@ -237,21 +237,23 @@ XrResult ApiLayerInterface::LoadApiLayers(const std::string& openxr_command, uin
for (const auto& layer_name : enabled_explicit_api_layer_names) {
bool found_this_layer = false;
- 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 (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;
+ }
- 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 98d3fa971a..06e6870053 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.h"
+#include "xr_generated_dispatch_table_core.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 badd39193c..ce5c205505 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.h"
+#include "xr_generated_dispatch_table_core.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 99f4e84104..0683bc166a 100644
--- a/thirdparty/openxr/src/loader/manifest_file.cpp
+++ b/thirdparty/openxr/src/loader/manifest_file.cpp
@@ -274,16 +274,45 @@ 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 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)) {
+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)) {
return true;
}
}
@@ -294,29 +323,26 @@ static bool FindXDGConfigFile(const std::string &relative_path, std::string &out
if (path.empty()) {
continue;
}
- out = path;
- out += "/";
- out += relative_path;
- LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in an entry of XDG_CONFIG_DIRS: " + out);
- if (FileSysUtilsPathExists(out)) {
+ dir_prefix = std::move(path);
+ dir_prefix += "/";
+ dir_prefix += relative_dir;
+ if (FindEitherActiveRuntimeFilename("an entry of XDG_CONFIG_DIRS", dir_prefix, major_version, out)) {
return true;
}
}
- out = SYSCONFDIR;
- out += "/";
- out += relative_path;
- LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in compiled-in SYSCONFDIR: " + out);
- if (FileSysUtilsPathExists(out)) {
+ dir_prefix = SYSCONFDIR;
+ dir_prefix += "/";
+ dir_prefix += relative_dir;
+ if (FindEitherActiveRuntimeFilename("compiled-in SYSCONFDIR", dir_prefix, major_version, out)) {
return true;
}
#if defined(EXTRASYSCONFDIR)
- out = EXTRASYSCONFDIR;
- out += "/";
- out += relative_path;
- LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in compiled-in EXTRASYSCONFDIR: " + out);
- if (FileSysUtilsPathExists(out)) {
+ dir_prefix = EXTRASYSCONFDIR;
+ dir_prefix += "/";
+ dir_prefix += relative_dir;
+ if (FindEitherActiveRuntimeFilename("compiled-in EXTRASYSCONFDIR", dir_prefix, major_version, out)) {
return true;
}
#endif
@@ -632,9 +658,8 @@ XrResult RuntimeManifestFile::FindManifestFiles(std::vector<std::unique_ptr<Runt
LoaderLogger::LogInfoMessage("",
"RuntimeManifestFile::FindManifestFiles - using registry-specified runtime file " + filename);
#elif defined(XR_OS_LINUX)
- const std::string relative_path =
- "openxr/" + std::to_string(XR_VERSION_MAJOR(XR_CURRENT_API_VERSION)) + "/active_runtime.json";
- if (!FindXDGConfigFile(relative_path, filename)) {
+
+ if (!FindXDGConfigFile("openxr/", XR_VERSION_MAJOR(XR_CURRENT_API_VERSION), 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 d9ab86bb58..8312b15ba4 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.h"
+#include "xr_generated_dispatch_table_core.h"
#include <openxr/openxr.h>
@@ -29,6 +29,10 @@
#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
@@ -105,33 +109,22 @@ 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;
- 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);
+ 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");
+
_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 e7767fd30a..8c79afddc5 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.h"
+#include "xr_generated_dispatch_table_core.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
deleted file mode 100644
index 302bed31f5..0000000000
--- a/thirdparty/openxr/src/xr_generated_dispatch_table.c
+++ /dev/null
@@ -1,468 +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 <time.h>
-#include "xr_generated_dispatch_table.h"
-#include "xr_dependencies.h"
-#include <openxr/openxr.h>
-#include <openxr/openxr_platform.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_KHR_android_thread_settings extension commands
-#if defined(XR_USE_PLATFORM_ANDROID)
- (get_inst_proc_addr(instance, "xrSetAndroidApplicationThreadKHR", (PFN_xrVoidFunction*)&table->SetAndroidApplicationThreadKHR));
-#endif // defined(XR_USE_PLATFORM_ANDROID)
-
- // ---- XR_KHR_android_surface_swapchain extension commands
-#if defined(XR_USE_PLATFORM_ANDROID)
- (get_inst_proc_addr(instance, "xrCreateSwapchainAndroidSurfaceKHR", (PFN_xrVoidFunction*)&table->CreateSwapchainAndroidSurfaceKHR));
-#endif // defined(XR_USE_PLATFORM_ANDROID)
-
- // ---- XR_KHR_opengl_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_OPENGL)
- (get_inst_proc_addr(instance, "xrGetOpenGLGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetOpenGLGraphicsRequirementsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_OPENGL)
-
- // ---- XR_KHR_opengl_es_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
- (get_inst_proc_addr(instance, "xrGetOpenGLESGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetOpenGLESGraphicsRequirementsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_OPENGL_ES)
-
- // ---- XR_KHR_vulkan_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrGetVulkanInstanceExtensionsKHR", (PFN_xrVoidFunction*)&table->GetVulkanInstanceExtensionsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrGetVulkanDeviceExtensionsKHR", (PFN_xrVoidFunction*)&table->GetVulkanDeviceExtensionsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrGetVulkanGraphicsDeviceKHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsDeviceKHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrGetVulkanGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsRequirementsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-
- // ---- XR_KHR_D3D11_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_D3D11)
- (get_inst_proc_addr(instance, "xrGetD3D11GraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetD3D11GraphicsRequirementsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_D3D11)
-
- // ---- XR_KHR_D3D12_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_D3D12)
- (get_inst_proc_addr(instance, "xrGetD3D12GraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetD3D12GraphicsRequirementsKHR));
-#endif // defined(XR_USE_GRAPHICS_API_D3D12)
-
- // ---- XR_KHR_visibility_mask extension commands
- (get_inst_proc_addr(instance, "xrGetVisibilityMaskKHR", (PFN_xrVoidFunction*)&table->GetVisibilityMaskKHR));
-
- // ---- XR_KHR_win32_convert_performance_counter_time extension commands
-#if defined(XR_USE_PLATFORM_WIN32)
- (get_inst_proc_addr(instance, "xrConvertWin32PerformanceCounterToTimeKHR", (PFN_xrVoidFunction*)&table->ConvertWin32PerformanceCounterToTimeKHR));
-#endif // defined(XR_USE_PLATFORM_WIN32)
-#if defined(XR_USE_PLATFORM_WIN32)
- (get_inst_proc_addr(instance, "xrConvertTimeToWin32PerformanceCounterKHR", (PFN_xrVoidFunction*)&table->ConvertTimeToWin32PerformanceCounterKHR));
-#endif // defined(XR_USE_PLATFORM_WIN32)
-
- // ---- XR_KHR_convert_timespec_time extension commands
-#if defined(XR_USE_TIMESPEC)
- (get_inst_proc_addr(instance, "xrConvertTimespecTimeToTimeKHR", (PFN_xrVoidFunction*)&table->ConvertTimespecTimeToTimeKHR));
-#endif // defined(XR_USE_TIMESPEC)
-#if defined(XR_USE_TIMESPEC)
- (get_inst_proc_addr(instance, "xrConvertTimeToTimespecTimeKHR", (PFN_xrVoidFunction*)&table->ConvertTimeToTimespecTimeKHR));
-#endif // defined(XR_USE_TIMESPEC)
-
- // ---- XR_KHR_vulkan_enable2 extension commands
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrCreateVulkanInstanceKHR", (PFN_xrVoidFunction*)&table->CreateVulkanInstanceKHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrCreateVulkanDeviceKHR", (PFN_xrVoidFunction*)&table->CreateVulkanDeviceKHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrGetVulkanGraphicsDevice2KHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsDevice2KHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- (get_inst_proc_addr(instance, "xrGetVulkanGraphicsRequirements2KHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsRequirements2KHR));
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-
- // ---- XR_EXT_performance_settings extension commands
- (get_inst_proc_addr(instance, "xrPerfSettingsSetPerformanceLevelEXT", (PFN_xrVoidFunction*)&table->PerfSettingsSetPerformanceLevelEXT));
-
- // ---- XR_EXT_thermal_query extension commands
- (get_inst_proc_addr(instance, "xrThermalGetTemperatureTrendEXT", (PFN_xrVoidFunction*)&table->ThermalGetTemperatureTrendEXT));
-
- // ---- 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));
-
- // ---- XR_MSFT_spatial_anchor extension commands
- (get_inst_proc_addr(instance, "xrCreateSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorMSFT));
- (get_inst_proc_addr(instance, "xrCreateSpatialAnchorSpaceMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorSpaceMSFT));
- (get_inst_proc_addr(instance, "xrDestroySpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->DestroySpatialAnchorMSFT));
-
- // ---- XR_EXT_conformance_automation extension commands
- (get_inst_proc_addr(instance, "xrSetInputDeviceActiveEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceActiveEXT));
- (get_inst_proc_addr(instance, "xrSetInputDeviceStateBoolEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceStateBoolEXT));
- (get_inst_proc_addr(instance, "xrSetInputDeviceStateFloatEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceStateFloatEXT));
- (get_inst_proc_addr(instance, "xrSetInputDeviceStateVector2fEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceStateVector2fEXT));
- (get_inst_proc_addr(instance, "xrSetInputDeviceLocationEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceLocationEXT));
-
- // ---- XR_MSFT_spatial_graph_bridge extension commands
- (get_inst_proc_addr(instance, "xrCreateSpatialGraphNodeSpaceMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialGraphNodeSpaceMSFT));
- (get_inst_proc_addr(instance, "xrTryCreateSpatialGraphStaticNodeBindingMSFT", (PFN_xrVoidFunction*)&table->TryCreateSpatialGraphStaticNodeBindingMSFT));
- (get_inst_proc_addr(instance, "xrDestroySpatialGraphNodeBindingMSFT", (PFN_xrVoidFunction*)&table->DestroySpatialGraphNodeBindingMSFT));
- (get_inst_proc_addr(instance, "xrGetSpatialGraphNodeBindingPropertiesMSFT", (PFN_xrVoidFunction*)&table->GetSpatialGraphNodeBindingPropertiesMSFT));
-
- // ---- XR_EXT_hand_tracking extension commands
- (get_inst_proc_addr(instance, "xrCreateHandTrackerEXT", (PFN_xrVoidFunction*)&table->CreateHandTrackerEXT));
- (get_inst_proc_addr(instance, "xrDestroyHandTrackerEXT", (PFN_xrVoidFunction*)&table->DestroyHandTrackerEXT));
- (get_inst_proc_addr(instance, "xrLocateHandJointsEXT", (PFN_xrVoidFunction*)&table->LocateHandJointsEXT));
-
- // ---- XR_MSFT_hand_tracking_mesh extension commands
- (get_inst_proc_addr(instance, "xrCreateHandMeshSpaceMSFT", (PFN_xrVoidFunction*)&table->CreateHandMeshSpaceMSFT));
- (get_inst_proc_addr(instance, "xrUpdateHandMeshMSFT", (PFN_xrVoidFunction*)&table->UpdateHandMeshMSFT));
-
- // ---- XR_MSFT_controller_model extension commands
- (get_inst_proc_addr(instance, "xrGetControllerModelKeyMSFT", (PFN_xrVoidFunction*)&table->GetControllerModelKeyMSFT));
- (get_inst_proc_addr(instance, "xrLoadControllerModelMSFT", (PFN_xrVoidFunction*)&table->LoadControllerModelMSFT));
- (get_inst_proc_addr(instance, "xrGetControllerModelPropertiesMSFT", (PFN_xrVoidFunction*)&table->GetControllerModelPropertiesMSFT));
- (get_inst_proc_addr(instance, "xrGetControllerModelStateMSFT", (PFN_xrVoidFunction*)&table->GetControllerModelStateMSFT));
-
- // ---- XR_MSFT_perception_anchor_interop extension commands
-#if defined(XR_USE_PLATFORM_WIN32)
- (get_inst_proc_addr(instance, "xrCreateSpatialAnchorFromPerceptionAnchorMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFromPerceptionAnchorMSFT));
-#endif // defined(XR_USE_PLATFORM_WIN32)
-#if defined(XR_USE_PLATFORM_WIN32)
- (get_inst_proc_addr(instance, "xrTryGetPerceptionAnchorFromSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->TryGetPerceptionAnchorFromSpatialAnchorMSFT));
-#endif // defined(XR_USE_PLATFORM_WIN32)
-
- // ---- XR_MSFT_composition_layer_reprojection extension commands
- (get_inst_proc_addr(instance, "xrEnumerateReprojectionModesMSFT", (PFN_xrVoidFunction*)&table->EnumerateReprojectionModesMSFT));
-
- // ---- XR_FB_swapchain_update_state extension commands
- (get_inst_proc_addr(instance, "xrUpdateSwapchainFB", (PFN_xrVoidFunction*)&table->UpdateSwapchainFB));
- (get_inst_proc_addr(instance, "xrGetSwapchainStateFB", (PFN_xrVoidFunction*)&table->GetSwapchainStateFB));
-
- // ---- XR_FB_body_tracking extension commands
- (get_inst_proc_addr(instance, "xrCreateBodyTrackerFB", (PFN_xrVoidFunction*)&table->CreateBodyTrackerFB));
- (get_inst_proc_addr(instance, "xrDestroyBodyTrackerFB", (PFN_xrVoidFunction*)&table->DestroyBodyTrackerFB));
- (get_inst_proc_addr(instance, "xrLocateBodyJointsFB", (PFN_xrVoidFunction*)&table->LocateBodyJointsFB));
- (get_inst_proc_addr(instance, "xrGetBodySkeletonFB", (PFN_xrVoidFunction*)&table->GetBodySkeletonFB));
-
- // ---- XR_MSFT_scene_understanding extension commands
- (get_inst_proc_addr(instance, "xrEnumerateSceneComputeFeaturesMSFT", (PFN_xrVoidFunction*)&table->EnumerateSceneComputeFeaturesMSFT));
- (get_inst_proc_addr(instance, "xrCreateSceneObserverMSFT", (PFN_xrVoidFunction*)&table->CreateSceneObserverMSFT));
- (get_inst_proc_addr(instance, "xrDestroySceneObserverMSFT", (PFN_xrVoidFunction*)&table->DestroySceneObserverMSFT));
- (get_inst_proc_addr(instance, "xrCreateSceneMSFT", (PFN_xrVoidFunction*)&table->CreateSceneMSFT));
- (get_inst_proc_addr(instance, "xrDestroySceneMSFT", (PFN_xrVoidFunction*)&table->DestroySceneMSFT));
- (get_inst_proc_addr(instance, "xrComputeNewSceneMSFT", (PFN_xrVoidFunction*)&table->ComputeNewSceneMSFT));
- (get_inst_proc_addr(instance, "xrGetSceneComputeStateMSFT", (PFN_xrVoidFunction*)&table->GetSceneComputeStateMSFT));
- (get_inst_proc_addr(instance, "xrGetSceneComponentsMSFT", (PFN_xrVoidFunction*)&table->GetSceneComponentsMSFT));
- (get_inst_proc_addr(instance, "xrLocateSceneComponentsMSFT", (PFN_xrVoidFunction*)&table->LocateSceneComponentsMSFT));
- (get_inst_proc_addr(instance, "xrGetSceneMeshBuffersMSFT", (PFN_xrVoidFunction*)&table->GetSceneMeshBuffersMSFT));
-
- // ---- XR_MSFT_scene_understanding_serialization extension commands
- (get_inst_proc_addr(instance, "xrDeserializeSceneMSFT", (PFN_xrVoidFunction*)&table->DeserializeSceneMSFT));
- (get_inst_proc_addr(instance, "xrGetSerializedSceneFragmentDataMSFT", (PFN_xrVoidFunction*)&table->GetSerializedSceneFragmentDataMSFT));
-
- // ---- XR_FB_display_refresh_rate extension commands
- (get_inst_proc_addr(instance, "xrEnumerateDisplayRefreshRatesFB", (PFN_xrVoidFunction*)&table->EnumerateDisplayRefreshRatesFB));
- (get_inst_proc_addr(instance, "xrGetDisplayRefreshRateFB", (PFN_xrVoidFunction*)&table->GetDisplayRefreshRateFB));
- (get_inst_proc_addr(instance, "xrRequestDisplayRefreshRateFB", (PFN_xrVoidFunction*)&table->RequestDisplayRefreshRateFB));
-
- // ---- XR_HTCX_vive_tracker_interaction extension commands
- (get_inst_proc_addr(instance, "xrEnumerateViveTrackerPathsHTCX", (PFN_xrVoidFunction*)&table->EnumerateViveTrackerPathsHTCX));
-
- // ---- XR_HTC_facial_tracking extension commands
- (get_inst_proc_addr(instance, "xrCreateFacialTrackerHTC", (PFN_xrVoidFunction*)&table->CreateFacialTrackerHTC));
- (get_inst_proc_addr(instance, "xrDestroyFacialTrackerHTC", (PFN_xrVoidFunction*)&table->DestroyFacialTrackerHTC));
- (get_inst_proc_addr(instance, "xrGetFacialExpressionsHTC", (PFN_xrVoidFunction*)&table->GetFacialExpressionsHTC));
-
- // ---- XR_FB_color_space extension commands
- (get_inst_proc_addr(instance, "xrEnumerateColorSpacesFB", (PFN_xrVoidFunction*)&table->EnumerateColorSpacesFB));
- (get_inst_proc_addr(instance, "xrSetColorSpaceFB", (PFN_xrVoidFunction*)&table->SetColorSpaceFB));
-
- // ---- XR_FB_hand_tracking_mesh extension commands
- (get_inst_proc_addr(instance, "xrGetHandMeshFB", (PFN_xrVoidFunction*)&table->GetHandMeshFB));
-
- // ---- XR_FB_spatial_entity extension commands
- (get_inst_proc_addr(instance, "xrCreateSpatialAnchorFB", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFB));
- (get_inst_proc_addr(instance, "xrGetSpaceUuidFB", (PFN_xrVoidFunction*)&table->GetSpaceUuidFB));
- (get_inst_proc_addr(instance, "xrEnumerateSpaceSupportedComponentsFB", (PFN_xrVoidFunction*)&table->EnumerateSpaceSupportedComponentsFB));
- (get_inst_proc_addr(instance, "xrSetSpaceComponentStatusFB", (PFN_xrVoidFunction*)&table->SetSpaceComponentStatusFB));
- (get_inst_proc_addr(instance, "xrGetSpaceComponentStatusFB", (PFN_xrVoidFunction*)&table->GetSpaceComponentStatusFB));
-
- // ---- XR_FB_foveation extension commands
- (get_inst_proc_addr(instance, "xrCreateFoveationProfileFB", (PFN_xrVoidFunction*)&table->CreateFoveationProfileFB));
- (get_inst_proc_addr(instance, "xrDestroyFoveationProfileFB", (PFN_xrVoidFunction*)&table->DestroyFoveationProfileFB));
-
- // ---- XR_FB_keyboard_tracking extension commands
- (get_inst_proc_addr(instance, "xrQuerySystemTrackedKeyboardFB", (PFN_xrVoidFunction*)&table->QuerySystemTrackedKeyboardFB));
- (get_inst_proc_addr(instance, "xrCreateKeyboardSpaceFB", (PFN_xrVoidFunction*)&table->CreateKeyboardSpaceFB));
-
- // ---- XR_FB_triangle_mesh extension commands
- (get_inst_proc_addr(instance, "xrCreateTriangleMeshFB", (PFN_xrVoidFunction*)&table->CreateTriangleMeshFB));
- (get_inst_proc_addr(instance, "xrDestroyTriangleMeshFB", (PFN_xrVoidFunction*)&table->DestroyTriangleMeshFB));
- (get_inst_proc_addr(instance, "xrTriangleMeshGetVertexBufferFB", (PFN_xrVoidFunction*)&table->TriangleMeshGetVertexBufferFB));
- (get_inst_proc_addr(instance, "xrTriangleMeshGetIndexBufferFB", (PFN_xrVoidFunction*)&table->TriangleMeshGetIndexBufferFB));
- (get_inst_proc_addr(instance, "xrTriangleMeshBeginUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshBeginUpdateFB));
- (get_inst_proc_addr(instance, "xrTriangleMeshEndUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshEndUpdateFB));
- (get_inst_proc_addr(instance, "xrTriangleMeshBeginVertexBufferUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshBeginVertexBufferUpdateFB));
- (get_inst_proc_addr(instance, "xrTriangleMeshEndVertexBufferUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshEndVertexBufferUpdateFB));
-
- // ---- XR_FB_passthrough extension commands
- (get_inst_proc_addr(instance, "xrCreatePassthroughFB", (PFN_xrVoidFunction*)&table->CreatePassthroughFB));
- (get_inst_proc_addr(instance, "xrDestroyPassthroughFB", (PFN_xrVoidFunction*)&table->DestroyPassthroughFB));
- (get_inst_proc_addr(instance, "xrPassthroughStartFB", (PFN_xrVoidFunction*)&table->PassthroughStartFB));
- (get_inst_proc_addr(instance, "xrPassthroughPauseFB", (PFN_xrVoidFunction*)&table->PassthroughPauseFB));
- (get_inst_proc_addr(instance, "xrCreatePassthroughLayerFB", (PFN_xrVoidFunction*)&table->CreatePassthroughLayerFB));
- (get_inst_proc_addr(instance, "xrDestroyPassthroughLayerFB", (PFN_xrVoidFunction*)&table->DestroyPassthroughLayerFB));
- (get_inst_proc_addr(instance, "xrPassthroughLayerPauseFB", (PFN_xrVoidFunction*)&table->PassthroughLayerPauseFB));
- (get_inst_proc_addr(instance, "xrPassthroughLayerResumeFB", (PFN_xrVoidFunction*)&table->PassthroughLayerResumeFB));
- (get_inst_proc_addr(instance, "xrPassthroughLayerSetStyleFB", (PFN_xrVoidFunction*)&table->PassthroughLayerSetStyleFB));
- (get_inst_proc_addr(instance, "xrCreateGeometryInstanceFB", (PFN_xrVoidFunction*)&table->CreateGeometryInstanceFB));
- (get_inst_proc_addr(instance, "xrDestroyGeometryInstanceFB", (PFN_xrVoidFunction*)&table->DestroyGeometryInstanceFB));
- (get_inst_proc_addr(instance, "xrGeometryInstanceSetTransformFB", (PFN_xrVoidFunction*)&table->GeometryInstanceSetTransformFB));
-
- // ---- XR_FB_render_model extension commands
- (get_inst_proc_addr(instance, "xrEnumerateRenderModelPathsFB", (PFN_xrVoidFunction*)&table->EnumerateRenderModelPathsFB));
- (get_inst_proc_addr(instance, "xrGetRenderModelPropertiesFB", (PFN_xrVoidFunction*)&table->GetRenderModelPropertiesFB));
- (get_inst_proc_addr(instance, "xrLoadRenderModelFB", (PFN_xrVoidFunction*)&table->LoadRenderModelFB));
-
- // ---- XR_VARJO_environment_depth_estimation extension commands
- (get_inst_proc_addr(instance, "xrSetEnvironmentDepthEstimationVARJO", (PFN_xrVoidFunction*)&table->SetEnvironmentDepthEstimationVARJO));
-
- // ---- XR_VARJO_marker_tracking extension commands
- (get_inst_proc_addr(instance, "xrSetMarkerTrackingVARJO", (PFN_xrVoidFunction*)&table->SetMarkerTrackingVARJO));
- (get_inst_proc_addr(instance, "xrSetMarkerTrackingTimeoutVARJO", (PFN_xrVoidFunction*)&table->SetMarkerTrackingTimeoutVARJO));
- (get_inst_proc_addr(instance, "xrSetMarkerTrackingPredictionVARJO", (PFN_xrVoidFunction*)&table->SetMarkerTrackingPredictionVARJO));
- (get_inst_proc_addr(instance, "xrGetMarkerSizeVARJO", (PFN_xrVoidFunction*)&table->GetMarkerSizeVARJO));
- (get_inst_proc_addr(instance, "xrCreateMarkerSpaceVARJO", (PFN_xrVoidFunction*)&table->CreateMarkerSpaceVARJO));
-
- // ---- XR_VARJO_view_offset extension commands
- (get_inst_proc_addr(instance, "xrSetViewOffsetVARJO", (PFN_xrVoidFunction*)&table->SetViewOffsetVARJO));
-
- // ---- XR_ML_compat extension commands
-#if defined(XR_USE_PLATFORM_ML)
- (get_inst_proc_addr(instance, "xrCreateSpaceFromCoordinateFrameUIDML", (PFN_xrVoidFunction*)&table->CreateSpaceFromCoordinateFrameUIDML));
-#endif // defined(XR_USE_PLATFORM_ML)
-
- // ---- XR_MSFT_spatial_anchor_persistence extension commands
- (get_inst_proc_addr(instance, "xrCreateSpatialAnchorStoreConnectionMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorStoreConnectionMSFT));
- (get_inst_proc_addr(instance, "xrDestroySpatialAnchorStoreConnectionMSFT", (PFN_xrVoidFunction*)&table->DestroySpatialAnchorStoreConnectionMSFT));
- (get_inst_proc_addr(instance, "xrPersistSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->PersistSpatialAnchorMSFT));
- (get_inst_proc_addr(instance, "xrEnumeratePersistedSpatialAnchorNamesMSFT", (PFN_xrVoidFunction*)&table->EnumeratePersistedSpatialAnchorNamesMSFT));
- (get_inst_proc_addr(instance, "xrCreateSpatialAnchorFromPersistedNameMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFromPersistedNameMSFT));
- (get_inst_proc_addr(instance, "xrUnpersistSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->UnpersistSpatialAnchorMSFT));
- (get_inst_proc_addr(instance, "xrClearSpatialAnchorStoreMSFT", (PFN_xrVoidFunction*)&table->ClearSpatialAnchorStoreMSFT));
-
- // ---- XR_FB_spatial_entity_query extension commands
- (get_inst_proc_addr(instance, "xrQuerySpacesFB", (PFN_xrVoidFunction*)&table->QuerySpacesFB));
- (get_inst_proc_addr(instance, "xrRetrieveSpaceQueryResultsFB", (PFN_xrVoidFunction*)&table->RetrieveSpaceQueryResultsFB));
-
- // ---- XR_FB_spatial_entity_storage extension commands
- (get_inst_proc_addr(instance, "xrSaveSpaceFB", (PFN_xrVoidFunction*)&table->SaveSpaceFB));
- (get_inst_proc_addr(instance, "xrEraseSpaceFB", (PFN_xrVoidFunction*)&table->EraseSpaceFB));
-
- // ---- XR_OCULUS_audio_device_guid extension commands
-#if defined(XR_USE_PLATFORM_WIN32)
- (get_inst_proc_addr(instance, "xrGetAudioOutputDeviceGuidOculus", (PFN_xrVoidFunction*)&table->GetAudioOutputDeviceGuidOculus));
-#endif // defined(XR_USE_PLATFORM_WIN32)
-#if defined(XR_USE_PLATFORM_WIN32)
- (get_inst_proc_addr(instance, "xrGetAudioInputDeviceGuidOculus", (PFN_xrVoidFunction*)&table->GetAudioInputDeviceGuidOculus));
-#endif // defined(XR_USE_PLATFORM_WIN32)
-
- // ---- XR_FB_spatial_entity_sharing extension commands
- (get_inst_proc_addr(instance, "xrShareSpacesFB", (PFN_xrVoidFunction*)&table->ShareSpacesFB));
-
- // ---- XR_FB_scene extension commands
- (get_inst_proc_addr(instance, "xrGetSpaceBoundingBox2DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox2DFB));
- (get_inst_proc_addr(instance, "xrGetSpaceBoundingBox3DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox3DFB));
- (get_inst_proc_addr(instance, "xrGetSpaceSemanticLabelsFB", (PFN_xrVoidFunction*)&table->GetSpaceSemanticLabelsFB));
- (get_inst_proc_addr(instance, "xrGetSpaceBoundary2DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundary2DFB));
- (get_inst_proc_addr(instance, "xrGetSpaceRoomLayoutFB", (PFN_xrVoidFunction*)&table->GetSpaceRoomLayoutFB));
-
- // ---- XR_ALMALENCE_digital_lens_control extension commands
- (get_inst_proc_addr(instance, "xrSetDigitalLensControlALMALENCE", (PFN_xrVoidFunction*)&table->SetDigitalLensControlALMALENCE));
-
- // ---- XR_FB_scene_capture extension commands
- (get_inst_proc_addr(instance, "xrRequestSceneCaptureFB", (PFN_xrVoidFunction*)&table->RequestSceneCaptureFB));
-
- // ---- XR_FB_spatial_entity_container extension commands
- (get_inst_proc_addr(instance, "xrGetSpaceContainerFB", (PFN_xrVoidFunction*)&table->GetSpaceContainerFB));
-
- // ---- XR_META_foveation_eye_tracked extension commands
- (get_inst_proc_addr(instance, "xrGetFoveationEyeTrackedStateMETA", (PFN_xrVoidFunction*)&table->GetFoveationEyeTrackedStateMETA));
-
- // ---- XR_FB_face_tracking extension commands
- (get_inst_proc_addr(instance, "xrCreateFaceTrackerFB", (PFN_xrVoidFunction*)&table->CreateFaceTrackerFB));
- (get_inst_proc_addr(instance, "xrDestroyFaceTrackerFB", (PFN_xrVoidFunction*)&table->DestroyFaceTrackerFB));
- (get_inst_proc_addr(instance, "xrGetFaceExpressionWeightsFB", (PFN_xrVoidFunction*)&table->GetFaceExpressionWeightsFB));
-
- // ---- XR_FB_eye_tracking_social extension commands
- (get_inst_proc_addr(instance, "xrCreateEyeTrackerFB", (PFN_xrVoidFunction*)&table->CreateEyeTrackerFB));
- (get_inst_proc_addr(instance, "xrDestroyEyeTrackerFB", (PFN_xrVoidFunction*)&table->DestroyEyeTrackerFB));
- (get_inst_proc_addr(instance, "xrGetEyeGazesFB", (PFN_xrVoidFunction*)&table->GetEyeGazesFB));
-
- // ---- XR_FB_passthrough_keyboard_hands extension commands
- (get_inst_proc_addr(instance, "xrPassthroughLayerSetKeyboardHandsIntensityFB", (PFN_xrVoidFunction*)&table->PassthroughLayerSetKeyboardHandsIntensityFB));
-
- // ---- XR_FB_haptic_pcm extension commands
- (get_inst_proc_addr(instance, "xrGetDeviceSampleRateFB", (PFN_xrVoidFunction*)&table->GetDeviceSampleRateFB));
-
- // ---- 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));
- (get_inst_proc_addr(instance, "xrCreateVirtualKeyboardSpaceMETA", (PFN_xrVoidFunction*)&table->CreateVirtualKeyboardSpaceMETA));
- (get_inst_proc_addr(instance, "xrSuggestVirtualKeyboardLocationMETA", (PFN_xrVoidFunction*)&table->SuggestVirtualKeyboardLocationMETA));
- (get_inst_proc_addr(instance, "xrGetVirtualKeyboardScaleMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardScaleMETA));
- (get_inst_proc_addr(instance, "xrSetVirtualKeyboardModelVisibilityMETA", (PFN_xrVoidFunction*)&table->SetVirtualKeyboardModelVisibilityMETA));
- (get_inst_proc_addr(instance, "xrGetVirtualKeyboardModelAnimationStatesMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardModelAnimationStatesMETA));
- (get_inst_proc_addr(instance, "xrGetVirtualKeyboardDirtyTexturesMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardDirtyTexturesMETA));
- (get_inst_proc_addr(instance, "xrGetVirtualKeyboardTextureDataMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardTextureDataMETA));
- (get_inst_proc_addr(instance, "xrSendVirtualKeyboardInputMETA", (PFN_xrVoidFunction*)&table->SendVirtualKeyboardInputMETA));
- (get_inst_proc_addr(instance, "xrChangeVirtualKeyboardTextContextMETA", (PFN_xrVoidFunction*)&table->ChangeVirtualKeyboardTextContextMETA));
-
- // ---- XR_OCULUS_external_camera extension commands
- (get_inst_proc_addr(instance, "xrEnumerateExternalCamerasOCULUS", (PFN_xrVoidFunction*)&table->EnumerateExternalCamerasOCULUS));
-
- // ---- XR_META_performance_metrics extension commands
- (get_inst_proc_addr(instance, "xrEnumeratePerformanceMetricsCounterPathsMETA", (PFN_xrVoidFunction*)&table->EnumeratePerformanceMetricsCounterPathsMETA));
- (get_inst_proc_addr(instance, "xrSetPerformanceMetricsStateMETA", (PFN_xrVoidFunction*)&table->SetPerformanceMetricsStateMETA));
- (get_inst_proc_addr(instance, "xrGetPerformanceMetricsStateMETA", (PFN_xrVoidFunction*)&table->GetPerformanceMetricsStateMETA));
- (get_inst_proc_addr(instance, "xrQueryPerformanceMetricsCounterMETA", (PFN_xrVoidFunction*)&table->QueryPerformanceMetricsCounterMETA));
-
- // ---- XR_FB_spatial_entity_storage_batch extension commands
- (get_inst_proc_addr(instance, "xrSaveSpaceListFB", (PFN_xrVoidFunction*)&table->SaveSpaceListFB));
-
- // ---- XR_FB_spatial_entity_user extension commands
- (get_inst_proc_addr(instance, "xrCreateSpaceUserFB", (PFN_xrVoidFunction*)&table->CreateSpaceUserFB));
- (get_inst_proc_addr(instance, "xrGetSpaceUserIdFB", (PFN_xrVoidFunction*)&table->GetSpaceUserIdFB));
- (get_inst_proc_addr(instance, "xrDestroySpaceUserFB", (PFN_xrVoidFunction*)&table->DestroySpaceUserFB));
-
- // ---- XR_META_passthrough_color_lut extension commands
- (get_inst_proc_addr(instance, "xrCreatePassthroughColorLutMETA", (PFN_xrVoidFunction*)&table->CreatePassthroughColorLutMETA));
- (get_inst_proc_addr(instance, "xrDestroyPassthroughColorLutMETA", (PFN_xrVoidFunction*)&table->DestroyPassthroughColorLutMETA));
- (get_inst_proc_addr(instance, "xrUpdatePassthroughColorLutMETA", (PFN_xrVoidFunction*)&table->UpdatePassthroughColorLutMETA));
-
- // ---- XR_QCOM_tracking_optimization_settings extension commands
- (get_inst_proc_addr(instance, "xrSetTrackingOptimizationSettingsHintQCOM", (PFN_xrVoidFunction*)&table->SetTrackingOptimizationSettingsHintQCOM));
-
- // ---- XR_HTC_passthrough extension commands
- (get_inst_proc_addr(instance, "xrCreatePassthroughHTC", (PFN_xrVoidFunction*)&table->CreatePassthroughHTC));
- (get_inst_proc_addr(instance, "xrDestroyPassthroughHTC", (PFN_xrVoidFunction*)&table->DestroyPassthroughHTC));
-
- // ---- XR_HTC_foveation extension commands
- (get_inst_proc_addr(instance, "xrApplyFoveationHTC", (PFN_xrVoidFunction*)&table->ApplyFoveationHTC));
-
- // ---- XR_MNDX_force_feedback_curl extension commands
- (get_inst_proc_addr(instance, "xrApplyForceFeedbackCurlMNDX", (PFN_xrVoidFunction*)&table->ApplyForceFeedbackCurlMNDX));
-
- // ---- XR_EXT_plane_detection extension commands
- (get_inst_proc_addr(instance, "xrCreatePlaneDetectorEXT", (PFN_xrVoidFunction*)&table->CreatePlaneDetectorEXT));
- (get_inst_proc_addr(instance, "xrDestroyPlaneDetectorEXT", (PFN_xrVoidFunction*)&table->DestroyPlaneDetectorEXT));
- (get_inst_proc_addr(instance, "xrBeginPlaneDetectionEXT", (PFN_xrVoidFunction*)&table->BeginPlaneDetectionEXT));
- (get_inst_proc_addr(instance, "xrGetPlaneDetectionStateEXT", (PFN_xrVoidFunction*)&table->GetPlaneDetectionStateEXT));
- (get_inst_proc_addr(instance, "xrGetPlaneDetectionsEXT", (PFN_xrVoidFunction*)&table->GetPlaneDetectionsEXT));
- (get_inst_proc_addr(instance, "xrGetPlanePolygonBufferEXT", (PFN_xrVoidFunction*)&table->GetPlanePolygonBufferEXT));
-}
-
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table.h b/thirdparty/openxr/src/xr_generated_dispatch_table.h
deleted file mode 100644
index b6e17f98d4..0000000000
--- a/thirdparty/openxr/src/xr_generated_dispatch_table.h
+++ /dev/null
@@ -1,475 +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 "xr_dependencies.h"
-#include <openxr/openxr.h>
-#include <openxr/openxr_platform.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_KHR_android_thread_settings extension commands
-#if defined(XR_USE_PLATFORM_ANDROID)
- PFN_xrSetAndroidApplicationThreadKHR SetAndroidApplicationThreadKHR;
-#endif // defined(XR_USE_PLATFORM_ANDROID)
-
- // ---- XR_KHR_android_surface_swapchain extension commands
-#if defined(XR_USE_PLATFORM_ANDROID)
- PFN_xrCreateSwapchainAndroidSurfaceKHR CreateSwapchainAndroidSurfaceKHR;
-#endif // defined(XR_USE_PLATFORM_ANDROID)
-
- // ---- XR_KHR_opengl_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_OPENGL)
- PFN_xrGetOpenGLGraphicsRequirementsKHR GetOpenGLGraphicsRequirementsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_OPENGL)
-
- // ---- XR_KHR_opengl_es_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
- PFN_xrGetOpenGLESGraphicsRequirementsKHR GetOpenGLESGraphicsRequirementsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_OPENGL_ES)
-
- // ---- XR_KHR_vulkan_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrGetVulkanInstanceExtensionsKHR GetVulkanInstanceExtensionsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrGetVulkanDeviceExtensionsKHR GetVulkanDeviceExtensionsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrGetVulkanGraphicsDeviceKHR GetVulkanGraphicsDeviceKHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrGetVulkanGraphicsRequirementsKHR GetVulkanGraphicsRequirementsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-
- // ---- XR_KHR_D3D11_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_D3D11)
- PFN_xrGetD3D11GraphicsRequirementsKHR GetD3D11GraphicsRequirementsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_D3D11)
-
- // ---- XR_KHR_D3D12_enable extension commands
-#if defined(XR_USE_GRAPHICS_API_D3D12)
- PFN_xrGetD3D12GraphicsRequirementsKHR GetD3D12GraphicsRequirementsKHR;
-#endif // defined(XR_USE_GRAPHICS_API_D3D12)
-
- // ---- XR_KHR_visibility_mask extension commands
- PFN_xrGetVisibilityMaskKHR GetVisibilityMaskKHR;
-
- // ---- XR_KHR_win32_convert_performance_counter_time extension commands
-#if defined(XR_USE_PLATFORM_WIN32)
- PFN_xrConvertWin32PerformanceCounterToTimeKHR ConvertWin32PerformanceCounterToTimeKHR;
-#endif // defined(XR_USE_PLATFORM_WIN32)
-#if defined(XR_USE_PLATFORM_WIN32)
- PFN_xrConvertTimeToWin32PerformanceCounterKHR ConvertTimeToWin32PerformanceCounterKHR;
-#endif // defined(XR_USE_PLATFORM_WIN32)
-
- // ---- XR_KHR_convert_timespec_time extension commands
-#if defined(XR_USE_TIMESPEC)
- PFN_xrConvertTimespecTimeToTimeKHR ConvertTimespecTimeToTimeKHR;
-#endif // defined(XR_USE_TIMESPEC)
-#if defined(XR_USE_TIMESPEC)
- PFN_xrConvertTimeToTimespecTimeKHR ConvertTimeToTimespecTimeKHR;
-#endif // defined(XR_USE_TIMESPEC)
-
- // ---- XR_KHR_loader_init extension commands
- PFN_xrInitializeLoaderKHR InitializeLoaderKHR;
-
- // ---- XR_KHR_vulkan_enable2 extension commands
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrCreateVulkanInstanceKHR CreateVulkanInstanceKHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrCreateVulkanDeviceKHR CreateVulkanDeviceKHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrGetVulkanGraphicsDevice2KHR GetVulkanGraphicsDevice2KHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-#if defined(XR_USE_GRAPHICS_API_VULKAN)
- PFN_xrGetVulkanGraphicsRequirements2KHR GetVulkanGraphicsRequirements2KHR;
-#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
-
- // ---- XR_EXT_performance_settings extension commands
- PFN_xrPerfSettingsSetPerformanceLevelEXT PerfSettingsSetPerformanceLevelEXT;
-
- // ---- XR_EXT_thermal_query extension commands
- PFN_xrThermalGetTemperatureTrendEXT ThermalGetTemperatureTrendEXT;
-
- // ---- 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;
-
- // ---- XR_MSFT_spatial_anchor extension commands
- PFN_xrCreateSpatialAnchorMSFT CreateSpatialAnchorMSFT;
- PFN_xrCreateSpatialAnchorSpaceMSFT CreateSpatialAnchorSpaceMSFT;
- PFN_xrDestroySpatialAnchorMSFT DestroySpatialAnchorMSFT;
-
- // ---- XR_EXT_conformance_automation extension commands
- PFN_xrSetInputDeviceActiveEXT SetInputDeviceActiveEXT;
- PFN_xrSetInputDeviceStateBoolEXT SetInputDeviceStateBoolEXT;
- PFN_xrSetInputDeviceStateFloatEXT SetInputDeviceStateFloatEXT;
- PFN_xrSetInputDeviceStateVector2fEXT SetInputDeviceStateVector2fEXT;
- PFN_xrSetInputDeviceLocationEXT SetInputDeviceLocationEXT;
-
- // ---- XR_MSFT_spatial_graph_bridge extension commands
- PFN_xrCreateSpatialGraphNodeSpaceMSFT CreateSpatialGraphNodeSpaceMSFT;
- PFN_xrTryCreateSpatialGraphStaticNodeBindingMSFT TryCreateSpatialGraphStaticNodeBindingMSFT;
- PFN_xrDestroySpatialGraphNodeBindingMSFT DestroySpatialGraphNodeBindingMSFT;
- PFN_xrGetSpatialGraphNodeBindingPropertiesMSFT GetSpatialGraphNodeBindingPropertiesMSFT;
-
- // ---- XR_EXT_hand_tracking extension commands
- PFN_xrCreateHandTrackerEXT CreateHandTrackerEXT;
- PFN_xrDestroyHandTrackerEXT DestroyHandTrackerEXT;
- PFN_xrLocateHandJointsEXT LocateHandJointsEXT;
-
- // ---- XR_MSFT_hand_tracking_mesh extension commands
- PFN_xrCreateHandMeshSpaceMSFT CreateHandMeshSpaceMSFT;
- PFN_xrUpdateHandMeshMSFT UpdateHandMeshMSFT;
-
- // ---- XR_MSFT_controller_model extension commands
- PFN_xrGetControllerModelKeyMSFT GetControllerModelKeyMSFT;
- PFN_xrLoadControllerModelMSFT LoadControllerModelMSFT;
- PFN_xrGetControllerModelPropertiesMSFT GetControllerModelPropertiesMSFT;
- PFN_xrGetControllerModelStateMSFT GetControllerModelStateMSFT;
-
- // ---- XR_MSFT_perception_anchor_interop extension commands
-#if defined(XR_USE_PLATFORM_WIN32)
- PFN_xrCreateSpatialAnchorFromPerceptionAnchorMSFT CreateSpatialAnchorFromPerceptionAnchorMSFT;
-#endif // defined(XR_USE_PLATFORM_WIN32)
-#if defined(XR_USE_PLATFORM_WIN32)
- PFN_xrTryGetPerceptionAnchorFromSpatialAnchorMSFT TryGetPerceptionAnchorFromSpatialAnchorMSFT;
-#endif // defined(XR_USE_PLATFORM_WIN32)
-
- // ---- XR_MSFT_composition_layer_reprojection extension commands
- PFN_xrEnumerateReprojectionModesMSFT EnumerateReprojectionModesMSFT;
-
- // ---- XR_FB_swapchain_update_state extension commands
- PFN_xrUpdateSwapchainFB UpdateSwapchainFB;
- PFN_xrGetSwapchainStateFB GetSwapchainStateFB;
-
- // ---- XR_FB_body_tracking extension commands
- PFN_xrCreateBodyTrackerFB CreateBodyTrackerFB;
- PFN_xrDestroyBodyTrackerFB DestroyBodyTrackerFB;
- PFN_xrLocateBodyJointsFB LocateBodyJointsFB;
- PFN_xrGetBodySkeletonFB GetBodySkeletonFB;
-
- // ---- XR_MSFT_scene_understanding extension commands
- PFN_xrEnumerateSceneComputeFeaturesMSFT EnumerateSceneComputeFeaturesMSFT;
- PFN_xrCreateSceneObserverMSFT CreateSceneObserverMSFT;
- PFN_xrDestroySceneObserverMSFT DestroySceneObserverMSFT;
- PFN_xrCreateSceneMSFT CreateSceneMSFT;
- PFN_xrDestroySceneMSFT DestroySceneMSFT;
- PFN_xrComputeNewSceneMSFT ComputeNewSceneMSFT;
- PFN_xrGetSceneComputeStateMSFT GetSceneComputeStateMSFT;
- PFN_xrGetSceneComponentsMSFT GetSceneComponentsMSFT;
- PFN_xrLocateSceneComponentsMSFT LocateSceneComponentsMSFT;
- PFN_xrGetSceneMeshBuffersMSFT GetSceneMeshBuffersMSFT;
-
- // ---- XR_MSFT_scene_understanding_serialization extension commands
- PFN_xrDeserializeSceneMSFT DeserializeSceneMSFT;
- PFN_xrGetSerializedSceneFragmentDataMSFT GetSerializedSceneFragmentDataMSFT;
-
- // ---- XR_FB_display_refresh_rate extension commands
- PFN_xrEnumerateDisplayRefreshRatesFB EnumerateDisplayRefreshRatesFB;
- PFN_xrGetDisplayRefreshRateFB GetDisplayRefreshRateFB;
- PFN_xrRequestDisplayRefreshRateFB RequestDisplayRefreshRateFB;
-
- // ---- XR_HTCX_vive_tracker_interaction extension commands
- PFN_xrEnumerateViveTrackerPathsHTCX EnumerateViveTrackerPathsHTCX;
-
- // ---- XR_HTC_facial_tracking extension commands
- PFN_xrCreateFacialTrackerHTC CreateFacialTrackerHTC;
- PFN_xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC;
- PFN_xrGetFacialExpressionsHTC GetFacialExpressionsHTC;
-
- // ---- XR_FB_color_space extension commands
- PFN_xrEnumerateColorSpacesFB EnumerateColorSpacesFB;
- PFN_xrSetColorSpaceFB SetColorSpaceFB;
-
- // ---- XR_FB_hand_tracking_mesh extension commands
- PFN_xrGetHandMeshFB GetHandMeshFB;
-
- // ---- XR_FB_spatial_entity extension commands
- PFN_xrCreateSpatialAnchorFB CreateSpatialAnchorFB;
- PFN_xrGetSpaceUuidFB GetSpaceUuidFB;
- PFN_xrEnumerateSpaceSupportedComponentsFB EnumerateSpaceSupportedComponentsFB;
- PFN_xrSetSpaceComponentStatusFB SetSpaceComponentStatusFB;
- PFN_xrGetSpaceComponentStatusFB GetSpaceComponentStatusFB;
-
- // ---- XR_FB_foveation extension commands
- PFN_xrCreateFoveationProfileFB CreateFoveationProfileFB;
- PFN_xrDestroyFoveationProfileFB DestroyFoveationProfileFB;
-
- // ---- XR_FB_keyboard_tracking extension commands
- PFN_xrQuerySystemTrackedKeyboardFB QuerySystemTrackedKeyboardFB;
- PFN_xrCreateKeyboardSpaceFB CreateKeyboardSpaceFB;
-
- // ---- XR_FB_triangle_mesh extension commands
- PFN_xrCreateTriangleMeshFB CreateTriangleMeshFB;
- PFN_xrDestroyTriangleMeshFB DestroyTriangleMeshFB;
- PFN_xrTriangleMeshGetVertexBufferFB TriangleMeshGetVertexBufferFB;
- PFN_xrTriangleMeshGetIndexBufferFB TriangleMeshGetIndexBufferFB;
- PFN_xrTriangleMeshBeginUpdateFB TriangleMeshBeginUpdateFB;
- PFN_xrTriangleMeshEndUpdateFB TriangleMeshEndUpdateFB;
- PFN_xrTriangleMeshBeginVertexBufferUpdateFB TriangleMeshBeginVertexBufferUpdateFB;
- PFN_xrTriangleMeshEndVertexBufferUpdateFB TriangleMeshEndVertexBufferUpdateFB;
-
- // ---- XR_FB_passthrough extension commands
- PFN_xrCreatePassthroughFB CreatePassthroughFB;
- PFN_xrDestroyPassthroughFB DestroyPassthroughFB;
- PFN_xrPassthroughStartFB PassthroughStartFB;
- PFN_xrPassthroughPauseFB PassthroughPauseFB;
- PFN_xrCreatePassthroughLayerFB CreatePassthroughLayerFB;
- PFN_xrDestroyPassthroughLayerFB DestroyPassthroughLayerFB;
- PFN_xrPassthroughLayerPauseFB PassthroughLayerPauseFB;
- PFN_xrPassthroughLayerResumeFB PassthroughLayerResumeFB;
- PFN_xrPassthroughLayerSetStyleFB PassthroughLayerSetStyleFB;
- PFN_xrCreateGeometryInstanceFB CreateGeometryInstanceFB;
- PFN_xrDestroyGeometryInstanceFB DestroyGeometryInstanceFB;
- PFN_xrGeometryInstanceSetTransformFB GeometryInstanceSetTransformFB;
-
- // ---- XR_FB_render_model extension commands
- PFN_xrEnumerateRenderModelPathsFB EnumerateRenderModelPathsFB;
- PFN_xrGetRenderModelPropertiesFB GetRenderModelPropertiesFB;
- PFN_xrLoadRenderModelFB LoadRenderModelFB;
-
- // ---- XR_VARJO_environment_depth_estimation extension commands
- PFN_xrSetEnvironmentDepthEstimationVARJO SetEnvironmentDepthEstimationVARJO;
-
- // ---- XR_VARJO_marker_tracking extension commands
- PFN_xrSetMarkerTrackingVARJO SetMarkerTrackingVARJO;
- PFN_xrSetMarkerTrackingTimeoutVARJO SetMarkerTrackingTimeoutVARJO;
- PFN_xrSetMarkerTrackingPredictionVARJO SetMarkerTrackingPredictionVARJO;
- PFN_xrGetMarkerSizeVARJO GetMarkerSizeVARJO;
- PFN_xrCreateMarkerSpaceVARJO CreateMarkerSpaceVARJO;
-
- // ---- XR_VARJO_view_offset extension commands
- PFN_xrSetViewOffsetVARJO SetViewOffsetVARJO;
-
- // ---- XR_ML_compat extension commands
-#if defined(XR_USE_PLATFORM_ML)
- PFN_xrCreateSpaceFromCoordinateFrameUIDML CreateSpaceFromCoordinateFrameUIDML;
-#endif // defined(XR_USE_PLATFORM_ML)
-
- // ---- XR_MSFT_spatial_anchor_persistence extension commands
- PFN_xrCreateSpatialAnchorStoreConnectionMSFT CreateSpatialAnchorStoreConnectionMSFT;
- PFN_xrDestroySpatialAnchorStoreConnectionMSFT DestroySpatialAnchorStoreConnectionMSFT;
- PFN_xrPersistSpatialAnchorMSFT PersistSpatialAnchorMSFT;
- PFN_xrEnumeratePersistedSpatialAnchorNamesMSFT EnumeratePersistedSpatialAnchorNamesMSFT;
- PFN_xrCreateSpatialAnchorFromPersistedNameMSFT CreateSpatialAnchorFromPersistedNameMSFT;
- PFN_xrUnpersistSpatialAnchorMSFT UnpersistSpatialAnchorMSFT;
- PFN_xrClearSpatialAnchorStoreMSFT ClearSpatialAnchorStoreMSFT;
-
- // ---- XR_FB_spatial_entity_query extension commands
- PFN_xrQuerySpacesFB QuerySpacesFB;
- PFN_xrRetrieveSpaceQueryResultsFB RetrieveSpaceQueryResultsFB;
-
- // ---- XR_FB_spatial_entity_storage extension commands
- PFN_xrSaveSpaceFB SaveSpaceFB;
- PFN_xrEraseSpaceFB EraseSpaceFB;
-
- // ---- XR_OCULUS_audio_device_guid extension commands
-#if defined(XR_USE_PLATFORM_WIN32)
- PFN_xrGetAudioOutputDeviceGuidOculus GetAudioOutputDeviceGuidOculus;
-#endif // defined(XR_USE_PLATFORM_WIN32)
-#if defined(XR_USE_PLATFORM_WIN32)
- PFN_xrGetAudioInputDeviceGuidOculus GetAudioInputDeviceGuidOculus;
-#endif // defined(XR_USE_PLATFORM_WIN32)
-
- // ---- XR_FB_spatial_entity_sharing extension commands
- PFN_xrShareSpacesFB ShareSpacesFB;
-
- // ---- XR_FB_scene extension commands
- PFN_xrGetSpaceBoundingBox2DFB GetSpaceBoundingBox2DFB;
- PFN_xrGetSpaceBoundingBox3DFB GetSpaceBoundingBox3DFB;
- PFN_xrGetSpaceSemanticLabelsFB GetSpaceSemanticLabelsFB;
- PFN_xrGetSpaceBoundary2DFB GetSpaceBoundary2DFB;
- PFN_xrGetSpaceRoomLayoutFB GetSpaceRoomLayoutFB;
-
- // ---- XR_ALMALENCE_digital_lens_control extension commands
- PFN_xrSetDigitalLensControlALMALENCE SetDigitalLensControlALMALENCE;
-
- // ---- XR_FB_scene_capture extension commands
- PFN_xrRequestSceneCaptureFB RequestSceneCaptureFB;
-
- // ---- XR_FB_spatial_entity_container extension commands
- PFN_xrGetSpaceContainerFB GetSpaceContainerFB;
-
- // ---- XR_META_foveation_eye_tracked extension commands
- PFN_xrGetFoveationEyeTrackedStateMETA GetFoveationEyeTrackedStateMETA;
-
- // ---- XR_FB_face_tracking extension commands
- PFN_xrCreateFaceTrackerFB CreateFaceTrackerFB;
- PFN_xrDestroyFaceTrackerFB DestroyFaceTrackerFB;
- PFN_xrGetFaceExpressionWeightsFB GetFaceExpressionWeightsFB;
-
- // ---- XR_FB_eye_tracking_social extension commands
- PFN_xrCreateEyeTrackerFB CreateEyeTrackerFB;
- PFN_xrDestroyEyeTrackerFB DestroyEyeTrackerFB;
- PFN_xrGetEyeGazesFB GetEyeGazesFB;
-
- // ---- XR_FB_passthrough_keyboard_hands extension commands
- PFN_xrPassthroughLayerSetKeyboardHandsIntensityFB PassthroughLayerSetKeyboardHandsIntensityFB;
-
- // ---- XR_FB_haptic_pcm extension commands
- PFN_xrGetDeviceSampleRateFB GetDeviceSampleRateFB;
-
- // ---- XR_META_virtual_keyboard extension commands
- PFN_xrCreateVirtualKeyboardMETA CreateVirtualKeyboardMETA;
- PFN_xrDestroyVirtualKeyboardMETA DestroyVirtualKeyboardMETA;
- PFN_xrCreateVirtualKeyboardSpaceMETA CreateVirtualKeyboardSpaceMETA;
- PFN_xrSuggestVirtualKeyboardLocationMETA SuggestVirtualKeyboardLocationMETA;
- PFN_xrGetVirtualKeyboardScaleMETA GetVirtualKeyboardScaleMETA;
- PFN_xrSetVirtualKeyboardModelVisibilityMETA SetVirtualKeyboardModelVisibilityMETA;
- PFN_xrGetVirtualKeyboardModelAnimationStatesMETA GetVirtualKeyboardModelAnimationStatesMETA;
- PFN_xrGetVirtualKeyboardDirtyTexturesMETA GetVirtualKeyboardDirtyTexturesMETA;
- PFN_xrGetVirtualKeyboardTextureDataMETA GetVirtualKeyboardTextureDataMETA;
- PFN_xrSendVirtualKeyboardInputMETA SendVirtualKeyboardInputMETA;
- PFN_xrChangeVirtualKeyboardTextContextMETA ChangeVirtualKeyboardTextContextMETA;
-
- // ---- XR_OCULUS_external_camera extension commands
- PFN_xrEnumerateExternalCamerasOCULUS EnumerateExternalCamerasOCULUS;
-
- // ---- XR_META_performance_metrics extension commands
- PFN_xrEnumeratePerformanceMetricsCounterPathsMETA EnumeratePerformanceMetricsCounterPathsMETA;
- PFN_xrSetPerformanceMetricsStateMETA SetPerformanceMetricsStateMETA;
- PFN_xrGetPerformanceMetricsStateMETA GetPerformanceMetricsStateMETA;
- PFN_xrQueryPerformanceMetricsCounterMETA QueryPerformanceMetricsCounterMETA;
-
- // ---- XR_FB_spatial_entity_storage_batch extension commands
- PFN_xrSaveSpaceListFB SaveSpaceListFB;
-
- // ---- XR_FB_spatial_entity_user extension commands
- PFN_xrCreateSpaceUserFB CreateSpaceUserFB;
- PFN_xrGetSpaceUserIdFB GetSpaceUserIdFB;
- PFN_xrDestroySpaceUserFB DestroySpaceUserFB;
-
- // ---- XR_META_passthrough_color_lut extension commands
- PFN_xrCreatePassthroughColorLutMETA CreatePassthroughColorLutMETA;
- PFN_xrDestroyPassthroughColorLutMETA DestroyPassthroughColorLutMETA;
- PFN_xrUpdatePassthroughColorLutMETA UpdatePassthroughColorLutMETA;
-
- // ---- XR_QCOM_tracking_optimization_settings extension commands
- PFN_xrSetTrackingOptimizationSettingsHintQCOM SetTrackingOptimizationSettingsHintQCOM;
-
- // ---- XR_HTC_passthrough extension commands
- PFN_xrCreatePassthroughHTC CreatePassthroughHTC;
- PFN_xrDestroyPassthroughHTC DestroyPassthroughHTC;
-
- // ---- XR_HTC_foveation extension commands
- PFN_xrApplyFoveationHTC ApplyFoveationHTC;
-
- // ---- XR_MNDX_force_feedback_curl extension commands
- PFN_xrApplyForceFeedbackCurlMNDX ApplyForceFeedbackCurlMNDX;
-
- // ---- XR_EXT_plane_detection extension commands
- PFN_xrCreatePlaneDetectorEXT CreatePlaneDetectorEXT;
- PFN_xrDestroyPlaneDetectorEXT DestroyPlaneDetectorEXT;
- PFN_xrBeginPlaneDetectionEXT BeginPlaneDetectionEXT;
- PFN_xrGetPlaneDetectionStateEXT GetPlaneDetectionStateEXT;
- PFN_xrGetPlaneDetectionsEXT GetPlaneDetectionsEXT;
- PFN_xrGetPlanePolygonBufferEXT GetPlanePolygonBufferEXT;
-};
-
-
-// Prototype for dispatch table helper function
-void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
- XrInstance instance,
- PFN_xrGetInstanceProcAddr get_inst_proc_addr);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
diff --git a/thirdparty/openxr/src/xr_generated_dispatch_table_core.c b/thirdparty/openxr/src/xr_generated_dispatch_table_core.c
new file mode 100644
index 0000000000..de88ef7e6c
--- /dev/null
+++ b/thirdparty/openxr/src/xr_generated_dispatch_table_core.c
@@ -0,0 +1,113 @@
+// 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
new file mode 100644
index 0000000000..0f3e7e0502
--- /dev/null
+++ b/thirdparty/openxr/src/xr_generated_dispatch_table_core.h
@@ -0,0 +1,119 @@
+// 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
+