| 1 | // Copyright (c) 2017-2023, The Khronos Group Inc. |
| 2 | // Copyright (c) 2017-2019 Valve Corporation |
| 3 | // Copyright (c) 2017-2019 LunarG, Inc. |
| 4 | // SPDX-License-Identifier: Apache-2.0 OR MIT |
| 5 | // *********** THIS FILE IS GENERATED - DO NOT EDIT *********** |
| 6 | // See utility_source_generator.py for modifications |
| 7 | // ************************************************************ |
| 8 | |
| 9 | // Copyright (c) 2017-2023, The Khronos Group Inc. |
| 10 | // Copyright (c) 2017-2019 Valve Corporation |
| 11 | // Copyright (c) 2017-2019 LunarG, Inc. |
| 12 | // |
| 13 | // SPDX-License-Identifier: Apache-2.0 |
| 14 | // |
| 15 | // Licensed under the Apache License, Version 2.0 (the "License"); |
| 16 | // you may not use this file except in compliance with the License. |
| 17 | // You may obtain a copy of the License at |
| 18 | // |
| 19 | // http://www.apache.org/licenses/LICENSE-2.0 |
| 20 | // |
| 21 | // Unless required by applicable law or agreed to in writing, software |
| 22 | // distributed under the License is distributed on an "AS IS" BASIS, |
| 23 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 24 | // See the License for the specific language governing permissions and |
| 25 | // limitations under the License. |
| 26 | // |
| 27 | // Author: Mark Young <marky@lunarg.com> |
| 28 | // |
| 29 | |
| 30 | #include <time.h> |
| 31 | #include "xr_generated_dispatch_table.h" |
| 32 | #include "xr_dependencies.h" |
| 33 | #include <openxr/openxr.h> |
| 34 | #include <openxr/openxr_platform.h> |
| 35 | |
| 36 | |
| 37 | #ifdef __cplusplus |
| 38 | extern "C" { |
| 39 | #endif |
| 40 | // Helper function to populate an instance dispatch table |
| 41 | void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table, |
| 42 | XrInstance instance, |
| 43 | PFN_xrGetInstanceProcAddr get_inst_proc_addr) { |
| 44 | |
| 45 | // ---- Core 1.0 commands |
| 46 | table->GetInstanceProcAddr = get_inst_proc_addr; |
| 47 | (get_inst_proc_addr(instance, "xrCreateInstance" , (PFN_xrVoidFunction*)&table->CreateInstance)); |
| 48 | (get_inst_proc_addr(instance, "xrDestroyInstance" , (PFN_xrVoidFunction*)&table->DestroyInstance)); |
| 49 | (get_inst_proc_addr(instance, "xrGetInstanceProperties" , (PFN_xrVoidFunction*)&table->GetInstanceProperties)); |
| 50 | (get_inst_proc_addr(instance, "xrPollEvent" , (PFN_xrVoidFunction*)&table->PollEvent)); |
| 51 | (get_inst_proc_addr(instance, "xrResultToString" , (PFN_xrVoidFunction*)&table->ResultToString)); |
| 52 | (get_inst_proc_addr(instance, "xrStructureTypeToString" , (PFN_xrVoidFunction*)&table->StructureTypeToString)); |
| 53 | (get_inst_proc_addr(instance, "xrGetSystem" , (PFN_xrVoidFunction*)&table->GetSystem)); |
| 54 | (get_inst_proc_addr(instance, "xrGetSystemProperties" , (PFN_xrVoidFunction*)&table->GetSystemProperties)); |
| 55 | (get_inst_proc_addr(instance, "xrEnumerateEnvironmentBlendModes" , (PFN_xrVoidFunction*)&table->EnumerateEnvironmentBlendModes)); |
| 56 | (get_inst_proc_addr(instance, "xrCreateSession" , (PFN_xrVoidFunction*)&table->CreateSession)); |
| 57 | (get_inst_proc_addr(instance, "xrDestroySession" , (PFN_xrVoidFunction*)&table->DestroySession)); |
| 58 | (get_inst_proc_addr(instance, "xrEnumerateReferenceSpaces" , (PFN_xrVoidFunction*)&table->EnumerateReferenceSpaces)); |
| 59 | (get_inst_proc_addr(instance, "xrCreateReferenceSpace" , (PFN_xrVoidFunction*)&table->CreateReferenceSpace)); |
| 60 | (get_inst_proc_addr(instance, "xrGetReferenceSpaceBoundsRect" , (PFN_xrVoidFunction*)&table->GetReferenceSpaceBoundsRect)); |
| 61 | (get_inst_proc_addr(instance, "xrCreateActionSpace" , (PFN_xrVoidFunction*)&table->CreateActionSpace)); |
| 62 | (get_inst_proc_addr(instance, "xrLocateSpace" , (PFN_xrVoidFunction*)&table->LocateSpace)); |
| 63 | (get_inst_proc_addr(instance, "xrDestroySpace" , (PFN_xrVoidFunction*)&table->DestroySpace)); |
| 64 | (get_inst_proc_addr(instance, "xrEnumerateViewConfigurations" , (PFN_xrVoidFunction*)&table->EnumerateViewConfigurations)); |
| 65 | (get_inst_proc_addr(instance, "xrGetViewConfigurationProperties" , (PFN_xrVoidFunction*)&table->GetViewConfigurationProperties)); |
| 66 | (get_inst_proc_addr(instance, "xrEnumerateViewConfigurationViews" , (PFN_xrVoidFunction*)&table->EnumerateViewConfigurationViews)); |
| 67 | (get_inst_proc_addr(instance, "xrEnumerateSwapchainFormats" , (PFN_xrVoidFunction*)&table->EnumerateSwapchainFormats)); |
| 68 | (get_inst_proc_addr(instance, "xrCreateSwapchain" , (PFN_xrVoidFunction*)&table->CreateSwapchain)); |
| 69 | (get_inst_proc_addr(instance, "xrDestroySwapchain" , (PFN_xrVoidFunction*)&table->DestroySwapchain)); |
| 70 | (get_inst_proc_addr(instance, "xrEnumerateSwapchainImages" , (PFN_xrVoidFunction*)&table->EnumerateSwapchainImages)); |
| 71 | (get_inst_proc_addr(instance, "xrAcquireSwapchainImage" , (PFN_xrVoidFunction*)&table->AcquireSwapchainImage)); |
| 72 | (get_inst_proc_addr(instance, "xrWaitSwapchainImage" , (PFN_xrVoidFunction*)&table->WaitSwapchainImage)); |
| 73 | (get_inst_proc_addr(instance, "xrReleaseSwapchainImage" , (PFN_xrVoidFunction*)&table->ReleaseSwapchainImage)); |
| 74 | (get_inst_proc_addr(instance, "xrBeginSession" , (PFN_xrVoidFunction*)&table->BeginSession)); |
| 75 | (get_inst_proc_addr(instance, "xrEndSession" , (PFN_xrVoidFunction*)&table->EndSession)); |
| 76 | (get_inst_proc_addr(instance, "xrRequestExitSession" , (PFN_xrVoidFunction*)&table->RequestExitSession)); |
| 77 | (get_inst_proc_addr(instance, "xrWaitFrame" , (PFN_xrVoidFunction*)&table->WaitFrame)); |
| 78 | (get_inst_proc_addr(instance, "xrBeginFrame" , (PFN_xrVoidFunction*)&table->BeginFrame)); |
| 79 | (get_inst_proc_addr(instance, "xrEndFrame" , (PFN_xrVoidFunction*)&table->EndFrame)); |
| 80 | (get_inst_proc_addr(instance, "xrLocateViews" , (PFN_xrVoidFunction*)&table->LocateViews)); |
| 81 | (get_inst_proc_addr(instance, "xrStringToPath" , (PFN_xrVoidFunction*)&table->StringToPath)); |
| 82 | (get_inst_proc_addr(instance, "xrPathToString" , (PFN_xrVoidFunction*)&table->PathToString)); |
| 83 | (get_inst_proc_addr(instance, "xrCreateActionSet" , (PFN_xrVoidFunction*)&table->CreateActionSet)); |
| 84 | (get_inst_proc_addr(instance, "xrDestroyActionSet" , (PFN_xrVoidFunction*)&table->DestroyActionSet)); |
| 85 | (get_inst_proc_addr(instance, "xrCreateAction" , (PFN_xrVoidFunction*)&table->CreateAction)); |
| 86 | (get_inst_proc_addr(instance, "xrDestroyAction" , (PFN_xrVoidFunction*)&table->DestroyAction)); |
| 87 | (get_inst_proc_addr(instance, "xrSuggestInteractionProfileBindings" , (PFN_xrVoidFunction*)&table->SuggestInteractionProfileBindings)); |
| 88 | (get_inst_proc_addr(instance, "xrAttachSessionActionSets" , (PFN_xrVoidFunction*)&table->AttachSessionActionSets)); |
| 89 | (get_inst_proc_addr(instance, "xrGetCurrentInteractionProfile" , (PFN_xrVoidFunction*)&table->GetCurrentInteractionProfile)); |
| 90 | (get_inst_proc_addr(instance, "xrGetActionStateBoolean" , (PFN_xrVoidFunction*)&table->GetActionStateBoolean)); |
| 91 | (get_inst_proc_addr(instance, "xrGetActionStateFloat" , (PFN_xrVoidFunction*)&table->GetActionStateFloat)); |
| 92 | (get_inst_proc_addr(instance, "xrGetActionStateVector2f" , (PFN_xrVoidFunction*)&table->GetActionStateVector2f)); |
| 93 | (get_inst_proc_addr(instance, "xrGetActionStatePose" , (PFN_xrVoidFunction*)&table->GetActionStatePose)); |
| 94 | (get_inst_proc_addr(instance, "xrSyncActions" , (PFN_xrVoidFunction*)&table->SyncActions)); |
| 95 | (get_inst_proc_addr(instance, "xrEnumerateBoundSourcesForAction" , (PFN_xrVoidFunction*)&table->EnumerateBoundSourcesForAction)); |
| 96 | (get_inst_proc_addr(instance, "xrGetInputSourceLocalizedName" , (PFN_xrVoidFunction*)&table->GetInputSourceLocalizedName)); |
| 97 | (get_inst_proc_addr(instance, "xrApplyHapticFeedback" , (PFN_xrVoidFunction*)&table->ApplyHapticFeedback)); |
| 98 | (get_inst_proc_addr(instance, "xrStopHapticFeedback" , (PFN_xrVoidFunction*)&table->StopHapticFeedback)); |
| 99 | |
| 100 | // ---- XR_KHR_android_thread_settings extension commands |
| 101 | #if defined(XR_USE_PLATFORM_ANDROID) |
| 102 | (get_inst_proc_addr(instance, "xrSetAndroidApplicationThreadKHR" , (PFN_xrVoidFunction*)&table->SetAndroidApplicationThreadKHR)); |
| 103 | #endif // defined(XR_USE_PLATFORM_ANDROID) |
| 104 | |
| 105 | // ---- XR_KHR_android_surface_swapchain extension commands |
| 106 | #if defined(XR_USE_PLATFORM_ANDROID) |
| 107 | (get_inst_proc_addr(instance, "xrCreateSwapchainAndroidSurfaceKHR" , (PFN_xrVoidFunction*)&table->CreateSwapchainAndroidSurfaceKHR)); |
| 108 | #endif // defined(XR_USE_PLATFORM_ANDROID) |
| 109 | |
| 110 | // ---- XR_KHR_opengl_enable extension commands |
| 111 | #if defined(XR_USE_GRAPHICS_API_OPENGL) |
| 112 | (get_inst_proc_addr(instance, "xrGetOpenGLGraphicsRequirementsKHR" , (PFN_xrVoidFunction*)&table->GetOpenGLGraphicsRequirementsKHR)); |
| 113 | #endif // defined(XR_USE_GRAPHICS_API_OPENGL) |
| 114 | |
| 115 | // ---- XR_KHR_opengl_es_enable extension commands |
| 116 | #if defined(XR_USE_GRAPHICS_API_OPENGL_ES) |
| 117 | (get_inst_proc_addr(instance, "xrGetOpenGLESGraphicsRequirementsKHR" , (PFN_xrVoidFunction*)&table->GetOpenGLESGraphicsRequirementsKHR)); |
| 118 | #endif // defined(XR_USE_GRAPHICS_API_OPENGL_ES) |
| 119 | |
| 120 | // ---- XR_KHR_vulkan_enable extension commands |
| 121 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 122 | (get_inst_proc_addr(instance, "xrGetVulkanInstanceExtensionsKHR" , (PFN_xrVoidFunction*)&table->GetVulkanInstanceExtensionsKHR)); |
| 123 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 124 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 125 | (get_inst_proc_addr(instance, "xrGetVulkanDeviceExtensionsKHR" , (PFN_xrVoidFunction*)&table->GetVulkanDeviceExtensionsKHR)); |
| 126 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 127 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 128 | (get_inst_proc_addr(instance, "xrGetVulkanGraphicsDeviceKHR" , (PFN_xrVoidFunction*)&table->GetVulkanGraphicsDeviceKHR)); |
| 129 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 130 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 131 | (get_inst_proc_addr(instance, "xrGetVulkanGraphicsRequirementsKHR" , (PFN_xrVoidFunction*)&table->GetVulkanGraphicsRequirementsKHR)); |
| 132 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 133 | |
| 134 | // ---- XR_KHR_D3D11_enable extension commands |
| 135 | #if defined(XR_USE_GRAPHICS_API_D3D11) |
| 136 | (get_inst_proc_addr(instance, "xrGetD3D11GraphicsRequirementsKHR" , (PFN_xrVoidFunction*)&table->GetD3D11GraphicsRequirementsKHR)); |
| 137 | #endif // defined(XR_USE_GRAPHICS_API_D3D11) |
| 138 | |
| 139 | // ---- XR_KHR_D3D12_enable extension commands |
| 140 | #if defined(XR_USE_GRAPHICS_API_D3D12) |
| 141 | (get_inst_proc_addr(instance, "xrGetD3D12GraphicsRequirementsKHR" , (PFN_xrVoidFunction*)&table->GetD3D12GraphicsRequirementsKHR)); |
| 142 | #endif // defined(XR_USE_GRAPHICS_API_D3D12) |
| 143 | |
| 144 | // ---- XR_KHR_visibility_mask extension commands |
| 145 | (get_inst_proc_addr(instance, "xrGetVisibilityMaskKHR" , (PFN_xrVoidFunction*)&table->GetVisibilityMaskKHR)); |
| 146 | |
| 147 | // ---- XR_KHR_win32_convert_performance_counter_time extension commands |
| 148 | #if defined(XR_USE_PLATFORM_WIN32) |
| 149 | (get_inst_proc_addr(instance, "xrConvertWin32PerformanceCounterToTimeKHR" , (PFN_xrVoidFunction*)&table->ConvertWin32PerformanceCounterToTimeKHR)); |
| 150 | #endif // defined(XR_USE_PLATFORM_WIN32) |
| 151 | #if defined(XR_USE_PLATFORM_WIN32) |
| 152 | (get_inst_proc_addr(instance, "xrConvertTimeToWin32PerformanceCounterKHR" , (PFN_xrVoidFunction*)&table->ConvertTimeToWin32PerformanceCounterKHR)); |
| 153 | #endif // defined(XR_USE_PLATFORM_WIN32) |
| 154 | |
| 155 | // ---- XR_KHR_convert_timespec_time extension commands |
| 156 | #if defined(XR_USE_TIMESPEC) |
| 157 | (get_inst_proc_addr(instance, "xrConvertTimespecTimeToTimeKHR" , (PFN_xrVoidFunction*)&table->ConvertTimespecTimeToTimeKHR)); |
| 158 | #endif // defined(XR_USE_TIMESPEC) |
| 159 | #if defined(XR_USE_TIMESPEC) |
| 160 | (get_inst_proc_addr(instance, "xrConvertTimeToTimespecTimeKHR" , (PFN_xrVoidFunction*)&table->ConvertTimeToTimespecTimeKHR)); |
| 161 | #endif // defined(XR_USE_TIMESPEC) |
| 162 | |
| 163 | // ---- XR_KHR_vulkan_enable2 extension commands |
| 164 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 165 | (get_inst_proc_addr(instance, "xrCreateVulkanInstanceKHR" , (PFN_xrVoidFunction*)&table->CreateVulkanInstanceKHR)); |
| 166 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 167 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 168 | (get_inst_proc_addr(instance, "xrCreateVulkanDeviceKHR" , (PFN_xrVoidFunction*)&table->CreateVulkanDeviceKHR)); |
| 169 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 170 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 171 | (get_inst_proc_addr(instance, "xrGetVulkanGraphicsDevice2KHR" , (PFN_xrVoidFunction*)&table->GetVulkanGraphicsDevice2KHR)); |
| 172 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 173 | #if defined(XR_USE_GRAPHICS_API_VULKAN) |
| 174 | (get_inst_proc_addr(instance, "xrGetVulkanGraphicsRequirements2KHR" , (PFN_xrVoidFunction*)&table->GetVulkanGraphicsRequirements2KHR)); |
| 175 | #endif // defined(XR_USE_GRAPHICS_API_VULKAN) |
| 176 | |
| 177 | // ---- XR_EXT_performance_settings extension commands |
| 178 | (get_inst_proc_addr(instance, "xrPerfSettingsSetPerformanceLevelEXT" , (PFN_xrVoidFunction*)&table->PerfSettingsSetPerformanceLevelEXT)); |
| 179 | |
| 180 | // ---- XR_EXT_thermal_query extension commands |
| 181 | (get_inst_proc_addr(instance, "xrThermalGetTemperatureTrendEXT" , (PFN_xrVoidFunction*)&table->ThermalGetTemperatureTrendEXT)); |
| 182 | |
| 183 | // ---- XR_EXT_debug_utils extension commands |
| 184 | (get_inst_proc_addr(instance, "xrSetDebugUtilsObjectNameEXT" , (PFN_xrVoidFunction*)&table->SetDebugUtilsObjectNameEXT)); |
| 185 | (get_inst_proc_addr(instance, "xrCreateDebugUtilsMessengerEXT" , (PFN_xrVoidFunction*)&table->CreateDebugUtilsMessengerEXT)); |
| 186 | (get_inst_proc_addr(instance, "xrDestroyDebugUtilsMessengerEXT" , (PFN_xrVoidFunction*)&table->DestroyDebugUtilsMessengerEXT)); |
| 187 | (get_inst_proc_addr(instance, "xrSubmitDebugUtilsMessageEXT" , (PFN_xrVoidFunction*)&table->SubmitDebugUtilsMessageEXT)); |
| 188 | (get_inst_proc_addr(instance, "xrSessionBeginDebugUtilsLabelRegionEXT" , (PFN_xrVoidFunction*)&table->SessionBeginDebugUtilsLabelRegionEXT)); |
| 189 | (get_inst_proc_addr(instance, "xrSessionEndDebugUtilsLabelRegionEXT" , (PFN_xrVoidFunction*)&table->SessionEndDebugUtilsLabelRegionEXT)); |
| 190 | (get_inst_proc_addr(instance, "xrSessionInsertDebugUtilsLabelEXT" , (PFN_xrVoidFunction*)&table->SessionInsertDebugUtilsLabelEXT)); |
| 191 | |
| 192 | // ---- XR_MSFT_spatial_anchor extension commands |
| 193 | (get_inst_proc_addr(instance, "xrCreateSpatialAnchorMSFT" , (PFN_xrVoidFunction*)&table->CreateSpatialAnchorMSFT)); |
| 194 | (get_inst_proc_addr(instance, "xrCreateSpatialAnchorSpaceMSFT" , (PFN_xrVoidFunction*)&table->CreateSpatialAnchorSpaceMSFT)); |
| 195 | (get_inst_proc_addr(instance, "xrDestroySpatialAnchorMSFT" , (PFN_xrVoidFunction*)&table->DestroySpatialAnchorMSFT)); |
| 196 | |
| 197 | // ---- XR_EXT_conformance_automation extension commands |
| 198 | (get_inst_proc_addr(instance, "xrSetInputDeviceActiveEXT" , (PFN_xrVoidFunction*)&table->SetInputDeviceActiveEXT)); |
| 199 | (get_inst_proc_addr(instance, "xrSetInputDeviceStateBoolEXT" , (PFN_xrVoidFunction*)&table->SetInputDeviceStateBoolEXT)); |
| 200 | (get_inst_proc_addr(instance, "xrSetInputDeviceStateFloatEXT" , (PFN_xrVoidFunction*)&table->SetInputDeviceStateFloatEXT)); |
| 201 | (get_inst_proc_addr(instance, "xrSetInputDeviceStateVector2fEXT" , (PFN_xrVoidFunction*)&table->SetInputDeviceStateVector2fEXT)); |
| 202 | (get_inst_proc_addr(instance, "xrSetInputDeviceLocationEXT" , (PFN_xrVoidFunction*)&table->SetInputDeviceLocationEXT)); |
| 203 | |
| 204 | // ---- XR_MSFT_spatial_graph_bridge extension commands |
| 205 | (get_inst_proc_addr(instance, "xrCreateSpatialGraphNodeSpaceMSFT" , (PFN_xrVoidFunction*)&table->CreateSpatialGraphNodeSpaceMSFT)); |
| 206 | (get_inst_proc_addr(instance, "xrTryCreateSpatialGraphStaticNodeBindingMSFT" , (PFN_xrVoidFunction*)&table->TryCreateSpatialGraphStaticNodeBindingMSFT)); |
| 207 | (get_inst_proc_addr(instance, "xrDestroySpatialGraphNodeBindingMSFT" , (PFN_xrVoidFunction*)&table->DestroySpatialGraphNodeBindingMSFT)); |
| 208 | (get_inst_proc_addr(instance, "xrGetSpatialGraphNodeBindingPropertiesMSFT" , (PFN_xrVoidFunction*)&table->GetSpatialGraphNodeBindingPropertiesMSFT)); |
| 209 | |
| 210 | // ---- XR_EXT_hand_tracking extension commands |
| 211 | (get_inst_proc_addr(instance, "xrCreateHandTrackerEXT" , (PFN_xrVoidFunction*)&table->CreateHandTrackerEXT)); |
| 212 | (get_inst_proc_addr(instance, "xrDestroyHandTrackerEXT" , (PFN_xrVoidFunction*)&table->DestroyHandTrackerEXT)); |
| 213 | (get_inst_proc_addr(instance, "xrLocateHandJointsEXT" , (PFN_xrVoidFunction*)&table->LocateHandJointsEXT)); |
| 214 | |
| 215 | // ---- XR_MSFT_hand_tracking_mesh extension commands |
| 216 | (get_inst_proc_addr(instance, "xrCreateHandMeshSpaceMSFT" , (PFN_xrVoidFunction*)&table->CreateHandMeshSpaceMSFT)); |
| 217 | (get_inst_proc_addr(instance, "xrUpdateHandMeshMSFT" , (PFN_xrVoidFunction*)&table->UpdateHandMeshMSFT)); |
| 218 | |
| 219 | // ---- XR_MSFT_controller_model extension commands |
| 220 | (get_inst_proc_addr(instance, "xrGetControllerModelKeyMSFT" , (PFN_xrVoidFunction*)&table->GetControllerModelKeyMSFT)); |
| 221 | (get_inst_proc_addr(instance, "xrLoadControllerModelMSFT" , (PFN_xrVoidFunction*)&table->LoadControllerModelMSFT)); |
| 222 | (get_inst_proc_addr(instance, "xrGetControllerModelPropertiesMSFT" , (PFN_xrVoidFunction*)&table->GetControllerModelPropertiesMSFT)); |
| 223 | (get_inst_proc_addr(instance, "xrGetControllerModelStateMSFT" , (PFN_xrVoidFunction*)&table->GetControllerModelStateMSFT)); |
| 224 | |
| 225 | // ---- XR_MSFT_perception_anchor_interop extension commands |
| 226 | #if defined(XR_USE_PLATFORM_WIN32) |
| 227 | (get_inst_proc_addr(instance, "xrCreateSpatialAnchorFromPerceptionAnchorMSFT" , (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFromPerceptionAnchorMSFT)); |
| 228 | #endif // defined(XR_USE_PLATFORM_WIN32) |
| 229 | #if defined(XR_USE_PLATFORM_WIN32) |
| 230 | (get_inst_proc_addr(instance, "xrTryGetPerceptionAnchorFromSpatialAnchorMSFT" , (PFN_xrVoidFunction*)&table->TryGetPerceptionAnchorFromSpatialAnchorMSFT)); |
| 231 | #endif // defined(XR_USE_PLATFORM_WIN32) |
| 232 | |
| 233 | // ---- XR_MSFT_composition_layer_reprojection extension commands |
| 234 | (get_inst_proc_addr(instance, "xrEnumerateReprojectionModesMSFT" , (PFN_xrVoidFunction*)&table->EnumerateReprojectionModesMSFT)); |
| 235 | |
| 236 | // ---- XR_FB_swapchain_update_state extension commands |
| 237 | (get_inst_proc_addr(instance, "xrUpdateSwapchainFB" , (PFN_xrVoidFunction*)&table->UpdateSwapchainFB)); |
| 238 | (get_inst_proc_addr(instance, "xrGetSwapchainStateFB" , (PFN_xrVoidFunction*)&table->GetSwapchainStateFB)); |
| 239 | |
| 240 | // ---- XR_FB_body_tracking extension commands |
| 241 | (get_inst_proc_addr(instance, "xrCreateBodyTrackerFB" , (PFN_xrVoidFunction*)&table->CreateBodyTrackerFB)); |
| 242 | (get_inst_proc_addr(instance, "xrDestroyBodyTrackerFB" , (PFN_xrVoidFunction*)&table->DestroyBodyTrackerFB)); |
| 243 | (get_inst_proc_addr(instance, "xrLocateBodyJointsFB" , (PFN_xrVoidFunction*)&table->LocateBodyJointsFB)); |
| 244 | (get_inst_proc_addr(instance, "xrGetBodySkeletonFB" , (PFN_xrVoidFunction*)&table->GetBodySkeletonFB)); |
| 245 | |
| 246 | // ---- XR_MSFT_scene_understanding extension commands |
| 247 | (get_inst_proc_addr(instance, "xrEnumerateSceneComputeFeaturesMSFT" , (PFN_xrVoidFunction*)&table->EnumerateSceneComputeFeaturesMSFT)); |
| 248 | (get_inst_proc_addr(instance, "xrCreateSceneObserverMSFT" , (PFN_xrVoidFunction*)&table->CreateSceneObserverMSFT)); |
| 249 | (get_inst_proc_addr(instance, "xrDestroySceneObserverMSFT" , (PFN_xrVoidFunction*)&table->DestroySceneObserverMSFT)); |
| 250 | (get_inst_proc_addr(instance, "xrCreateSceneMSFT" , (PFN_xrVoidFunction*)&table->CreateSceneMSFT)); |
| 251 | (get_inst_proc_addr(instance, "xrDestroySceneMSFT" , (PFN_xrVoidFunction*)&table->DestroySceneMSFT)); |
| 252 | (get_inst_proc_addr(instance, "xrComputeNewSceneMSFT" , (PFN_xrVoidFunction*)&table->ComputeNewSceneMSFT)); |
| 253 | (get_inst_proc_addr(instance, "xrGetSceneComputeStateMSFT" , (PFN_xrVoidFunction*)&table->GetSceneComputeStateMSFT)); |
| 254 | (get_inst_proc_addr(instance, "xrGetSceneComponentsMSFT" , (PFN_xrVoidFunction*)&table->GetSceneComponentsMSFT)); |
| 255 | (get_inst_proc_addr(instance, "xrLocateSceneComponentsMSFT" , (PFN_xrVoidFunction*)&table->LocateSceneComponentsMSFT)); |
| 256 | (get_inst_proc_addr(instance, "xrGetSceneMeshBuffersMSFT" , (PFN_xrVoidFunction*)&table->GetSceneMeshBuffersMSFT)); |
| 257 | |
| 258 | // ---- XR_MSFT_scene_understanding_serialization extension commands |
| 259 | (get_inst_proc_addr(instance, "xrDeserializeSceneMSFT" , (PFN_xrVoidFunction*)&table->DeserializeSceneMSFT)); |
| 260 | (get_inst_proc_addr(instance, "xrGetSerializedSceneFragmentDataMSFT" , (PFN_xrVoidFunction*)&table->GetSerializedSceneFragmentDataMSFT)); |
| 261 | |
| 262 | // ---- XR_FB_display_refresh_rate extension commands |
| 263 | (get_inst_proc_addr(instance, "xrEnumerateDisplayRefreshRatesFB" , (PFN_xrVoidFunction*)&table->EnumerateDisplayRefreshRatesFB)); |
| 264 | (get_inst_proc_addr(instance, "xrGetDisplayRefreshRateFB" , (PFN_xrVoidFunction*)&table->GetDisplayRefreshRateFB)); |
| 265 | (get_inst_proc_addr(instance, "xrRequestDisplayRefreshRateFB" , (PFN_xrVoidFunction*)&table->RequestDisplayRefreshRateFB)); |
| 266 | |
| 267 | // ---- XR_HTCX_vive_tracker_interaction extension commands |
| 268 | (get_inst_proc_addr(instance, "xrEnumerateViveTrackerPathsHTCX" , (PFN_xrVoidFunction*)&table->EnumerateViveTrackerPathsHTCX)); |
| 269 | |
| 270 | // ---- XR_HTC_facial_tracking extension commands |
| 271 | (get_inst_proc_addr(instance, "xrCreateFacialTrackerHTC" , (PFN_xrVoidFunction*)&table->CreateFacialTrackerHTC)); |
| 272 | (get_inst_proc_addr(instance, "xrDestroyFacialTrackerHTC" , (PFN_xrVoidFunction*)&table->DestroyFacialTrackerHTC)); |
| 273 | (get_inst_proc_addr(instance, "xrGetFacialExpressionsHTC" , (PFN_xrVoidFunction*)&table->GetFacialExpressionsHTC)); |
| 274 | |
| 275 | // ---- XR_FB_color_space extension commands |
| 276 | (get_inst_proc_addr(instance, "xrEnumerateColorSpacesFB" , (PFN_xrVoidFunction*)&table->EnumerateColorSpacesFB)); |
| 277 | (get_inst_proc_addr(instance, "xrSetColorSpaceFB" , (PFN_xrVoidFunction*)&table->SetColorSpaceFB)); |
| 278 | |
| 279 | // ---- XR_FB_hand_tracking_mesh extension commands |
| 280 | (get_inst_proc_addr(instance, "xrGetHandMeshFB" , (PFN_xrVoidFunction*)&table->GetHandMeshFB)); |
| 281 | |
| 282 | // ---- XR_FB_spatial_entity extension commands |
| 283 | (get_inst_proc_addr(instance, "xrCreateSpatialAnchorFB" , (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFB)); |
| 284 | (get_inst_proc_addr(instance, "xrGetSpaceUuidFB" , (PFN_xrVoidFunction*)&table->GetSpaceUuidFB)); |
| 285 | (get_inst_proc_addr(instance, "xrEnumerateSpaceSupportedComponentsFB" , (PFN_xrVoidFunction*)&table->EnumerateSpaceSupportedComponentsFB)); |
| 286 | (get_inst_proc_addr(instance, "xrSetSpaceComponentStatusFB" , (PFN_xrVoidFunction*)&table->SetSpaceComponentStatusFB)); |
| 287 | (get_inst_proc_addr(instance, "xrGetSpaceComponentStatusFB" , (PFN_xrVoidFunction*)&table->GetSpaceComponentStatusFB)); |
| 288 | |
| 289 | // ---- XR_FB_foveation extension commands |
| 290 | (get_inst_proc_addr(instance, "xrCreateFoveationProfileFB" , (PFN_xrVoidFunction*)&table->CreateFoveationProfileFB)); |
| 291 | (get_inst_proc_addr(instance, "xrDestroyFoveationProfileFB" , (PFN_xrVoidFunction*)&table->DestroyFoveationProfileFB)); |
| 292 | |
| 293 | // ---- XR_FB_keyboard_tracking extension commands |
| 294 | (get_inst_proc_addr(instance, "xrQuerySystemTrackedKeyboardFB" , (PFN_xrVoidFunction*)&table->QuerySystemTrackedKeyboardFB)); |
| 295 | (get_inst_proc_addr(instance, "xrCreateKeyboardSpaceFB" , (PFN_xrVoidFunction*)&table->CreateKeyboardSpaceFB)); |
| 296 | |
| 297 | // ---- XR_FB_triangle_mesh extension commands |
| 298 | (get_inst_proc_addr(instance, "xrCreateTriangleMeshFB" , (PFN_xrVoidFunction*)&table->CreateTriangleMeshFB)); |
| 299 | (get_inst_proc_addr(instance, "xrDestroyTriangleMeshFB" , (PFN_xrVoidFunction*)&table->DestroyTriangleMeshFB)); |
| 300 | (get_inst_proc_addr(instance, "xrTriangleMeshGetVertexBufferFB" , (PFN_xrVoidFunction*)&table->TriangleMeshGetVertexBufferFB)); |
| 301 | (get_inst_proc_addr(instance, "xrTriangleMeshGetIndexBufferFB" , (PFN_xrVoidFunction*)&table->TriangleMeshGetIndexBufferFB)); |
| 302 | (get_inst_proc_addr(instance, "xrTriangleMeshBeginUpdateFB" , (PFN_xrVoidFunction*)&table->TriangleMeshBeginUpdateFB)); |
| 303 | (get_inst_proc_addr(instance, "xrTriangleMeshEndUpdateFB" , (PFN_xrVoidFunction*)&table->TriangleMeshEndUpdateFB)); |
| 304 | (get_inst_proc_addr(instance, "xrTriangleMeshBeginVertexBufferUpdateFB" , (PFN_xrVoidFunction*)&table->TriangleMeshBeginVertexBufferUpdateFB)); |
| 305 | (get_inst_proc_addr(instance, "xrTriangleMeshEndVertexBufferUpdateFB" , (PFN_xrVoidFunction*)&table->TriangleMeshEndVertexBufferUpdateFB)); |
| 306 | |
| 307 | // ---- XR_FB_passthrough extension commands |
| 308 | (get_inst_proc_addr(instance, "xrCreatePassthroughFB" , (PFN_xrVoidFunction*)&table->CreatePassthroughFB)); |
| 309 | (get_inst_proc_addr(instance, "xrDestroyPassthroughFB" , (PFN_xrVoidFunction*)&table->DestroyPassthroughFB)); |
| 310 | (get_inst_proc_addr(instance, "xrPassthroughStartFB" , (PFN_xrVoidFunction*)&table->PassthroughStartFB)); |
| 311 | (get_inst_proc_addr(instance, "xrPassthroughPauseFB" , (PFN_xrVoidFunction*)&table->PassthroughPauseFB)); |
| 312 | (get_inst_proc_addr(instance, "xrCreatePassthroughLayerFB" , (PFN_xrVoidFunction*)&table->CreatePassthroughLayerFB)); |
| 313 | (get_inst_proc_addr(instance, "xrDestroyPassthroughLayerFB" , (PFN_xrVoidFunction*)&table->DestroyPassthroughLayerFB)); |
| 314 | (get_inst_proc_addr(instance, "xrPassthroughLayerPauseFB" , (PFN_xrVoidFunction*)&table->PassthroughLayerPauseFB)); |
| 315 | (get_inst_proc_addr(instance, "xrPassthroughLayerResumeFB" , (PFN_xrVoidFunction*)&table->PassthroughLayerResumeFB)); |
| 316 | (get_inst_proc_addr(instance, "xrPassthroughLayerSetStyleFB" , (PFN_xrVoidFunction*)&table->PassthroughLayerSetStyleFB)); |
| 317 | (get_inst_proc_addr(instance, "xrCreateGeometryInstanceFB" , (PFN_xrVoidFunction*)&table->CreateGeometryInstanceFB)); |
| 318 | (get_inst_proc_addr(instance, "xrDestroyGeometryInstanceFB" , (PFN_xrVoidFunction*)&table->DestroyGeometryInstanceFB)); |
| 319 | (get_inst_proc_addr(instance, "xrGeometryInstanceSetTransformFB" , (PFN_xrVoidFunction*)&table->GeometryInstanceSetTransformFB)); |
| 320 | |
| 321 | // ---- XR_FB_render_model extension commands |
| 322 | (get_inst_proc_addr(instance, "xrEnumerateRenderModelPathsFB" , (PFN_xrVoidFunction*)&table->EnumerateRenderModelPathsFB)); |
| 323 | (get_inst_proc_addr(instance, "xrGetRenderModelPropertiesFB" , (PFN_xrVoidFunction*)&table->GetRenderModelPropertiesFB)); |
| 324 | (get_inst_proc_addr(instance, "xrLoadRenderModelFB" , (PFN_xrVoidFunction*)&table->LoadRenderModelFB)); |
| 325 | |
| 326 | // ---- XR_VARJO_environment_depth_estimation extension commands |
| 327 | (get_inst_proc_addr(instance, "xrSetEnvironmentDepthEstimationVARJO" , (PFN_xrVoidFunction*)&table->SetEnvironmentDepthEstimationVARJO)); |
| 328 | |
| 329 | // ---- XR_VARJO_marker_tracking extension commands |
| 330 | (get_inst_proc_addr(instance, "xrSetMarkerTrackingVARJO" , (PFN_xrVoidFunction*)&table->SetMarkerTrackingVARJO)); |
| 331 | (get_inst_proc_addr(instance, "xrSetMarkerTrackingTimeoutVARJO" , (PFN_xrVoidFunction*)&table->SetMarkerTrackingTimeoutVARJO)); |
| 332 | (get_inst_proc_addr(instance, "xrSetMarkerTrackingPredictionVARJO" , (PFN_xrVoidFunction*)&table->SetMarkerTrackingPredictionVARJO)); |
| 333 | (get_inst_proc_addr(instance, "xrGetMarkerSizeVARJO" , (PFN_xrVoidFunction*)&table->GetMarkerSizeVARJO)); |
| 334 | (get_inst_proc_addr(instance, "xrCreateMarkerSpaceVARJO" , (PFN_xrVoidFunction*)&table->CreateMarkerSpaceVARJO)); |
| 335 | |
| 336 | // ---- XR_VARJO_view_offset extension commands |
| 337 | (get_inst_proc_addr(instance, "xrSetViewOffsetVARJO" , (PFN_xrVoidFunction*)&table->SetViewOffsetVARJO)); |
| 338 | |
| 339 | // ---- XR_ML_compat extension commands |
| 340 | #if defined(XR_USE_PLATFORM_ML) |
| 341 | (get_inst_proc_addr(instance, "xrCreateSpaceFromCoordinateFrameUIDML" , (PFN_xrVoidFunction*)&table->CreateSpaceFromCoordinateFrameUIDML)); |
| 342 | #endif // defined(XR_USE_PLATFORM_ML) |
| 343 | |
| 344 | // ---- XR_MSFT_spatial_anchor_persistence extension commands |
| 345 | (get_inst_proc_addr(instance, "xrCreateSpatialAnchorStoreConnectionMSFT" , (PFN_xrVoidFunction*)&table->CreateSpatialAnchorStoreConnectionMSFT)); |
| 346 | (get_inst_proc_addr(instance, "xrDestroySpatialAnchorStoreConnectionMSFT" , (PFN_xrVoidFunction*)&table->DestroySpatialAnchorStoreConnectionMSFT)); |
| 347 | (get_inst_proc_addr(instance, "xrPersistSpatialAnchorMSFT" , (PFN_xrVoidFunction*)&table->PersistSpatialAnchorMSFT)); |
| 348 | (get_inst_proc_addr(instance, "xrEnumeratePersistedSpatialAnchorNamesMSFT" , (PFN_xrVoidFunction*)&table->EnumeratePersistedSpatialAnchorNamesMSFT)); |
| 349 | (get_inst_proc_addr(instance, "xrCreateSpatialAnchorFromPersistedNameMSFT" , (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFromPersistedNameMSFT)); |
| 350 | (get_inst_proc_addr(instance, "xrUnpersistSpatialAnchorMSFT" , (PFN_xrVoidFunction*)&table->UnpersistSpatialAnchorMSFT)); |
| 351 | (get_inst_proc_addr(instance, "xrClearSpatialAnchorStoreMSFT" , (PFN_xrVoidFunction*)&table->ClearSpatialAnchorStoreMSFT)); |
| 352 | |
| 353 | // ---- XR_FB_spatial_entity_query extension commands |
| 354 | (get_inst_proc_addr(instance, "xrQuerySpacesFB" , (PFN_xrVoidFunction*)&table->QuerySpacesFB)); |
| 355 | (get_inst_proc_addr(instance, "xrRetrieveSpaceQueryResultsFB" , (PFN_xrVoidFunction*)&table->RetrieveSpaceQueryResultsFB)); |
| 356 | |
| 357 | // ---- XR_FB_spatial_entity_storage extension commands |
| 358 | (get_inst_proc_addr(instance, "xrSaveSpaceFB" , (PFN_xrVoidFunction*)&table->SaveSpaceFB)); |
| 359 | (get_inst_proc_addr(instance, "xrEraseSpaceFB" , (PFN_xrVoidFunction*)&table->EraseSpaceFB)); |
| 360 | |
| 361 | // ---- XR_OCULUS_audio_device_guid extension commands |
| 362 | #if defined(XR_USE_PLATFORM_WIN32) |
| 363 | (get_inst_proc_addr(instance, "xrGetAudioOutputDeviceGuidOculus" , (PFN_xrVoidFunction*)&table->GetAudioOutputDeviceGuidOculus)); |
| 364 | #endif // defined(XR_USE_PLATFORM_WIN32) |
| 365 | #if defined(XR_USE_PLATFORM_WIN32) |
| 366 | (get_inst_proc_addr(instance, "xrGetAudioInputDeviceGuidOculus" , (PFN_xrVoidFunction*)&table->GetAudioInputDeviceGuidOculus)); |
| 367 | #endif // defined(XR_USE_PLATFORM_WIN32) |
| 368 | |
| 369 | // ---- XR_FB_spatial_entity_sharing extension commands |
| 370 | (get_inst_proc_addr(instance, "xrShareSpacesFB" , (PFN_xrVoidFunction*)&table->ShareSpacesFB)); |
| 371 | |
| 372 | // ---- XR_FB_scene extension commands |
| 373 | (get_inst_proc_addr(instance, "xrGetSpaceBoundingBox2DFB" , (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox2DFB)); |
| 374 | (get_inst_proc_addr(instance, "xrGetSpaceBoundingBox3DFB" , (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox3DFB)); |
| 375 | (get_inst_proc_addr(instance, "xrGetSpaceSemanticLabelsFB" , (PFN_xrVoidFunction*)&table->GetSpaceSemanticLabelsFB)); |
| 376 | (get_inst_proc_addr(instance, "xrGetSpaceBoundary2DFB" , (PFN_xrVoidFunction*)&table->GetSpaceBoundary2DFB)); |
| 377 | (get_inst_proc_addr(instance, "xrGetSpaceRoomLayoutFB" , (PFN_xrVoidFunction*)&table->GetSpaceRoomLayoutFB)); |
| 378 | |
| 379 | // ---- XR_ALMALENCE_digital_lens_control extension commands |
| 380 | (get_inst_proc_addr(instance, "xrSetDigitalLensControlALMALENCE" , (PFN_xrVoidFunction*)&table->SetDigitalLensControlALMALENCE)); |
| 381 | |
| 382 | // ---- XR_FB_scene_capture extension commands |
| 383 | (get_inst_proc_addr(instance, "xrRequestSceneCaptureFB" , (PFN_xrVoidFunction*)&table->RequestSceneCaptureFB)); |
| 384 | |
| 385 | // ---- XR_FB_spatial_entity_container extension commands |
| 386 | (get_inst_proc_addr(instance, "xrGetSpaceContainerFB" , (PFN_xrVoidFunction*)&table->GetSpaceContainerFB)); |
| 387 | |
| 388 | // ---- XR_META_foveation_eye_tracked extension commands |
| 389 | (get_inst_proc_addr(instance, "xrGetFoveationEyeTrackedStateMETA" , (PFN_xrVoidFunction*)&table->GetFoveationEyeTrackedStateMETA)); |
| 390 | |
| 391 | // ---- XR_FB_face_tracking extension commands |
| 392 | (get_inst_proc_addr(instance, "xrCreateFaceTrackerFB" , (PFN_xrVoidFunction*)&table->CreateFaceTrackerFB)); |
| 393 | (get_inst_proc_addr(instance, "xrDestroyFaceTrackerFB" , (PFN_xrVoidFunction*)&table->DestroyFaceTrackerFB)); |
| 394 | (get_inst_proc_addr(instance, "xrGetFaceExpressionWeightsFB" , (PFN_xrVoidFunction*)&table->GetFaceExpressionWeightsFB)); |
| 395 | |
| 396 | // ---- XR_FB_eye_tracking_social extension commands |
| 397 | (get_inst_proc_addr(instance, "xrCreateEyeTrackerFB" , (PFN_xrVoidFunction*)&table->CreateEyeTrackerFB)); |
| 398 | (get_inst_proc_addr(instance, "xrDestroyEyeTrackerFB" , (PFN_xrVoidFunction*)&table->DestroyEyeTrackerFB)); |
| 399 | (get_inst_proc_addr(instance, "xrGetEyeGazesFB" , (PFN_xrVoidFunction*)&table->GetEyeGazesFB)); |
| 400 | |
| 401 | // ---- XR_FB_passthrough_keyboard_hands extension commands |
| 402 | (get_inst_proc_addr(instance, "xrPassthroughLayerSetKeyboardHandsIntensityFB" , (PFN_xrVoidFunction*)&table->PassthroughLayerSetKeyboardHandsIntensityFB)); |
| 403 | |
| 404 | // ---- XR_FB_haptic_pcm extension commands |
| 405 | (get_inst_proc_addr(instance, "xrGetDeviceSampleRateFB" , (PFN_xrVoidFunction*)&table->GetDeviceSampleRateFB)); |
| 406 | |
| 407 | // ---- XR_META_virtual_keyboard extension commands |
| 408 | (get_inst_proc_addr(instance, "xrCreateVirtualKeyboardMETA" , (PFN_xrVoidFunction*)&table->CreateVirtualKeyboardMETA)); |
| 409 | (get_inst_proc_addr(instance, "xrDestroyVirtualKeyboardMETA" , (PFN_xrVoidFunction*)&table->DestroyVirtualKeyboardMETA)); |
| 410 | (get_inst_proc_addr(instance, "xrCreateVirtualKeyboardSpaceMETA" , (PFN_xrVoidFunction*)&table->CreateVirtualKeyboardSpaceMETA)); |
| 411 | (get_inst_proc_addr(instance, "xrSuggestVirtualKeyboardLocationMETA" , (PFN_xrVoidFunction*)&table->SuggestVirtualKeyboardLocationMETA)); |
| 412 | (get_inst_proc_addr(instance, "xrGetVirtualKeyboardScaleMETA" , (PFN_xrVoidFunction*)&table->GetVirtualKeyboardScaleMETA)); |
| 413 | (get_inst_proc_addr(instance, "xrSetVirtualKeyboardModelVisibilityMETA" , (PFN_xrVoidFunction*)&table->SetVirtualKeyboardModelVisibilityMETA)); |
| 414 | (get_inst_proc_addr(instance, "xrGetVirtualKeyboardModelAnimationStatesMETA" , (PFN_xrVoidFunction*)&table->GetVirtualKeyboardModelAnimationStatesMETA)); |
| 415 | (get_inst_proc_addr(instance, "xrGetVirtualKeyboardDirtyTexturesMETA" , (PFN_xrVoidFunction*)&table->GetVirtualKeyboardDirtyTexturesMETA)); |
| 416 | (get_inst_proc_addr(instance, "xrGetVirtualKeyboardTextureDataMETA" , (PFN_xrVoidFunction*)&table->GetVirtualKeyboardTextureDataMETA)); |
| 417 | (get_inst_proc_addr(instance, "xrSendVirtualKeyboardInputMETA" , (PFN_xrVoidFunction*)&table->SendVirtualKeyboardInputMETA)); |
| 418 | (get_inst_proc_addr(instance, "xrChangeVirtualKeyboardTextContextMETA" , (PFN_xrVoidFunction*)&table->ChangeVirtualKeyboardTextContextMETA)); |
| 419 | |
| 420 | // ---- XR_OCULUS_external_camera extension commands |
| 421 | (get_inst_proc_addr(instance, "xrEnumerateExternalCamerasOCULUS" , (PFN_xrVoidFunction*)&table->EnumerateExternalCamerasOCULUS)); |
| 422 | |
| 423 | // ---- XR_META_performance_metrics extension commands |
| 424 | (get_inst_proc_addr(instance, "xrEnumeratePerformanceMetricsCounterPathsMETA" , (PFN_xrVoidFunction*)&table->EnumeratePerformanceMetricsCounterPathsMETA)); |
| 425 | (get_inst_proc_addr(instance, "xrSetPerformanceMetricsStateMETA" , (PFN_xrVoidFunction*)&table->SetPerformanceMetricsStateMETA)); |
| 426 | (get_inst_proc_addr(instance, "xrGetPerformanceMetricsStateMETA" , (PFN_xrVoidFunction*)&table->GetPerformanceMetricsStateMETA)); |
| 427 | (get_inst_proc_addr(instance, "xrQueryPerformanceMetricsCounterMETA" , (PFN_xrVoidFunction*)&table->QueryPerformanceMetricsCounterMETA)); |
| 428 | |
| 429 | // ---- XR_FB_spatial_entity_storage_batch extension commands |
| 430 | (get_inst_proc_addr(instance, "xrSaveSpaceListFB" , (PFN_xrVoidFunction*)&table->SaveSpaceListFB)); |
| 431 | |
| 432 | // ---- XR_FB_spatial_entity_user extension commands |
| 433 | (get_inst_proc_addr(instance, "xrCreateSpaceUserFB" , (PFN_xrVoidFunction*)&table->CreateSpaceUserFB)); |
| 434 | (get_inst_proc_addr(instance, "xrGetSpaceUserIdFB" , (PFN_xrVoidFunction*)&table->GetSpaceUserIdFB)); |
| 435 | (get_inst_proc_addr(instance, "xrDestroySpaceUserFB" , (PFN_xrVoidFunction*)&table->DestroySpaceUserFB)); |
| 436 | |
| 437 | // ---- XR_META_passthrough_color_lut extension commands |
| 438 | (get_inst_proc_addr(instance, "xrCreatePassthroughColorLutMETA" , (PFN_xrVoidFunction*)&table->CreatePassthroughColorLutMETA)); |
| 439 | (get_inst_proc_addr(instance, "xrDestroyPassthroughColorLutMETA" , (PFN_xrVoidFunction*)&table->DestroyPassthroughColorLutMETA)); |
| 440 | (get_inst_proc_addr(instance, "xrUpdatePassthroughColorLutMETA" , (PFN_xrVoidFunction*)&table->UpdatePassthroughColorLutMETA)); |
| 441 | |
| 442 | // ---- XR_QCOM_tracking_optimization_settings extension commands |
| 443 | (get_inst_proc_addr(instance, "xrSetTrackingOptimizationSettingsHintQCOM" , (PFN_xrVoidFunction*)&table->SetTrackingOptimizationSettingsHintQCOM)); |
| 444 | |
| 445 | // ---- XR_HTC_passthrough extension commands |
| 446 | (get_inst_proc_addr(instance, "xrCreatePassthroughHTC" , (PFN_xrVoidFunction*)&table->CreatePassthroughHTC)); |
| 447 | (get_inst_proc_addr(instance, "xrDestroyPassthroughHTC" , (PFN_xrVoidFunction*)&table->DestroyPassthroughHTC)); |
| 448 | |
| 449 | // ---- XR_HTC_foveation extension commands |
| 450 | (get_inst_proc_addr(instance, "xrApplyFoveationHTC" , (PFN_xrVoidFunction*)&table->ApplyFoveationHTC)); |
| 451 | |
| 452 | // ---- XR_MNDX_force_feedback_curl extension commands |
| 453 | (get_inst_proc_addr(instance, "xrApplyForceFeedbackCurlMNDX" , (PFN_xrVoidFunction*)&table->ApplyForceFeedbackCurlMNDX)); |
| 454 | |
| 455 | // ---- XR_EXT_plane_detection extension commands |
| 456 | (get_inst_proc_addr(instance, "xrCreatePlaneDetectorEXT" , (PFN_xrVoidFunction*)&table->CreatePlaneDetectorEXT)); |
| 457 | (get_inst_proc_addr(instance, "xrDestroyPlaneDetectorEXT" , (PFN_xrVoidFunction*)&table->DestroyPlaneDetectorEXT)); |
| 458 | (get_inst_proc_addr(instance, "xrBeginPlaneDetectionEXT" , (PFN_xrVoidFunction*)&table->BeginPlaneDetectionEXT)); |
| 459 | (get_inst_proc_addr(instance, "xrGetPlaneDetectionStateEXT" , (PFN_xrVoidFunction*)&table->GetPlaneDetectionStateEXT)); |
| 460 | (get_inst_proc_addr(instance, "xrGetPlaneDetectionsEXT" , (PFN_xrVoidFunction*)&table->GetPlaneDetectionsEXT)); |
| 461 | (get_inst_proc_addr(instance, "xrGetPlanePolygonBufferEXT" , (PFN_xrVoidFunction*)&table->GetPlanePolygonBufferEXT)); |
| 462 | } |
| 463 | |
| 464 | |
| 465 | #ifdef __cplusplus |
| 466 | } // extern "C" |
| 467 | #endif |
| 468 | |
| 469 | |