Skip to content

Commit d15a933

Browse files
authored
Update to openxr SDK 1.0.12 (#66)
* Update to openxr SDK 1.0.12 * Fix CI build
1 parent eeab27a commit d15a933

19 files changed

Lines changed: 3831 additions & 1036 deletions

README.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ or choose x64 platform when running on a Windows Desktop PC with the HoloLens 2
2828

2929
The [openxr_preview](https://github.com/microsoft/OpenXR-MixedReality/tree/master/openxr_preview) folder contains a set of [preview header files](https://github.com/microsoft/OpenXR-MixedReality/tree/master/openxr_preview/include/openxr) containing the following OpenXR extensions that are only available [in preview runtime](http://aka.ms/openxr-preview).
3030

31-
1. [XR_MSFT_controller_model_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_controller_model_preview)
32-
3331
1. [XR_MSFT_spatial_anchor_export_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_spatial_anchor_export_preview)
3432

3533
1. [XR_MSFT_perception_anchor_interop_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_perception_anchor_interop_preview)
@@ -49,22 +47,22 @@ captures a typical OpenXR app code flow for session initialization, event handli
4947

5048
- **Hand tracking** <br/>
5149
The [Scene_HandTracking.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneUwp/Scene_HandTracking.cpp)
52-
demos the usage of [XR_EXT_hand_tracking](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_EXT_hand_tracking)
53-
and [XR_MSFT_hand_tracking_mesh](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_hand_tracking_mesh) extensions.
50+
demos the usage of [XR_EXT_hand_tracking](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_hand_tracking)
51+
and [XR_MSFT_hand_tracking_mesh](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_hand_tracking_mesh) extensions.
5452

5553
- **Eye tracking** <br/>
5654
The [Scene_EyeGazeInteraction.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/EyeGazeInteractionUwp/Scene_EyeGazeInteraction.cpp) file
5755
demos the usage of [XR_EXT_eye_gaze_interaction](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_EXT_eye_gaze_interaction) extension.
5856

5957
- **Mixed reality capture support** <br/>
6058
Search "secondary" in [XrApp.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/shared/XrSceneLib/XrApp.cpp) file
61-
to understand the usage of [XR_MSFT_secondary_view_configuration](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_secondary_view_configuration)
62-
and [XR_MSFT_first_person_observer](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_first_person_observer) extensions.
59+
to understand the usage of [XR_MSFT_secondary_view_configuration](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_secondary_view_configuration)
60+
and [XR_MSFT_first_person_observer](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_first_person_observer) extensions.
6361

6462
- **Render the motion controller model** <br/>
6563
The [ControllerObject.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/shared/XrSceneLib/ControllerObject.cpp) and
6664
[Scene_ControllerModel.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneWin32/Scene_ControllerModel.cpp) files
67-
demos the usage of [XR_MSFT_controller_model_preview](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_controller_model_preview) extension.
65+
demos the usage of [XR_MSFT_controller_model](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_controller_model) extension.
6866

6967
- **Holographic window attachment** <br/>
7068
The [SampleSceneUwp/Main.cpp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/SampleSceneUwp/Main.cpp) file demos protocol activation for XR apps,
@@ -74,9 +72,9 @@ and [TextEditingContext](https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Tex
7472

7573
- **Understand the local, unbounded and anchor spaces**<br/>
7674
The [ThreeSpacesUwp](https://github.com/microsoft/OpenXR-MixedReality/blob/master/samples/ThreeSpacesUwp/Scene_ThreeSpaces.cpp) project
77-
demos the usage and differences of [LOCAL](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#reference-spaces),
78-
[UNBOUNDED](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_unbounded_reference_space) reference spaces
79-
and [spatial anchors](https://microsoft.github.io/OpenXR-MixedReality/openxr_preview/specs/openxr.html#XR_MSFT_spatial_anchor).
75+
demos the usage and differences of [LOCAL](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#reference-spaces),
76+
[UNBOUNDED](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_unbounded_reference_space) reference spaces
77+
and [spatial anchors](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_spatial_anchor).
8078

8179
* The sample code for [XR_MSFT_spatial_graph_bridge](https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_MSFT_spatial_graph_bridge) is coming soon ...
8280

openxr_preview/include/openxr/openxr.h

Lines changed: 69 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern "C" {
2525
((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL))
2626

2727
// OpenXR current version number.
28-
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 10)
28+
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 12)
2929

3030
#define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL)
3131
#define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL)
@@ -180,12 +180,12 @@ typedef enum XrResult {
180180
XR_ERROR_ACTIONSETS_ALREADY_ATTACHED = -47,
181181
XR_ERROR_LOCALIZED_NAME_DUPLICATED = -48,
182182
XR_ERROR_LOCALIZED_NAME_INVALID = -49,
183+
XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING = -50,
183184
XR_ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR = -1000003000,
184185
XR_ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR = -1000003001,
185186
XR_ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT = -1000039001,
186187
XR_ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT = -1000053000,
187-
XR_ERROR_CONTROLLER_MODEL_UNAVAILABLE_MSFT = -1000055000,
188-
XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT = -1000055001,
188+
XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT = -1000055000,
189189
XR_SPATIAL_ANCHOR_EXPORT_DATA_UNAVAILABLE_MSFT = 1000062000,
190190
XR_ERROR_SPATIAL_ANCHOR_EXPORT_FAILED_MSFT = -1000062000,
191191
XR_ERROR_SPATIAL_ANCHOR_SUFFICIENCY_QUERY_FAILED_MSFT = -1000062001,
@@ -278,6 +278,7 @@ typedef enum XrStructureType {
278278
XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR = 1000031001,
279279
XR_TYPE_SESSION_CREATE_INFO_OVERLAY_EXTX = 1000033000,
280280
XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX = 1000033003,
281+
XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR = 1000034000,
281282
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT = 1000039000,
282283
XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT = 1000039001,
283284
XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT = 1000046000,
@@ -299,16 +300,24 @@ typedef enum XrStructureType {
299300
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT = 1000053003,
300301
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT = 1000053004,
301302
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT = 1000053005,
302-
XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC = 1000059000,
303-
XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000,
304-
XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000,
305303
XR_TYPE_CONTROLLER_MODEL_KEY_STATE_MSFT = 1000055000,
306304
XR_TYPE_CONTROLLER_MODEL_NODE_PROPERTIES_MSFT = 1000055001,
307305
XR_TYPE_CONTROLLER_MODEL_PROPERTIES_MSFT = 1000055002,
308306
XR_TYPE_CONTROLLER_MODEL_NODE_STATE_MSFT = 1000055003,
309307
XR_TYPE_CONTROLLER_MODEL_STATE_MSFT = 1000055004,
308+
XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC = 1000059000,
309+
XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000,
310+
XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000,
311+
XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR = 1000089000,
312+
XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR = 1000090000,
313+
XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR = 1000090001,
314+
XR_TYPE_VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR = 1000090003,
315+
XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR = 1000091000,
310316
XR_TYPE_SPATIAL_ANCHOR_EXPORT_PURPOSE_INFO_MSFT = 1000062000,
311317
XR_TYPE_SPATIAL_ANCHOR_EXPORT_SUFFICIENCY_MSFT = 1000062001,
318+
XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR,
319+
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR,
320+
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR,
312321
XR_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
313322
} XrStructureType;
314323

@@ -1398,6 +1407,53 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVisibilityMaskKHR(
13981407
#endif
13991408

14001409

1410+
#define XR_KHR_composition_layer_color_scale_bias 1
1411+
#define XR_KHR_composition_layer_color_scale_bias_SPEC_VERSION 5
1412+
#define XR_KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME "XR_KHR_composition_layer_color_scale_bias"
1413+
typedef struct XrCompositionLayerColorScaleBiasKHR {
1414+
XrStructureType type;
1415+
const void* XR_MAY_ALIAS next;
1416+
XrColor4f colorScale;
1417+
XrColor4f colorBias;
1418+
} XrCompositionLayerColorScaleBiasKHR;
1419+
1420+
1421+
1422+
#define XR_KHR_loader_init 1
1423+
#define XR_KHR_loader_init_SPEC_VERSION 1
1424+
#define XR_KHR_LOADER_INIT_EXTENSION_NAME "XR_KHR_loader_init"
1425+
typedef struct XR_MAY_ALIAS XrLoaderInitInfoBaseHeaderKHR {
1426+
XrStructureType type;
1427+
const void* XR_MAY_ALIAS next;
1428+
} XrLoaderInitInfoBaseHeaderKHR;
1429+
1430+
typedef XrResult (XRAPI_PTR *PFN_xrInitializeLoaderKHR)(const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo);
1431+
1432+
#ifndef XR_NO_PROTOTYPES
1433+
XRAPI_ATTR XrResult XRAPI_CALL xrInitializeLoaderKHR(
1434+
const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo);
1435+
#endif
1436+
1437+
1438+
#define XR_KHR_composition_layer_equirect2 1
1439+
#define XR_KHR_composition_layer_equirect2_SPEC_VERSION 1
1440+
#define XR_KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME "XR_KHR_composition_layer_equirect2"
1441+
typedef struct XrCompositionLayerEquirect2KHR {
1442+
XrStructureType type;
1443+
const void* XR_MAY_ALIAS next;
1444+
XrCompositionLayerFlags layerFlags;
1445+
XrSpace space;
1446+
XrEyeVisibility eyeVisibility;
1447+
XrSwapchainSubImage subImage;
1448+
XrPosef pose;
1449+
float radius;
1450+
float centralHorizontalAngle;
1451+
float upperVerticalAngle;
1452+
float lowerVerticalAngle;
1453+
} XrCompositionLayerEquirect2KHR;
1454+
1455+
1456+
14011457
#define XR_EXT_performance_settings 1
14021458
#define XR_EXT_performance_settings_SPEC_VERSION 1
14031459
#define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings"
@@ -2009,15 +2065,13 @@ typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT {
20092065
#define XR_MSFT_FIRST_PERSON_OBSERVER_EXTENSION_NAME "XR_MSFT_first_person_observer"
20102066

20112067

2012-
#define XR_MSFT_controller_model_preview 1
2068+
#define XR_MSFT_controller_model 1
20132069

20142070
#define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0
20152071

2016-
2017-
XR_DEFINE_ATOM(XrControllerModelKeyMSFT)
2018-
2019-
#define XR_MSFT_controller_model_preview_SPEC_VERSION 1
2020-
#define XR_MSFT_CONTROLLER_MODEL_PREVIEW_EXTENSION_NAME "XR_MSFT_controller_model_preview"
2072+
XR_DEFINE_ATOM(XrControllerModelKeyMSFT)
2073+
#define XR_MSFT_controller_model_SPEC_VERSION 2
2074+
#define XR_MSFT_CONTROLLER_MODEL_EXTENSION_NAME "XR_MSFT_controller_model"
20212075
#define XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT 64
20222076
typedef struct XrControllerModelKeyStateMSFT {
20232077
XrStructureType type;
@@ -2055,7 +2109,7 @@ typedef struct XrControllerModelStateMSFT {
20552109
} XrControllerModelStateMSFT;
20562110

20572111
typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelKeyMSFT)(XrSession session, XrPath topLevelUserPath, XrControllerModelKeyStateMSFT* controllerModelKeyState);
2058-
typedef XrResult (XRAPI_PTR *PFN_xrLoadControllerModelMSFT)(XrSession session, XrControllerModelKeyMSFT modelKey, uint32_t sizeInput, uint32_t* sizeOutput, uint8_t* buffer);
2112+
typedef XrResult (XRAPI_PTR *PFN_xrLoadControllerModelMSFT)(XrSession session, XrControllerModelKeyMSFT modelKey, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, uint8_t* buffer);
20592113
typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelPropertiesMSFT)(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelPropertiesMSFT* properties);
20602114
typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelStateMSFT)(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelStateMSFT* state);
20612115

@@ -2068,8 +2122,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetControllerModelKeyMSFT(
20682122
XRAPI_ATTR XrResult XRAPI_CALL xrLoadControllerModelMSFT(
20692123
XrSession session,
20702124
XrControllerModelKeyMSFT modelKey,
2071-
uint32_t sizeInput,
2072-
uint32_t* sizeOutput,
2125+
uint32_t bufferCapacityInput,
2126+
uint32_t* bufferCountOutput,
20732127
uint8_t* buffer);
20742128

20752129
XRAPI_ATTR XrResult XRAPI_CALL xrGetControllerModelPropertiesMSFT(

openxr_preview/include/openxr/openxr_platform.h

Lines changed: 97 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ typedef struct XrInstanceCreateInfoAndroidKHR {
7575
#ifdef XR_USE_GRAPHICS_API_VULKAN
7676

7777
#define XR_KHR_vulkan_swapchain_format_list 1
78-
#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 2
78+
#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 3
7979
#define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list"
8080
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR {
8181
XrStructureType type;
@@ -89,7 +89,7 @@ typedef struct XrVulkanSwapchainFormatListCreateInfoKHR {
8989
#ifdef XR_USE_GRAPHICS_API_OPENGL
9090

9191
#define XR_KHR_opengl_enable 1
92-
#define XR_KHR_opengl_enable_SPEC_VERSION 8
92+
#define XR_KHR_opengl_enable_SPEC_VERSION 9
9393
#define XR_KHR_OPENGL_ENABLE_EXTENSION_NAME "XR_KHR_opengl_enable"
9494
#ifdef XR_USE_PLATFORM_WIN32
9595
typedef struct XrGraphicsBindingOpenGLWin32KHR {
@@ -159,7 +159,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetOpenGLGraphicsRequirementsKHR(
159159
#ifdef XR_USE_GRAPHICS_API_OPENGL_ES
160160

161161
#define XR_KHR_opengl_es_enable 1
162-
#define XR_KHR_opengl_es_enable_SPEC_VERSION 6
162+
#define XR_KHR_opengl_es_enable_SPEC_VERSION 7
163163
#define XR_KHR_OPENGL_ES_ENABLE_EXTENSION_NAME "XR_KHR_opengl_es_enable"
164164
#ifdef XR_USE_PLATFORM_ANDROID
165165
typedef struct XrGraphicsBindingOpenGLESAndroidKHR {
@@ -197,7 +197,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetOpenGLESGraphicsRequirementsKHR(
197197
#ifdef XR_USE_GRAPHICS_API_VULKAN
198198

199199
#define XR_KHR_vulkan_enable 1
200-
#define XR_KHR_vulkan_enable_SPEC_VERSION 6
200+
#define XR_KHR_vulkan_enable_SPEC_VERSION 7
201201
#define XR_KHR_VULKAN_ENABLE_EXTENSION_NAME "XR_KHR_vulkan_enable"
202202
typedef struct XrGraphicsBindingVulkanKHR {
203203
XrStructureType type;
@@ -258,7 +258,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirementsKHR(
258258
#ifdef XR_USE_GRAPHICS_API_D3D11
259259

260260
#define XR_KHR_D3D11_enable 1
261-
#define XR_KHR_D3D11_enable_SPEC_VERSION 4
261+
#define XR_KHR_D3D11_enable_SPEC_VERSION 5
262262
#define XR_KHR_D3D11_ENABLE_EXTENSION_NAME "XR_KHR_D3D11_enable"
263263
typedef struct XrGraphicsBindingD3D11KHR {
264264
XrStructureType type;
@@ -292,7 +292,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetD3D11GraphicsRequirementsKHR(
292292
#ifdef XR_USE_GRAPHICS_API_D3D12
293293

294294
#define XR_KHR_D3D12_enable 1
295-
#define XR_KHR_D3D12_enable_SPEC_VERSION 6
295+
#define XR_KHR_D3D12_enable_SPEC_VERSION 7
296296
#define XR_KHR_D3D12_ENABLE_EXTENSION_NAME "XR_KHR_D3D12_enable"
297297
typedef struct XrGraphicsBindingD3D12KHR {
298298
XrStructureType type;
@@ -366,6 +366,97 @@ XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimeToTimespecTimeKHR(
366366
#endif
367367
#endif /* XR_USE_TIMESPEC */
368368

369+
#ifdef XR_USE_PLATFORM_ANDROID
370+
371+
#define XR_KHR_loader_init_android 1
372+
#define XR_KHR_loader_init_android_SPEC_VERSION 1
373+
#define XR_KHR_LOADER_INIT_ANDROID_EXTENSION_NAME "XR_KHR_loader_init_android"
374+
typedef struct XrLoaderInitInfoAndroidKHR {
375+
XrStructureType type;
376+
const void* XR_MAY_ALIAS next;
377+
void* XR_MAY_ALIAS applicationVM;
378+
void* XR_MAY_ALIAS applicationContext;
379+
} XrLoaderInitInfoAndroidKHR;
380+
381+
#endif /* XR_USE_PLATFORM_ANDROID */
382+
383+
#ifdef XR_USE_GRAPHICS_API_VULKAN
384+
385+
#define XR_KHR_vulkan_enable2 1
386+
#define XR_KHR_vulkan_enable2_SPEC_VERSION 1
387+
#define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2"
388+
typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR;
389+
390+
// Flag bits for XrVulkanInstanceCreateFlagsKHR
391+
392+
typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR;
393+
394+
// Flag bits for XrVulkanDeviceCreateFlagsKHR
395+
396+
typedef struct XrVulkanInstanceCreateInfoKHR {
397+
XrStructureType type;
398+
const void* XR_MAY_ALIAS next;
399+
XrSystemId systemId;
400+
XrVulkanInstanceCreateFlagsKHR createFlags;
401+
PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
402+
const VkInstanceCreateInfo* vulkanCreateInfo;
403+
const VkAllocationCallbacks* vulkanAllocator;
404+
} XrVulkanInstanceCreateInfoKHR;
405+
406+
typedef struct XrVulkanDeviceCreateInfoKHR {
407+
XrStructureType type;
408+
const void* XR_MAY_ALIAS next;
409+
XrSystemId systemId;
410+
XrVulkanDeviceCreateFlagsKHR createFlags;
411+
PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
412+
VkPhysicalDevice vulkanPhysicalDevice;
413+
const VkDeviceCreateInfo* vulkanCreateInfo;
414+
const VkAllocationCallbacks* vulkanAllocator;
415+
} XrVulkanDeviceCreateInfoKHR;
416+
417+
typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR;
418+
419+
typedef struct XrVulkanGraphicsDeviceGetInfoKHR {
420+
XrStructureType type;
421+
const void* XR_MAY_ALIAS next;
422+
XrSystemId systemId;
423+
VkInstance vulkanInstance;
424+
} XrVulkanGraphicsDeviceGetInfoKHR;
425+
426+
typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR;
427+
428+
typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR;
429+
430+
typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanInstanceKHR)(XrInstance instance, const XrVulkanInstanceCreateInfoKHR*createInfo, VkInstance* vulkanInstance, VkResult* vulkanResult);
431+
typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanDeviceKHR)(XrInstance instance, const XrVulkanDeviceCreateInfoKHR* createInfo, VkDevice* vulkanDevice, VkResult* vulkanResult);
432+
typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsDevice2KHR)(XrInstance instance, const XrVulkanGraphicsDeviceGetInfoKHR* getInfo, VkPhysicalDevice* vulkanPhysicalDevice);
433+
typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsRequirements2KHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR* graphicsRequirements);
434+
435+
#ifndef XR_NO_PROTOTYPES
436+
XRAPI_ATTR XrResult XRAPI_CALL xrCreateVulkanInstanceKHR(
437+
XrInstance instance,
438+
const XrVulkanInstanceCreateInfoKHR* createInfo,
439+
VkInstance* vulkanInstance,
440+
VkResult* vulkanResult);
441+
442+
XRAPI_ATTR XrResult XRAPI_CALL xrCreateVulkanDeviceKHR(
443+
XrInstance instance,
444+
const XrVulkanDeviceCreateInfoKHR* createInfo,
445+
VkDevice* vulkanDevice,
446+
VkResult* vulkanResult);
447+
448+
XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsDevice2KHR(
449+
XrInstance instance,
450+
const XrVulkanGraphicsDeviceGetInfoKHR* getInfo,
451+
VkPhysicalDevice* vulkanPhysicalDevice);
452+
453+
XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirements2KHR(
454+
XrInstance instance,
455+
XrSystemId systemId,
456+
XrGraphicsRequirementsVulkanKHR* graphicsRequirements);
457+
#endif
458+
#endif /* XR_USE_GRAPHICS_API_VULKAN */
459+
369460
#ifdef XR_USE_PLATFORM_EGL
370461

371462
#define XR_MNDX_egl_enable 1

0 commit comments

Comments
 (0)