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#pragma once
31#include "xr_dependencies.h"
32#include <openxr/openxr.h>
33#include <openxr/openxr_platform.h>
34
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39// Generated dispatch table
40struct XrGeneratedDispatchTable {
41
42 // ---- Core 1.0 commands
43 PFN_xrGetInstanceProcAddr GetInstanceProcAddr;
44 PFN_xrEnumerateApiLayerProperties EnumerateApiLayerProperties;
45 PFN_xrEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
46 PFN_xrCreateInstance CreateInstance;
47 PFN_xrDestroyInstance DestroyInstance;
48 PFN_xrGetInstanceProperties GetInstanceProperties;
49 PFN_xrPollEvent PollEvent;
50 PFN_xrResultToString ResultToString;
51 PFN_xrStructureTypeToString StructureTypeToString;
52 PFN_xrGetSystem GetSystem;
53 PFN_xrGetSystemProperties GetSystemProperties;
54 PFN_xrEnumerateEnvironmentBlendModes EnumerateEnvironmentBlendModes;
55 PFN_xrCreateSession CreateSession;
56 PFN_xrDestroySession DestroySession;
57 PFN_xrEnumerateReferenceSpaces EnumerateReferenceSpaces;
58 PFN_xrCreateReferenceSpace CreateReferenceSpace;
59 PFN_xrGetReferenceSpaceBoundsRect GetReferenceSpaceBoundsRect;
60 PFN_xrCreateActionSpace CreateActionSpace;
61 PFN_xrLocateSpace LocateSpace;
62 PFN_xrDestroySpace DestroySpace;
63 PFN_xrEnumerateViewConfigurations EnumerateViewConfigurations;
64 PFN_xrGetViewConfigurationProperties GetViewConfigurationProperties;
65 PFN_xrEnumerateViewConfigurationViews EnumerateViewConfigurationViews;
66 PFN_xrEnumerateSwapchainFormats EnumerateSwapchainFormats;
67 PFN_xrCreateSwapchain CreateSwapchain;
68 PFN_xrDestroySwapchain DestroySwapchain;
69 PFN_xrEnumerateSwapchainImages EnumerateSwapchainImages;
70 PFN_xrAcquireSwapchainImage AcquireSwapchainImage;
71 PFN_xrWaitSwapchainImage WaitSwapchainImage;
72 PFN_xrReleaseSwapchainImage ReleaseSwapchainImage;
73 PFN_xrBeginSession BeginSession;
74 PFN_xrEndSession EndSession;
75 PFN_xrRequestExitSession RequestExitSession;
76 PFN_xrWaitFrame WaitFrame;
77 PFN_xrBeginFrame BeginFrame;
78 PFN_xrEndFrame EndFrame;
79 PFN_xrLocateViews LocateViews;
80 PFN_xrStringToPath StringToPath;
81 PFN_xrPathToString PathToString;
82 PFN_xrCreateActionSet CreateActionSet;
83 PFN_xrDestroyActionSet DestroyActionSet;
84 PFN_xrCreateAction CreateAction;
85 PFN_xrDestroyAction DestroyAction;
86 PFN_xrSuggestInteractionProfileBindings SuggestInteractionProfileBindings;
87 PFN_xrAttachSessionActionSets AttachSessionActionSets;
88 PFN_xrGetCurrentInteractionProfile GetCurrentInteractionProfile;
89 PFN_xrGetActionStateBoolean GetActionStateBoolean;
90 PFN_xrGetActionStateFloat GetActionStateFloat;
91 PFN_xrGetActionStateVector2f GetActionStateVector2f;
92 PFN_xrGetActionStatePose GetActionStatePose;
93 PFN_xrSyncActions SyncActions;
94 PFN_xrEnumerateBoundSourcesForAction EnumerateBoundSourcesForAction;
95 PFN_xrGetInputSourceLocalizedName GetInputSourceLocalizedName;
96 PFN_xrApplyHapticFeedback ApplyHapticFeedback;
97 PFN_xrStopHapticFeedback StopHapticFeedback;
98
99 // ---- XR_KHR_android_thread_settings extension commands
100#if defined(XR_USE_PLATFORM_ANDROID)
101 PFN_xrSetAndroidApplicationThreadKHR SetAndroidApplicationThreadKHR;
102#endif // defined(XR_USE_PLATFORM_ANDROID)
103
104 // ---- XR_KHR_android_surface_swapchain extension commands
105#if defined(XR_USE_PLATFORM_ANDROID)
106 PFN_xrCreateSwapchainAndroidSurfaceKHR CreateSwapchainAndroidSurfaceKHR;
107#endif // defined(XR_USE_PLATFORM_ANDROID)
108
109 // ---- XR_KHR_opengl_enable extension commands
110#if defined(XR_USE_GRAPHICS_API_OPENGL)
111 PFN_xrGetOpenGLGraphicsRequirementsKHR GetOpenGLGraphicsRequirementsKHR;
112#endif // defined(XR_USE_GRAPHICS_API_OPENGL)
113
114 // ---- XR_KHR_opengl_es_enable extension commands
115#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
116 PFN_xrGetOpenGLESGraphicsRequirementsKHR GetOpenGLESGraphicsRequirementsKHR;
117#endif // defined(XR_USE_GRAPHICS_API_OPENGL_ES)
118
119 // ---- XR_KHR_vulkan_enable extension commands
120#if defined(XR_USE_GRAPHICS_API_VULKAN)
121 PFN_xrGetVulkanInstanceExtensionsKHR GetVulkanInstanceExtensionsKHR;
122#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
123#if defined(XR_USE_GRAPHICS_API_VULKAN)
124 PFN_xrGetVulkanDeviceExtensionsKHR GetVulkanDeviceExtensionsKHR;
125#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
126#if defined(XR_USE_GRAPHICS_API_VULKAN)
127 PFN_xrGetVulkanGraphicsDeviceKHR GetVulkanGraphicsDeviceKHR;
128#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
129#if defined(XR_USE_GRAPHICS_API_VULKAN)
130 PFN_xrGetVulkanGraphicsRequirementsKHR GetVulkanGraphicsRequirementsKHR;
131#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
132
133 // ---- XR_KHR_D3D11_enable extension commands
134#if defined(XR_USE_GRAPHICS_API_D3D11)
135 PFN_xrGetD3D11GraphicsRequirementsKHR GetD3D11GraphicsRequirementsKHR;
136#endif // defined(XR_USE_GRAPHICS_API_D3D11)
137
138 // ---- XR_KHR_D3D12_enable extension commands
139#if defined(XR_USE_GRAPHICS_API_D3D12)
140 PFN_xrGetD3D12GraphicsRequirementsKHR GetD3D12GraphicsRequirementsKHR;
141#endif // defined(XR_USE_GRAPHICS_API_D3D12)
142
143 // ---- XR_KHR_visibility_mask extension commands
144 PFN_xrGetVisibilityMaskKHR GetVisibilityMaskKHR;
145
146 // ---- XR_KHR_win32_convert_performance_counter_time extension commands
147#if defined(XR_USE_PLATFORM_WIN32)
148 PFN_xrConvertWin32PerformanceCounterToTimeKHR ConvertWin32PerformanceCounterToTimeKHR;
149#endif // defined(XR_USE_PLATFORM_WIN32)
150#if defined(XR_USE_PLATFORM_WIN32)
151 PFN_xrConvertTimeToWin32PerformanceCounterKHR ConvertTimeToWin32PerformanceCounterKHR;
152#endif // defined(XR_USE_PLATFORM_WIN32)
153
154 // ---- XR_KHR_convert_timespec_time extension commands
155#if defined(XR_USE_TIMESPEC)
156 PFN_xrConvertTimespecTimeToTimeKHR ConvertTimespecTimeToTimeKHR;
157#endif // defined(XR_USE_TIMESPEC)
158#if defined(XR_USE_TIMESPEC)
159 PFN_xrConvertTimeToTimespecTimeKHR ConvertTimeToTimespecTimeKHR;
160#endif // defined(XR_USE_TIMESPEC)
161
162 // ---- XR_KHR_loader_init extension commands
163 PFN_xrInitializeLoaderKHR InitializeLoaderKHR;
164
165 // ---- XR_KHR_vulkan_enable2 extension commands
166#if defined(XR_USE_GRAPHICS_API_VULKAN)
167 PFN_xrCreateVulkanInstanceKHR CreateVulkanInstanceKHR;
168#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
169#if defined(XR_USE_GRAPHICS_API_VULKAN)
170 PFN_xrCreateVulkanDeviceKHR CreateVulkanDeviceKHR;
171#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
172#if defined(XR_USE_GRAPHICS_API_VULKAN)
173 PFN_xrGetVulkanGraphicsDevice2KHR GetVulkanGraphicsDevice2KHR;
174#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
175#if defined(XR_USE_GRAPHICS_API_VULKAN)
176 PFN_xrGetVulkanGraphicsRequirements2KHR GetVulkanGraphicsRequirements2KHR;
177#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
178
179 // ---- XR_EXT_performance_settings extension commands
180 PFN_xrPerfSettingsSetPerformanceLevelEXT PerfSettingsSetPerformanceLevelEXT;
181
182 // ---- XR_EXT_thermal_query extension commands
183 PFN_xrThermalGetTemperatureTrendEXT ThermalGetTemperatureTrendEXT;
184
185 // ---- XR_EXT_debug_utils extension commands
186 PFN_xrSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT;
187 PFN_xrCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT;
188 PFN_xrDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT;
189 PFN_xrSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT;
190 PFN_xrSessionBeginDebugUtilsLabelRegionEXT SessionBeginDebugUtilsLabelRegionEXT;
191 PFN_xrSessionEndDebugUtilsLabelRegionEXT SessionEndDebugUtilsLabelRegionEXT;
192 PFN_xrSessionInsertDebugUtilsLabelEXT SessionInsertDebugUtilsLabelEXT;
193
194 // ---- XR_MSFT_spatial_anchor extension commands
195 PFN_xrCreateSpatialAnchorMSFT CreateSpatialAnchorMSFT;
196 PFN_xrCreateSpatialAnchorSpaceMSFT CreateSpatialAnchorSpaceMSFT;
197 PFN_xrDestroySpatialAnchorMSFT DestroySpatialAnchorMSFT;
198
199 // ---- XR_EXT_conformance_automation extension commands
200 PFN_xrSetInputDeviceActiveEXT SetInputDeviceActiveEXT;
201 PFN_xrSetInputDeviceStateBoolEXT SetInputDeviceStateBoolEXT;
202 PFN_xrSetInputDeviceStateFloatEXT SetInputDeviceStateFloatEXT;
203 PFN_xrSetInputDeviceStateVector2fEXT SetInputDeviceStateVector2fEXT;
204 PFN_xrSetInputDeviceLocationEXT SetInputDeviceLocationEXT;
205
206 // ---- XR_MSFT_spatial_graph_bridge extension commands
207 PFN_xrCreateSpatialGraphNodeSpaceMSFT CreateSpatialGraphNodeSpaceMSFT;
208 PFN_xrTryCreateSpatialGraphStaticNodeBindingMSFT TryCreateSpatialGraphStaticNodeBindingMSFT;
209 PFN_xrDestroySpatialGraphNodeBindingMSFT DestroySpatialGraphNodeBindingMSFT;
210 PFN_xrGetSpatialGraphNodeBindingPropertiesMSFT GetSpatialGraphNodeBindingPropertiesMSFT;
211
212 // ---- XR_EXT_hand_tracking extension commands
213 PFN_xrCreateHandTrackerEXT CreateHandTrackerEXT;
214 PFN_xrDestroyHandTrackerEXT DestroyHandTrackerEXT;
215 PFN_xrLocateHandJointsEXT LocateHandJointsEXT;
216
217 // ---- XR_MSFT_hand_tracking_mesh extension commands
218 PFN_xrCreateHandMeshSpaceMSFT CreateHandMeshSpaceMSFT;
219 PFN_xrUpdateHandMeshMSFT UpdateHandMeshMSFT;
220
221 // ---- XR_MSFT_controller_model extension commands
222 PFN_xrGetControllerModelKeyMSFT GetControllerModelKeyMSFT;
223 PFN_xrLoadControllerModelMSFT LoadControllerModelMSFT;
224 PFN_xrGetControllerModelPropertiesMSFT GetControllerModelPropertiesMSFT;
225 PFN_xrGetControllerModelStateMSFT GetControllerModelStateMSFT;
226
227 // ---- XR_MSFT_perception_anchor_interop extension commands
228#if defined(XR_USE_PLATFORM_WIN32)
229 PFN_xrCreateSpatialAnchorFromPerceptionAnchorMSFT CreateSpatialAnchorFromPerceptionAnchorMSFT;
230#endif // defined(XR_USE_PLATFORM_WIN32)
231#if defined(XR_USE_PLATFORM_WIN32)
232 PFN_xrTryGetPerceptionAnchorFromSpatialAnchorMSFT TryGetPerceptionAnchorFromSpatialAnchorMSFT;
233#endif // defined(XR_USE_PLATFORM_WIN32)
234
235 // ---- XR_MSFT_composition_layer_reprojection extension commands
236 PFN_xrEnumerateReprojectionModesMSFT EnumerateReprojectionModesMSFT;
237
238 // ---- XR_FB_swapchain_update_state extension commands
239 PFN_xrUpdateSwapchainFB UpdateSwapchainFB;
240 PFN_xrGetSwapchainStateFB GetSwapchainStateFB;
241
242 // ---- XR_FB_body_tracking extension commands
243 PFN_xrCreateBodyTrackerFB CreateBodyTrackerFB;
244 PFN_xrDestroyBodyTrackerFB DestroyBodyTrackerFB;
245 PFN_xrLocateBodyJointsFB LocateBodyJointsFB;
246 PFN_xrGetBodySkeletonFB GetBodySkeletonFB;
247
248 // ---- XR_MSFT_scene_understanding extension commands
249 PFN_xrEnumerateSceneComputeFeaturesMSFT EnumerateSceneComputeFeaturesMSFT;
250 PFN_xrCreateSceneObserverMSFT CreateSceneObserverMSFT;
251 PFN_xrDestroySceneObserverMSFT DestroySceneObserverMSFT;
252 PFN_xrCreateSceneMSFT CreateSceneMSFT;
253 PFN_xrDestroySceneMSFT DestroySceneMSFT;
254 PFN_xrComputeNewSceneMSFT ComputeNewSceneMSFT;
255 PFN_xrGetSceneComputeStateMSFT GetSceneComputeStateMSFT;
256 PFN_xrGetSceneComponentsMSFT GetSceneComponentsMSFT;
257 PFN_xrLocateSceneComponentsMSFT LocateSceneComponentsMSFT;
258 PFN_xrGetSceneMeshBuffersMSFT GetSceneMeshBuffersMSFT;
259
260 // ---- XR_MSFT_scene_understanding_serialization extension commands
261 PFN_xrDeserializeSceneMSFT DeserializeSceneMSFT;
262 PFN_xrGetSerializedSceneFragmentDataMSFT GetSerializedSceneFragmentDataMSFT;
263
264 // ---- XR_FB_display_refresh_rate extension commands
265 PFN_xrEnumerateDisplayRefreshRatesFB EnumerateDisplayRefreshRatesFB;
266 PFN_xrGetDisplayRefreshRateFB GetDisplayRefreshRateFB;
267 PFN_xrRequestDisplayRefreshRateFB RequestDisplayRefreshRateFB;
268
269 // ---- XR_HTCX_vive_tracker_interaction extension commands
270 PFN_xrEnumerateViveTrackerPathsHTCX EnumerateViveTrackerPathsHTCX;
271
272 // ---- XR_HTC_facial_tracking extension commands
273 PFN_xrCreateFacialTrackerHTC CreateFacialTrackerHTC;
274 PFN_xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC;
275 PFN_xrGetFacialExpressionsHTC GetFacialExpressionsHTC;
276
277 // ---- XR_FB_color_space extension commands
278 PFN_xrEnumerateColorSpacesFB EnumerateColorSpacesFB;
279 PFN_xrSetColorSpaceFB SetColorSpaceFB;
280
281 // ---- XR_FB_hand_tracking_mesh extension commands
282 PFN_xrGetHandMeshFB GetHandMeshFB;
283
284 // ---- XR_FB_spatial_entity extension commands
285 PFN_xrCreateSpatialAnchorFB CreateSpatialAnchorFB;
286 PFN_xrGetSpaceUuidFB GetSpaceUuidFB;
287 PFN_xrEnumerateSpaceSupportedComponentsFB EnumerateSpaceSupportedComponentsFB;
288 PFN_xrSetSpaceComponentStatusFB SetSpaceComponentStatusFB;
289 PFN_xrGetSpaceComponentStatusFB GetSpaceComponentStatusFB;
290
291 // ---- XR_FB_foveation extension commands
292 PFN_xrCreateFoveationProfileFB CreateFoveationProfileFB;
293 PFN_xrDestroyFoveationProfileFB DestroyFoveationProfileFB;
294
295 // ---- XR_FB_keyboard_tracking extension commands
296 PFN_xrQuerySystemTrackedKeyboardFB QuerySystemTrackedKeyboardFB;
297 PFN_xrCreateKeyboardSpaceFB CreateKeyboardSpaceFB;
298
299 // ---- XR_FB_triangle_mesh extension commands
300 PFN_xrCreateTriangleMeshFB CreateTriangleMeshFB;
301 PFN_xrDestroyTriangleMeshFB DestroyTriangleMeshFB;
302 PFN_xrTriangleMeshGetVertexBufferFB TriangleMeshGetVertexBufferFB;
303 PFN_xrTriangleMeshGetIndexBufferFB TriangleMeshGetIndexBufferFB;
304 PFN_xrTriangleMeshBeginUpdateFB TriangleMeshBeginUpdateFB;
305 PFN_xrTriangleMeshEndUpdateFB TriangleMeshEndUpdateFB;
306 PFN_xrTriangleMeshBeginVertexBufferUpdateFB TriangleMeshBeginVertexBufferUpdateFB;
307 PFN_xrTriangleMeshEndVertexBufferUpdateFB TriangleMeshEndVertexBufferUpdateFB;
308
309 // ---- XR_FB_passthrough extension commands
310 PFN_xrCreatePassthroughFB CreatePassthroughFB;
311 PFN_xrDestroyPassthroughFB DestroyPassthroughFB;
312 PFN_xrPassthroughStartFB PassthroughStartFB;
313 PFN_xrPassthroughPauseFB PassthroughPauseFB;
314 PFN_xrCreatePassthroughLayerFB CreatePassthroughLayerFB;
315 PFN_xrDestroyPassthroughLayerFB DestroyPassthroughLayerFB;
316 PFN_xrPassthroughLayerPauseFB PassthroughLayerPauseFB;
317 PFN_xrPassthroughLayerResumeFB PassthroughLayerResumeFB;
318 PFN_xrPassthroughLayerSetStyleFB PassthroughLayerSetStyleFB;
319 PFN_xrCreateGeometryInstanceFB CreateGeometryInstanceFB;
320 PFN_xrDestroyGeometryInstanceFB DestroyGeometryInstanceFB;
321 PFN_xrGeometryInstanceSetTransformFB GeometryInstanceSetTransformFB;
322
323 // ---- XR_FB_render_model extension commands
324 PFN_xrEnumerateRenderModelPathsFB EnumerateRenderModelPathsFB;
325 PFN_xrGetRenderModelPropertiesFB GetRenderModelPropertiesFB;
326 PFN_xrLoadRenderModelFB LoadRenderModelFB;
327
328 // ---- XR_VARJO_environment_depth_estimation extension commands
329 PFN_xrSetEnvironmentDepthEstimationVARJO SetEnvironmentDepthEstimationVARJO;
330
331 // ---- XR_VARJO_marker_tracking extension commands
332 PFN_xrSetMarkerTrackingVARJO SetMarkerTrackingVARJO;
333 PFN_xrSetMarkerTrackingTimeoutVARJO SetMarkerTrackingTimeoutVARJO;
334 PFN_xrSetMarkerTrackingPredictionVARJO SetMarkerTrackingPredictionVARJO;
335 PFN_xrGetMarkerSizeVARJO GetMarkerSizeVARJO;
336 PFN_xrCreateMarkerSpaceVARJO CreateMarkerSpaceVARJO;
337
338 // ---- XR_VARJO_view_offset extension commands
339 PFN_xrSetViewOffsetVARJO SetViewOffsetVARJO;
340
341 // ---- XR_ML_compat extension commands
342#if defined(XR_USE_PLATFORM_ML)
343 PFN_xrCreateSpaceFromCoordinateFrameUIDML CreateSpaceFromCoordinateFrameUIDML;
344#endif // defined(XR_USE_PLATFORM_ML)
345
346 // ---- XR_MSFT_spatial_anchor_persistence extension commands
347 PFN_xrCreateSpatialAnchorStoreConnectionMSFT CreateSpatialAnchorStoreConnectionMSFT;
348 PFN_xrDestroySpatialAnchorStoreConnectionMSFT DestroySpatialAnchorStoreConnectionMSFT;
349 PFN_xrPersistSpatialAnchorMSFT PersistSpatialAnchorMSFT;
350 PFN_xrEnumeratePersistedSpatialAnchorNamesMSFT EnumeratePersistedSpatialAnchorNamesMSFT;
351 PFN_xrCreateSpatialAnchorFromPersistedNameMSFT CreateSpatialAnchorFromPersistedNameMSFT;
352 PFN_xrUnpersistSpatialAnchorMSFT UnpersistSpatialAnchorMSFT;
353 PFN_xrClearSpatialAnchorStoreMSFT ClearSpatialAnchorStoreMSFT;
354
355 // ---- XR_FB_spatial_entity_query extension commands
356 PFN_xrQuerySpacesFB QuerySpacesFB;
357 PFN_xrRetrieveSpaceQueryResultsFB RetrieveSpaceQueryResultsFB;
358
359 // ---- XR_FB_spatial_entity_storage extension commands
360 PFN_xrSaveSpaceFB SaveSpaceFB;
361 PFN_xrEraseSpaceFB EraseSpaceFB;
362
363 // ---- XR_OCULUS_audio_device_guid extension commands
364#if defined(XR_USE_PLATFORM_WIN32)
365 PFN_xrGetAudioOutputDeviceGuidOculus GetAudioOutputDeviceGuidOculus;
366#endif // defined(XR_USE_PLATFORM_WIN32)
367#if defined(XR_USE_PLATFORM_WIN32)
368 PFN_xrGetAudioInputDeviceGuidOculus GetAudioInputDeviceGuidOculus;
369#endif // defined(XR_USE_PLATFORM_WIN32)
370
371 // ---- XR_FB_spatial_entity_sharing extension commands
372 PFN_xrShareSpacesFB ShareSpacesFB;
373
374 // ---- XR_FB_scene extension commands
375 PFN_xrGetSpaceBoundingBox2DFB GetSpaceBoundingBox2DFB;
376 PFN_xrGetSpaceBoundingBox3DFB GetSpaceBoundingBox3DFB;
377 PFN_xrGetSpaceSemanticLabelsFB GetSpaceSemanticLabelsFB;
378 PFN_xrGetSpaceBoundary2DFB GetSpaceBoundary2DFB;
379 PFN_xrGetSpaceRoomLayoutFB GetSpaceRoomLayoutFB;
380
381 // ---- XR_ALMALENCE_digital_lens_control extension commands
382 PFN_xrSetDigitalLensControlALMALENCE SetDigitalLensControlALMALENCE;
383
384 // ---- XR_FB_scene_capture extension commands
385 PFN_xrRequestSceneCaptureFB RequestSceneCaptureFB;
386
387 // ---- XR_FB_spatial_entity_container extension commands
388 PFN_xrGetSpaceContainerFB GetSpaceContainerFB;
389
390 // ---- XR_META_foveation_eye_tracked extension commands
391 PFN_xrGetFoveationEyeTrackedStateMETA GetFoveationEyeTrackedStateMETA;
392
393 // ---- XR_FB_face_tracking extension commands
394 PFN_xrCreateFaceTrackerFB CreateFaceTrackerFB;
395 PFN_xrDestroyFaceTrackerFB DestroyFaceTrackerFB;
396 PFN_xrGetFaceExpressionWeightsFB GetFaceExpressionWeightsFB;
397
398 // ---- XR_FB_eye_tracking_social extension commands
399 PFN_xrCreateEyeTrackerFB CreateEyeTrackerFB;
400 PFN_xrDestroyEyeTrackerFB DestroyEyeTrackerFB;
401 PFN_xrGetEyeGazesFB GetEyeGazesFB;
402
403 // ---- XR_FB_passthrough_keyboard_hands extension commands
404 PFN_xrPassthroughLayerSetKeyboardHandsIntensityFB PassthroughLayerSetKeyboardHandsIntensityFB;
405
406 // ---- XR_FB_haptic_pcm extension commands
407 PFN_xrGetDeviceSampleRateFB GetDeviceSampleRateFB;
408
409 // ---- XR_META_virtual_keyboard extension commands
410 PFN_xrCreateVirtualKeyboardMETA CreateVirtualKeyboardMETA;
411 PFN_xrDestroyVirtualKeyboardMETA DestroyVirtualKeyboardMETA;
412 PFN_xrCreateVirtualKeyboardSpaceMETA CreateVirtualKeyboardSpaceMETA;
413 PFN_xrSuggestVirtualKeyboardLocationMETA SuggestVirtualKeyboardLocationMETA;
414 PFN_xrGetVirtualKeyboardScaleMETA GetVirtualKeyboardScaleMETA;
415 PFN_xrSetVirtualKeyboardModelVisibilityMETA SetVirtualKeyboardModelVisibilityMETA;
416 PFN_xrGetVirtualKeyboardModelAnimationStatesMETA GetVirtualKeyboardModelAnimationStatesMETA;
417 PFN_xrGetVirtualKeyboardDirtyTexturesMETA GetVirtualKeyboardDirtyTexturesMETA;
418 PFN_xrGetVirtualKeyboardTextureDataMETA GetVirtualKeyboardTextureDataMETA;
419 PFN_xrSendVirtualKeyboardInputMETA SendVirtualKeyboardInputMETA;
420 PFN_xrChangeVirtualKeyboardTextContextMETA ChangeVirtualKeyboardTextContextMETA;
421
422 // ---- XR_OCULUS_external_camera extension commands
423 PFN_xrEnumerateExternalCamerasOCULUS EnumerateExternalCamerasOCULUS;
424
425 // ---- XR_META_performance_metrics extension commands
426 PFN_xrEnumeratePerformanceMetricsCounterPathsMETA EnumeratePerformanceMetricsCounterPathsMETA;
427 PFN_xrSetPerformanceMetricsStateMETA SetPerformanceMetricsStateMETA;
428 PFN_xrGetPerformanceMetricsStateMETA GetPerformanceMetricsStateMETA;
429 PFN_xrQueryPerformanceMetricsCounterMETA QueryPerformanceMetricsCounterMETA;
430
431 // ---- XR_FB_spatial_entity_storage_batch extension commands
432 PFN_xrSaveSpaceListFB SaveSpaceListFB;
433
434 // ---- XR_FB_spatial_entity_user extension commands
435 PFN_xrCreateSpaceUserFB CreateSpaceUserFB;
436 PFN_xrGetSpaceUserIdFB GetSpaceUserIdFB;
437 PFN_xrDestroySpaceUserFB DestroySpaceUserFB;
438
439 // ---- XR_META_passthrough_color_lut extension commands
440 PFN_xrCreatePassthroughColorLutMETA CreatePassthroughColorLutMETA;
441 PFN_xrDestroyPassthroughColorLutMETA DestroyPassthroughColorLutMETA;
442 PFN_xrUpdatePassthroughColorLutMETA UpdatePassthroughColorLutMETA;
443
444 // ---- XR_QCOM_tracking_optimization_settings extension commands
445 PFN_xrSetTrackingOptimizationSettingsHintQCOM SetTrackingOptimizationSettingsHintQCOM;
446
447 // ---- XR_HTC_passthrough extension commands
448 PFN_xrCreatePassthroughHTC CreatePassthroughHTC;
449 PFN_xrDestroyPassthroughHTC DestroyPassthroughHTC;
450
451 // ---- XR_HTC_foveation extension commands
452 PFN_xrApplyFoveationHTC ApplyFoveationHTC;
453
454 // ---- XR_MNDX_force_feedback_curl extension commands
455 PFN_xrApplyForceFeedbackCurlMNDX ApplyForceFeedbackCurlMNDX;
456
457 // ---- XR_EXT_plane_detection extension commands
458 PFN_xrCreatePlaneDetectorEXT CreatePlaneDetectorEXT;
459 PFN_xrDestroyPlaneDetectorEXT DestroyPlaneDetectorEXT;
460 PFN_xrBeginPlaneDetectionEXT BeginPlaneDetectionEXT;
461 PFN_xrGetPlaneDetectionStateEXT GetPlaneDetectionStateEXT;
462 PFN_xrGetPlaneDetectionsEXT GetPlaneDetectionsEXT;
463 PFN_xrGetPlanePolygonBufferEXT GetPlanePolygonBufferEXT;
464};
465
466
467// Prototype for dispatch table helper function
468void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
469 XrInstance instance,
470 PFN_xrGetInstanceProcAddr get_inst_proc_addr);
471
472#ifdef __cplusplus
473} // extern "C"
474#endif
475
476