summaryrefslogtreecommitdiff
path: root/thirdparty/openxr/src/xr_generated_dispatch_table.h
blob: 93d07a149ee0f9a974075d1e29c9cd119a821f62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
// Copyright (c) 2017-2022, 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-2022, 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_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_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_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_spatial_entity_container extension commands
    PFN_xrGetSpaceContainerFB GetSpaceContainerFB;

    // ---- XR_FB_passthrough_keyboard_hands extension commands
    PFN_xrPassthroughLayerSetKeyboardHandsIntensityFB PassthroughLayerSetKeyboardHandsIntensityFB;

    // ---- XR_META_performance_metrics extension commands
    PFN_xrEnumeratePerformanceMetricsCounterPathsMETA EnumeratePerformanceMetricsCounterPathsMETA;
    PFN_xrSetPerformanceMetricsStateMETA SetPerformanceMetricsStateMETA;
    PFN_xrGetPerformanceMetricsStateMETA GetPerformanceMetricsStateMETA;
    PFN_xrQueryPerformanceMetricsCounterMETA QueryPerformanceMetricsCounterMETA;

    // ---- XR_HTC_passthrough extension commands
    PFN_xrCreatePassthroughHTC CreatePassthroughHTC;
    PFN_xrDestroyPassthroughHTC DestroyPassthroughHTC;

    // ---- XR_HTC_foveation extension commands
    PFN_xrApplyFoveationHTC ApplyFoveationHTC;
};


// Prototype for dispatch table helper function
void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
                                      XrInstance instance,
                                      PFN_xrGetInstanceProcAddr get_inst_proc_addr);

#ifdef __cplusplus
} // extern "C"
#endif