diff --git a/wineopenxr/make_openxr b/wineopenxr/make_openxr index 4a41d0d9..a3157cec 100755 --- a/wineopenxr/make_openxr +++ b/wineopenxr/make_openxr @@ -92,6 +92,9 @@ UNSUPPORTED_EXTENSIONS = [ "XR_EXT_validation_flags", "XR_KHR_display", # Needs WSI work. "XR_KHR_surface_protected_capabilities", + "XR_KHR_loader_init", + "XR_KHR_vulkan_enable2", + "XR_MSFT_perception_anchor_interop", # Device extensions "XR_AMD_display_native_hdr", @@ -1296,7 +1299,7 @@ class XrParam(object): self.format_conv = "wine_dbgstr_longlong({0})" elif self.type == "HANDLE": self.format_str = "%p" - elif self.type in ["XrSystemId", "XrPath", "XrTime"]: + elif self.type in ["XrSystemId", "XrPath", "XrTime", "XrControllerModelKeyMSFT"]: self.format_str = "0x%s" self.format_conv = "wine_dbgstr_longlong({0})" elif self.type in ["XrVector2f"]: diff --git a/wineopenxr/openxr_thunks.c b/wineopenxr/openxr_thunks.c index d2c2627c..eca4ffb4 100644 --- a/wineopenxr/openxr_thunks.c +++ b/wineopenxr/openxr_thunks.c @@ -15,7 +15,7 @@ * language incorporated into the Specification and reference pages, and other * material which is registered by Khronos, such as tags used by extension and * layer authors. The only authoritative version of xr.xml is the one - * maintained in the master branch of the Khronos OpenXR GitHub project. + * maintained in the default branch of the Khronos OpenXR GitHub project. * */ @@ -176,6 +176,18 @@ XrResult WINAPI wine_xrEnumerateBoundSourcesForAction(XrSession session, const X return xrEnumerateBoundSourcesForAction(((wine_XrSession *)session)->session, enumerateInfo, sourceCapacityInput, sourceCountOutput, sources); } +static XrResult WINAPI wine_xrEnumerateColorSpacesFB(XrSession session, uint32_t colorSpaceCapacityInput, uint32_t *colorSpaceCountOutput, XrColorSpaceFB *colorSpaces) +{ + WINE_TRACE("%p, %u, %p, %p\n", session, colorSpaceCapacityInput, colorSpaceCountOutput, colorSpaces); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrEnumerateColorSpacesFB(((wine_XrSession *)session)->session, colorSpaceCapacityInput, colorSpaceCountOutput, colorSpaces); +} + +static XrResult WINAPI wine_xrEnumerateDisplayRefreshRatesFB(XrSession session, uint32_t displayRefreshRateCapacityInput, uint32_t *displayRefreshRateCountOutput, float *displayRefreshRates) +{ + WINE_TRACE("%p, %u, %p, %p\n", session, displayRefreshRateCapacityInput, displayRefreshRateCountOutput, displayRefreshRates); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrEnumerateDisplayRefreshRatesFB(((wine_XrSession *)session)->session, displayRefreshRateCapacityInput, displayRefreshRateCountOutput, displayRefreshRates); +} + XrResult WINAPI wine_xrEnumerateEnvironmentBlendModes(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t environmentBlendModeCapacityInput, uint32_t *environmentBlendModeCountOutput, XrEnvironmentBlendMode *environmentBlendModes) { WINE_TRACE("%p, 0x%s, %#x, %u, %p, %p\n", instance, wine_dbgstr_longlong(systemId), viewConfigurationType, environmentBlendModeCapacityInput, environmentBlendModeCountOutput, environmentBlendModes); @@ -224,12 +236,36 @@ XrResult WINAPI wine_xrGetActionStateVector2f(XrSession session, const XrActionS return xrGetActionStateVector2f(((wine_XrSession *)session)->session, getInfo, state); } +static XrResult WINAPI wine_xrGetControllerModelKeyMSFT(XrSession session, XrPath topLevelUserPath, XrControllerModelKeyStateMSFT *controllerModelKeyState) +{ + WINE_TRACE("%p, 0x%s, %p\n", session, wine_dbgstr_longlong(topLevelUserPath), controllerModelKeyState); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrGetControllerModelKeyMSFT(((wine_XrSession *)session)->session, topLevelUserPath, controllerModelKeyState); +} + +static XrResult WINAPI wine_xrGetControllerModelPropertiesMSFT(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelPropertiesMSFT *properties) +{ + WINE_TRACE("%p, 0x%s, %p\n", session, wine_dbgstr_longlong(modelKey), properties); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrGetControllerModelPropertiesMSFT(((wine_XrSession *)session)->session, modelKey, properties); +} + +static XrResult WINAPI wine_xrGetControllerModelStateMSFT(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelStateMSFT *state) +{ + WINE_TRACE("%p, 0x%s, %p\n", session, wine_dbgstr_longlong(modelKey), state); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrGetControllerModelStateMSFT(((wine_XrSession *)session)->session, modelKey, state); +} + XrResult WINAPI wine_xrGetCurrentInteractionProfile(XrSession session, XrPath topLevelUserPath, XrInteractionProfileState *interactionProfile) { WINE_TRACE("%p, 0x%s, %p\n", session, wine_dbgstr_longlong(topLevelUserPath), interactionProfile); return xrGetCurrentInteractionProfile(((wine_XrSession *)session)->session, topLevelUserPath, interactionProfile); } +static XrResult WINAPI wine_xrGetDisplayRefreshRateFB(XrSession session, float *displayRefreshRate) +{ + WINE_TRACE("%p, %p\n", session, displayRefreshRate); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrGetDisplayRefreshRateFB(((wine_XrSession *)session)->session, displayRefreshRate); +} + XrResult WINAPI wine_xrGetInputSourceLocalizedName(XrSession session, const XrInputSourceLocalizedNameGetInfo *getInfo, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer) { WINE_TRACE("%p, %p, %u, %p, %p\n", session, getInfo, bufferCapacityInput, bufferCountOutput, buffer); @@ -278,6 +314,12 @@ static XrResult WINAPI wine_xrGetVulkanGraphicsRequirementsKHR(XrInstance instan return ((wine_XrInstance *)instance)->funcs.p_xrGetVulkanGraphicsRequirementsKHR(((wine_XrInstance *)instance)->instance, systemId, graphicsRequirements); } +static XrResult WINAPI wine_xrLoadControllerModelMSFT(XrSession session, XrControllerModelKeyMSFT modelKey, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint8_t *buffer) +{ + WINE_TRACE("%p, 0x%s, %u, %p, %p\n", session, wine_dbgstr_longlong(modelKey), bufferCapacityInput, bufferCountOutput, buffer); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrLoadControllerModelMSFT(((wine_XrSession *)session)->session, modelKey, bufferCapacityInput, bufferCountOutput, buffer); +} + static XrResult WINAPI wine_xrLocateHandJointsEXT(XrHandTrackerEXT handTracker, const XrHandJointsLocateInfoEXT *locateInfo, XrHandJointLocationsEXT *locations) { WINE_TRACE("%p, %p, %p\n", handTracker, locateInfo, locations); @@ -314,6 +356,12 @@ XrResult WINAPI wine_xrReleaseSwapchainImage(XrSwapchain swapchain, const XrSwap return xrReleaseSwapchainImage(((wine_XrSwapchain *)swapchain)->swapchain, releaseInfo); } +static XrResult WINAPI wine_xrRequestDisplayRefreshRateFB(XrSession session, float displayRefreshRate) +{ + WINE_TRACE("%p, %f\n", session, displayRefreshRate); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrRequestDisplayRefreshRateFB(((wine_XrSession *)session)->session, displayRefreshRate); +} + XrResult WINAPI wine_xrRequestExitSession(XrSession session) { WINE_TRACE("%p\n", session); @@ -326,6 +374,12 @@ XrResult WINAPI wine_xrResultToString(XrInstance instance, XrResult value, char return xrResultToString(((wine_XrInstance *)instance)->instance, value, buffer); } +static XrResult WINAPI wine_xrSetColorSpaceFB(XrSession session, const XrColorSpaceFB colorspace) +{ + WINE_TRACE("%p, %#x\n", session, colorspace); + return ((wine_XrSession *)session)->wine_instance->funcs.p_xrSetColorSpaceFB(((wine_XrSession *)session)->session, colorspace); +} + static XrResult WINAPI wine_xrSetInputDeviceActiveEXT(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive) { WINE_TRACE("%p, 0x%s, 0x%s, %u\n", session, wine_dbgstr_longlong(interactionProfile), wine_dbgstr_longlong(topLevelPath), isActive); @@ -443,6 +497,8 @@ static const struct openxr_func xr_dispatch_table[] = {"xrEndSession", &wine_xrEndSession}, {"xrEnumerateApiLayerProperties", &wine_xrEnumerateApiLayerProperties}, {"xrEnumerateBoundSourcesForAction", &wine_xrEnumerateBoundSourcesForAction}, + {"xrEnumerateColorSpacesFB", &wine_xrEnumerateColorSpacesFB}, + {"xrEnumerateDisplayRefreshRatesFB", &wine_xrEnumerateDisplayRefreshRatesFB}, {"xrEnumerateEnvironmentBlendModes", &wine_xrEnumerateEnvironmentBlendModes}, {"xrEnumerateInstanceExtensionProperties", &wine_xrEnumerateInstanceExtensionProperties}, {"xrEnumerateReferenceSpaces", &wine_xrEnumerateReferenceSpaces}, @@ -454,9 +510,13 @@ static const struct openxr_func xr_dispatch_table[] = {"xrGetActionStateFloat", &wine_xrGetActionStateFloat}, {"xrGetActionStatePose", &wine_xrGetActionStatePose}, {"xrGetActionStateVector2f", &wine_xrGetActionStateVector2f}, + {"xrGetControllerModelKeyMSFT", &wine_xrGetControllerModelKeyMSFT}, + {"xrGetControllerModelPropertiesMSFT", &wine_xrGetControllerModelPropertiesMSFT}, + {"xrGetControllerModelStateMSFT", &wine_xrGetControllerModelStateMSFT}, {"xrGetCurrentInteractionProfile", &wine_xrGetCurrentInteractionProfile}, {"xrGetD3D11GraphicsRequirementsKHR", &wine_xrGetD3D11GraphicsRequirementsKHR}, {"xrGetD3D12GraphicsRequirementsKHR", &wine_xrGetD3D12GraphicsRequirementsKHR}, + {"xrGetDisplayRefreshRateFB", &wine_xrGetDisplayRefreshRateFB}, {"xrGetInputSourceLocalizedName", &wine_xrGetInputSourceLocalizedName}, {"xrGetInstanceProcAddr", &wine_xrGetInstanceProcAddr}, {"xrGetInstanceProperties", &wine_xrGetInstanceProperties}, @@ -470,6 +530,7 @@ static const struct openxr_func xr_dispatch_table[] = {"xrGetVulkanGraphicsDeviceKHR", &wine_xrGetVulkanGraphicsDeviceKHR}, {"xrGetVulkanGraphicsRequirementsKHR", &wine_xrGetVulkanGraphicsRequirementsKHR}, {"xrGetVulkanInstanceExtensionsKHR", &wine_xrGetVulkanInstanceExtensionsKHR}, + {"xrLoadControllerModelMSFT", &wine_xrLoadControllerModelMSFT}, {"xrLocateHandJointsEXT", &wine_xrLocateHandJointsEXT}, {"xrLocateSpace", &wine_xrLocateSpace}, {"xrLocateViews", &wine_xrLocateViews}, @@ -477,8 +538,10 @@ static const struct openxr_func xr_dispatch_table[] = {"xrPerfSettingsSetPerformanceLevelEXT", &wine_xrPerfSettingsSetPerformanceLevelEXT}, {"xrPollEvent", &wine_xrPollEvent}, {"xrReleaseSwapchainImage", &wine_xrReleaseSwapchainImage}, + {"xrRequestDisplayRefreshRateFB", &wine_xrRequestDisplayRefreshRateFB}, {"xrRequestExitSession", &wine_xrRequestExitSession}, {"xrResultToString", &wine_xrResultToString}, + {"xrSetColorSpaceFB", &wine_xrSetColorSpaceFB}, {"xrSetInputDeviceActiveEXT", &wine_xrSetInputDeviceActiveEXT}, {"xrSetInputDeviceLocationEXT", &wine_xrSetInputDeviceLocationEXT}, {"xrSetInputDeviceStateBoolEXT", &wine_xrSetInputDeviceStateBoolEXT}, @@ -522,13 +585,19 @@ static const char * const xr_extensions[] = "XR_EXT_thermal_query", "XR_EXT_view_configuration_depth_range", "XR_EXT_win32_appcontainer_compatible", + "XR_FB_color_space", + "XR_FB_display_refresh_rate", + "XR_HTC_vive_cosmos_controller_interaction", "XR_HUAWEI_controller_interaction", "XR_KHR_D3D11_enable", "XR_KHR_D3D12_enable", + "XR_KHR_binding_modification", + "XR_KHR_composition_layer_color_scale_bias", "XR_KHR_composition_layer_cube", "XR_KHR_composition_layer_cylinder", "XR_KHR_composition_layer_depth", "XR_KHR_composition_layer_equirect", + "XR_KHR_composition_layer_equirect2", "XR_KHR_opengl_enable", "XR_KHR_visibility_mask", "XR_KHR_vulkan_enable", @@ -536,6 +605,7 @@ static const char * const xr_extensions[] = "XR_KHR_win32_convert_performance_counter_time", "XR_MND_headless", "XR_MND_swapchain_usage_input_attachment_bit", + "XR_MSFT_controller_model", "XR_MSFT_first_person_observer", "XR_MSFT_hand_interaction", "XR_MSFT_hand_tracking_mesh", diff --git a/wineopenxr/openxr_thunks.h b/wineopenxr/openxr_thunks.h index eb3a8340..eb127c2f 100644 --- a/wineopenxr/openxr_thunks.h +++ b/wineopenxr/openxr_thunks.h @@ -15,7 +15,7 @@ * language incorporated into the Specification and reference pages, and other * material which is registered by Khronos, such as tags used by extension and * layer authors. The only authoritative version of xr.xml is the one - * maintained in the master branch of the Khronos OpenXR GitHub project. + * maintained in the default branch of the Khronos OpenXR GitHub project. * */ @@ -86,6 +86,8 @@ struct openxr_instance_funcs XrResult (*p_xrEndSession)(XrSession); XrResult (*p_xrEnumerateApiLayerProperties)(uint32_t, uint32_t *, XrApiLayerProperties *); XrResult (*p_xrEnumerateBoundSourcesForAction)(XrSession, const XrBoundSourcesForActionEnumerateInfo *, uint32_t, uint32_t *, XrPath *); + XrResult (*p_xrEnumerateColorSpacesFB)(XrSession, uint32_t, uint32_t *, XrColorSpaceFB *); + XrResult (*p_xrEnumerateDisplayRefreshRatesFB)(XrSession, uint32_t, uint32_t *, float *); XrResult (*p_xrEnumerateEnvironmentBlendModes)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrEnvironmentBlendMode *); XrResult (*p_xrEnumerateReferenceSpaces)(XrSession, uint32_t, uint32_t *, XrReferenceSpaceType *); XrResult (*p_xrEnumerateSwapchainFormats)(XrSession, uint32_t, uint32_t *, int64_t *); @@ -96,7 +98,11 @@ struct openxr_instance_funcs XrResult (*p_xrGetActionStateFloat)(XrSession, const XrActionStateGetInfo *, XrActionStateFloat *); XrResult (*p_xrGetActionStatePose)(XrSession, const XrActionStateGetInfo *, XrActionStatePose *); XrResult (*p_xrGetActionStateVector2f)(XrSession, const XrActionStateGetInfo *, XrActionStateVector2f *); + XrResult (*p_xrGetControllerModelKeyMSFT)(XrSession, XrPath, XrControllerModelKeyStateMSFT *); + XrResult (*p_xrGetControllerModelPropertiesMSFT)(XrSession, XrControllerModelKeyMSFT, XrControllerModelPropertiesMSFT *); + XrResult (*p_xrGetControllerModelStateMSFT)(XrSession, XrControllerModelKeyMSFT, XrControllerModelStateMSFT *); XrResult (*p_xrGetCurrentInteractionProfile)(XrSession, XrPath, XrInteractionProfileState *); + XrResult (*p_xrGetDisplayRefreshRateFB)(XrSession, float *); XrResult (*p_xrGetInputSourceLocalizedName)(XrSession, const XrInputSourceLocalizedNameGetInfo *, uint32_t, uint32_t *, char *); XrResult (*p_xrGetInstanceProperties)(XrInstance, XrInstanceProperties *); XrResult (*p_xrGetOpenGLGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsOpenGLKHR *); @@ -109,6 +115,7 @@ struct openxr_instance_funcs XrResult (*p_xrGetVulkanGraphicsDeviceKHR)(XrInstance, XrSystemId, VkInstance, VkPhysicalDevice *); XrResult (*p_xrGetVulkanGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsVulkanKHR *); XrResult (*p_xrGetVulkanInstanceExtensionsKHR)(XrInstance, XrSystemId, uint32_t, uint32_t *, char *); + XrResult (*p_xrLoadControllerModelMSFT)(XrSession, XrControllerModelKeyMSFT, uint32_t, uint32_t *, uint8_t *); XrResult (*p_xrLocateHandJointsEXT)(XrHandTrackerEXT, const XrHandJointsLocateInfoEXT *, XrHandJointLocationsEXT *); XrResult (*p_xrLocateSpace)(XrSpace, XrSpace, XrTime, XrSpaceLocation *); XrResult (*p_xrLocateViews)(XrSession, const XrViewLocateInfo *, XrViewState *, uint32_t, uint32_t *, XrView *); @@ -116,8 +123,10 @@ struct openxr_instance_funcs XrResult (*p_xrPerfSettingsSetPerformanceLevelEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsLevelEXT); XrResult (*p_xrPollEvent)(XrInstance, XrEventDataBuffer *); XrResult (*p_xrReleaseSwapchainImage)(XrSwapchain, const XrSwapchainImageReleaseInfo *); + XrResult (*p_xrRequestDisplayRefreshRateFB)(XrSession, float); XrResult (*p_xrRequestExitSession)(XrSession); XrResult (*p_xrResultToString)(XrInstance, XrResult, char[]); + XrResult (*p_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB); XrResult (*p_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32); XrResult (*p_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef); XrResult (*p_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32); @@ -162,6 +171,8 @@ struct openxr_instance_funcs USE_XR_FUNC(xrEndSession) \ USE_XR_FUNC(xrEnumerateApiLayerProperties) \ USE_XR_FUNC(xrEnumerateBoundSourcesForAction) \ + USE_XR_FUNC(xrEnumerateColorSpacesFB) \ + USE_XR_FUNC(xrEnumerateDisplayRefreshRatesFB) \ USE_XR_FUNC(xrEnumerateEnvironmentBlendModes) \ USE_XR_FUNC(xrEnumerateReferenceSpaces) \ USE_XR_FUNC(xrEnumerateSwapchainFormats) \ @@ -172,7 +183,11 @@ struct openxr_instance_funcs USE_XR_FUNC(xrGetActionStateFloat) \ USE_XR_FUNC(xrGetActionStatePose) \ USE_XR_FUNC(xrGetActionStateVector2f) \ + USE_XR_FUNC(xrGetControllerModelKeyMSFT) \ + USE_XR_FUNC(xrGetControllerModelPropertiesMSFT) \ + USE_XR_FUNC(xrGetControllerModelStateMSFT) \ USE_XR_FUNC(xrGetCurrentInteractionProfile) \ + USE_XR_FUNC(xrGetDisplayRefreshRateFB) \ USE_XR_FUNC(xrGetInputSourceLocalizedName) \ USE_XR_FUNC(xrGetInstanceProperties) \ USE_XR_FUNC(xrGetOpenGLGraphicsRequirementsKHR) \ @@ -185,6 +200,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrGetVulkanGraphicsDeviceKHR) \ USE_XR_FUNC(xrGetVulkanGraphicsRequirementsKHR) \ USE_XR_FUNC(xrGetVulkanInstanceExtensionsKHR) \ + USE_XR_FUNC(xrLoadControllerModelMSFT) \ USE_XR_FUNC(xrLocateHandJointsEXT) \ USE_XR_FUNC(xrLocateSpace) \ USE_XR_FUNC(xrLocateViews) \ @@ -192,8 +208,10 @@ struct openxr_instance_funcs USE_XR_FUNC(xrPerfSettingsSetPerformanceLevelEXT) \ USE_XR_FUNC(xrPollEvent) \ USE_XR_FUNC(xrReleaseSwapchainImage) \ + USE_XR_FUNC(xrRequestDisplayRefreshRateFB) \ USE_XR_FUNC(xrRequestExitSession) \ USE_XR_FUNC(xrResultToString) \ + USE_XR_FUNC(xrSetColorSpaceFB) \ USE_XR_FUNC(xrSetInputDeviceActiveEXT) \ USE_XR_FUNC(xrSetInputDeviceLocationEXT) \ USE_XR_FUNC(xrSetInputDeviceStateBoolEXT) \ diff --git a/wineopenxr/wineopenxr.h b/wineopenxr/wineopenxr.h index 9f11c5ab..5253bcae 100644 --- a/wineopenxr/wineopenxr.h +++ b/wineopenxr/wineopenxr.h @@ -15,7 +15,7 @@ * language incorporated into the Specification and reference pages, and other * material which is registered by Khronos, such as tags used by extension and * layer authors. The only authoritative version of xr.xml is the one - * maintained in the master branch of the Khronos OpenXR GitHub project. + * maintained in the default branch of the Khronos OpenXR GitHub project. * */ @@ -65,7 +65,7 @@ #define XR_KHR_COMPOSITION_LAYER_CUBE_EXTENSION_NAME "XR_KHR_composition_layer_cube" #define XR_KHR_composition_layer_depth_SPEC_VERSION 5 #define XR_KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME "XR_KHR_composition_layer_depth" -#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 2 +#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 3 #define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list" #define XR_EXT_performance_settings_SPEC_VERSION 1 #define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings" @@ -89,6 +89,8 @@ #define XR_KHR_VISIBILITY_MASK_EXTENSION_NAME "XR_KHR_visibility_mask" #define XR_EXTX_overlay_SPEC_VERSION 4 #define XR_EXTX_OVERLAY_EXTENSION_NAME "XR_EXTX_overlay" +#define XR_KHR_composition_layer_color_scale_bias_SPEC_VERSION 5 +#define XR_KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME "XR_KHR_composition_layer_color_scale_bias" #define XR_KHR_win32_convert_performance_counter_time_SPEC_VERSION 1 #define XR_KHR_WIN32_CONVERT_PERFORMANCE_COUNTER_TIME_EXTENSION_NAME "XR_KHR_win32_convert_performance_counter_time" #define XR_VARJO_quad_views_SPEC_VERSION 1 @@ -117,6 +119,9 @@ #define XR_MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME "XR_MSFT_secondary_view_configuration" #define XR_MSFT_first_person_observer_SPEC_VERSION 1 #define XR_MSFT_FIRST_PERSON_OBSERVER_EXTENSION_NAME "XR_MSFT_first_person_observer" +#define XR_MSFT_controller_model_SPEC_VERSION 2 +#define XR_MSFT_CONTROLLER_MODEL_EXTENSION_NAME "XR_MSFT_controller_model" +#define XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT 64 #define XR_EXT_win32_appcontainer_compatible_SPEC_VERSION 1 #define XR_EXT_WIN32_APPCONTAINER_COMPATIBLE_EXTENSION_NAME "XR_EXT_win32_appcontainer_compatible" #define XR_EPIC_view_configuration_fov_SPEC_VERSION 2 @@ -127,12 +132,22 @@ #define XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HUAWEI_controller_interaction" #define XR_VALVE_analog_threshold_SPEC_VERSION 1 #define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold" +#define XR_KHR_composition_layer_equirect2_SPEC_VERSION 1 +#define XR_KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME "XR_KHR_composition_layer_equirect2" #define XR_EXT_samsung_odyssey_controller_SPEC_VERSION 1 #define XR_EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME "XR_EXT_samsung_odyssey_controller" #define XR_EXT_hp_mixed_reality_controller_SPEC_VERSION 1 #define XR_EXT_HP_MIXED_REALITY_CONTROLLER_EXTENSION_NAME "XR_EXT_hp_mixed_reality_controller" #define XR_MND_swapchain_usage_input_attachment_bit_SPEC_VERSION 2 #define XR_MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME "XR_MND_swapchain_usage_input_attachment_bit" +#define XR_FB_display_refresh_rate_SPEC_VERSION 1 +#define XR_FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME "XR_FB_display_refresh_rate" +#define XR_HTC_vive_cosmos_controller_interaction_SPEC_VERSION 1 +#define XR_HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HTC_vive_cosmos_controller_interaction" +#define XR_FB_color_space_SPEC_VERSION 1 +#define XR_FB_COLOR_SPACE_EXTENSION_NAME "XR_FB_color_space" +#define XR_KHR_binding_modification_SPEC_VERSION 1 +#define XR_KHR_BINDING_MODIFICATION_EXTENSION_NAME "XR_KHR_binding_modification" #define XR_MAKE_VERSION(major, minor, patch) \ @@ -145,7 +160,7 @@ #define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL) -#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 11) +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 13) #if !defined(XR_MAY_ALIAS) @@ -214,6 +229,9 @@ #define XR_HAND_JOINT_COUNT_EXT 26 + + +#define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0 XR_DEFINE_HANDLE(XrAction) XR_DEFINE_HANDLE(XrActionSet) XR_DEFINE_HANDLE(XrHandTrackerEXT) @@ -224,6 +242,7 @@ XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) XR_DEFINE_HANDLE(XrSwapchain) typedef uint32_t XrBool32; +XR_DEFINE_ATOM(XrControllerModelKeyMSFT) typedef int64_t XrDuration; typedef uint64_t XrFlags64; XR_DEFINE_ATOM(XrPath) @@ -244,6 +263,8 @@ typedef XrFlags64 XrSpaceVelocityFlags; typedef XrFlags64 XrSwapchainCreateFlags; typedef XrFlags64 XrSwapchainUsageFlags; typedef XrFlags64 XrViewStateFlags; +typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR; +typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR; typedef enum XrActionType { @@ -255,6 +276,19 @@ typedef enum XrActionType XR_ACTION_TYPE_MAX_ENUM = 0x7fffffff, } XrActionType; +typedef enum XrColorSpaceFB +{ + XR_COLOR_SPACE_UNMANAGED_FB = 0, + XR_COLOR_SPACE_REC2020_FB = 1, + XR_COLOR_SPACE_REC709_FB = 2, + XR_COLOR_SPACE_RIFT_CV1_FB = 3, + XR_COLOR_SPACE_RIFT_S_FB = 4, + XR_COLOR_SPACE_QUEST_FB = 5, + XR_COLOR_SPACE_P3_FB = 6, + XR_COLOR_SPACE_ADOBE_RGB_FB = 7, + XR_COLOR_SPACE_FB_MAX_ENUM = 0x7fffffff, +} XrColorSpaceFB; + typedef enum XrEnvironmentBlendMode { XR_ENVIRONMENT_BLEND_MODE_OPAQUE = 1, @@ -386,6 +420,9 @@ typedef enum XrReferenceSpaceType typedef enum XrResult { + XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB = -1000108000, + XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB = -1000101000, + XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT = -1000055000, XR_ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT = -1000053000, XR_ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT = -1000039001, XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING = -50, @@ -545,6 +582,7 @@ typedef enum XrStructureType XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR = 1000031001, XR_TYPE_SESSION_CREATE_INFO_OVERLAY_EXTX = 1000033000, XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX = 1000033003, + XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR = 1000034000, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT = 1000039000, XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT = 1000039001, XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT = 1000046000, @@ -565,9 +603,18 @@ typedef enum XrStructureType XR_TYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT = 1000053003, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT = 1000053004, XR_TYPE_SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT = 1000053005, + XR_TYPE_CONTROLLER_MODEL_KEY_STATE_MSFT = 1000055000, + XR_TYPE_CONTROLLER_MODEL_NODE_PROPERTIES_MSFT = 1000055001, + XR_TYPE_CONTROLLER_MODEL_PROPERTIES_MSFT = 1000055002, + XR_TYPE_CONTROLLER_MODEL_NODE_STATE_MSFT = 1000055003, + XR_TYPE_CONTROLLER_MODEL_STATE_MSFT = 1000055004, XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC = 1000059000, XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000, XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000, + XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR = 1000091000, + XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000, + XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000, + XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000, XR_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff, } XrStructureType; @@ -595,21 +642,28 @@ typedef struct XrActionSuggestedBinding XrActionSuggestedBinding; typedef struct XrActiveActionSet XrActiveActionSet; typedef struct XrApplicationInfo XrApplicationInfo; typedef struct XrBaseOutStructure XrBaseOutStructure; -typedef struct XrColor4f XrColor4f; +typedef struct XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo; +typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader; +typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT; typedef struct XrDebugUtilsLabelEXT XrDebugUtilsLabelEXT; typedef struct XrEventDataBaseHeader XrEventDataBaseHeader; -typedef struct XrEventDataEventsLost XrEventDataEventsLost; -typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged; -typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT; +typedef struct XrEventDataDisplayRefreshRateChangedFB XrEventDataDisplayRefreshRateChangedFB; +typedef struct XrEventDataInstanceLossPending XrEventDataInstanceLossPending; +typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessionVisibilityChangedEXTX; typedef struct XrEventDataSessionStateChanged XrEventDataSessionStateChanged; typedef struct XrExtensionProperties XrExtensionProperties; typedef struct XrExtent2Di XrExtent2Di; typedef struct XrFovf XrFovf; -typedef struct XrFrameState XrFrameState; -typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR; +typedef struct XrFrameEndInfo XrFrameEndInfo; +typedef struct XrFrameWaitInfo XrFrameWaitInfo; +typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR; +typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR; typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR; +typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR; typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR; typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR; +typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR; +typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR; typedef struct XrHandJointsLocateInfoEXT XrHandJointsLocateInfoEXT; typedef struct XrHandMeshUpdateInfoMSFT XrHandMeshUpdateInfoMSFT; typedef struct XrHandPoseTypeInfoMSFT XrHandPoseTypeInfoMSFT; @@ -619,104 +673,111 @@ typedef struct XrInputSourceLocalizedNameGetInfo XrInputSourceLocalizedNameGetIn typedef struct XrInteractionProfileState XrInteractionProfileState; typedef struct XrOffset2Df XrOffset2Df; typedef struct XrQuaternionf XrQuaternionf; -typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewConfigurationSessionBeginInfoMSFT; -typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT XrSecondaryViewConfigurationSwapchainCreateInfoMSFT; -typedef struct XrSessionBeginInfo XrSessionBeginInfo; -typedef struct XrSessionCreateInfoOverlayEXTX XrSessionCreateInfoOverlayEXTX; +typedef struct XrSecondaryViewConfigurationLayerInfoMSFT XrSecondaryViewConfigurationLayerInfoMSFT; +typedef struct XrSecondaryViewConfigurationStateMSFT XrSecondaryViewConfigurationStateMSFT; +typedef struct XrSessionActionSetsAttachInfo XrSessionActionSetsAttachInfo; +typedef struct XrSessionCreateInfo XrSessionCreateInfo; typedef struct XrSwapchainCreateInfo XrSwapchainCreateInfo; typedef struct XrSwapchainImageBaseHeader XrSwapchainImageBaseHeader; typedef struct XrSwapchainImageD3D12KHR XrSwapchainImageD3D12KHR; typedef struct XrSwapchainImageOpenGLKHR XrSwapchainImageOpenGLKHR; -typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR; -typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT; -typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties; -typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT; +typedef struct XrSwapchainImageWaitInfo XrSwapchainImageWaitInfo; +typedef struct XrSystemColorSpacePropertiesFB XrSystemColorSpacePropertiesFB; +typedef struct XrSystemGetInfo XrSystemGetInfo; +typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT; typedef struct XrSystemTrackingProperties XrSystemTrackingProperties; typedef struct XrVector3f XrVector3f; typedef struct XrViewConfigurationDepthRangeEXT XrViewConfigurationDepthRangeEXT; typedef struct XrViewConfigurationView XrViewConfigurationView; typedef struct XrViewLocateInfo XrViewLocateInfo; -typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR; typedef struct XrActionSetCreateInfo XrActionSetCreateInfo; typedef struct XrActionStateFloat XrActionStateFloat; typedef struct XrActionsSyncInfo XrActionsSyncInfo; typedef struct XrBaseInStructure XrBaseInStructure; -typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader; +typedef struct XrColor4f XrColor4f; +typedef struct XrCompositionLayerCubeKHR XrCompositionLayerCubeKHR; +typedef struct XrControllerModelNodePropertiesMSFT XrControllerModelNodePropertiesMSFT; +typedef struct XrControllerModelPropertiesMSFT XrControllerModelPropertiesMSFT; typedef struct XrDebugUtilsObjectNameInfoEXT XrDebugUtilsObjectNameInfoEXT; -typedef struct XrEventDataInstanceLossPending XrEventDataInstanceLossPending; +typedef struct XrEventDataEventsLost XrEventDataEventsLost; +typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT; typedef struct XrEventDataVisibilityMaskChangedKHR XrEventDataVisibilityMaskChangedKHR; typedef struct XrEyeGazeSampleTimeEXT XrEyeGazeSampleTimeEXT; -typedef struct XrFrameEndInfo XrFrameEndInfo; -typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR; +typedef struct XrFrameState XrFrameState; typedef struct XrGraphicsRequirementsD3D11KHR XrGraphicsRequirementsD3D11KHR; -typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR; typedef struct XrHandJointVelocityEXT XrHandJointVelocityEXT; typedef struct XrHandMeshVertexMSFT XrHandMeshVertexMSFT; typedef struct XrHapticBaseHeader XrHapticBaseHeader; typedef struct XrInstanceCreateInfo XrInstanceCreateInfo; typedef struct XrInteractionProfileAnalogThresholdVALVE XrInteractionProfileAnalogThresholdVALVE; +typedef struct XrPosef XrPosef; +typedef struct XrReferenceSpaceCreateInfo XrReferenceSpaceCreateInfo; +typedef struct XrSecondaryViewConfigurationFrameStateMSFT XrSecondaryViewConfigurationFrameStateMSFT; +typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT XrSecondaryViewConfigurationSwapchainCreateInfoMSFT; +typedef struct XrSessionCreateInfoOverlayEXTX XrSessionCreateInfoOverlayEXTX; +typedef struct XrSpaceVelocity XrSpaceVelocity; +typedef struct XrSpatialAnchorSpaceCreateInfoMSFT XrSpatialAnchorSpaceCreateInfoMSFT; +typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo; +typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR; +typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR; +typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT; +typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT; +typedef struct XrVector2f XrVector2f; +typedef struct XrView XrView; +typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC; +typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR; +typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR; +typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo; +typedef struct XrActionStateVector2f XrActionStateVector2f; +typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR; +typedef struct XrCompositionLayerColorScaleBiasKHR XrCompositionLayerColorScaleBiasKHR; +typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT; +typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT; +typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged; +typedef struct XrExtent2Df XrExtent2Df; +typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR; +typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT; +typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT; +typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT; +typedef struct XrInstanceProperties XrInstanceProperties; typedef struct XrOffset2Di XrOffset2Di; typedef struct XrRect2Di XrRect2Di; -typedef struct XrSecondaryViewConfigurationLayerInfoMSFT XrSecondaryViewConfigurationLayerInfoMSFT; -typedef struct XrSessionActionSetsAttachInfo XrSessionActionSetsAttachInfo; -typedef struct XrSpaceVelocity XrSpaceVelocity; -typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo; -typedef struct XrSwapchainImageWaitInfo XrSwapchainImageWaitInfo; -typedef struct XrSystemGetInfo XrSystemGetInfo; -typedef struct XrSystemProperties XrSystemProperties; +typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewConfigurationSessionBeginInfoMSFT; +typedef struct XrSpaceLocation XrSpaceLocation; +typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT; +typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo; +typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties; typedef struct XrVector4f XrVector4f; -typedef struct XrViewConfigurationProperties XrViewConfigurationProperties; typedef struct XrViewState XrViewState; typedef struct XrActionStatePose XrActionStatePose; -typedef struct XrApiLayerProperties XrApiLayerProperties; -typedef struct XrCompositionLayerCubeKHR XrCompositionLayerCubeKHR; -typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT; -typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessionVisibilityChangedEXTX; -typedef struct XrExtent2Df XrExtent2Df; -typedef struct XrFrameWaitInfo XrFrameWaitInfo; -typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT; -typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT; -typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT; -typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding; -typedef struct XrRect2Df XrRect2Df; -typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT; -typedef struct XrSecondaryViewConfigurationStateMSFT XrSecondaryViewConfigurationStateMSFT; -typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR; -typedef struct XrSwapchainSubImage XrSwapchainSubImage; -typedef struct XrVector2f XrVector2f; -typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC; -typedef struct XrActionStateVector2f XrActionStateVector2f; -typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR; -typedef struct XrEventDataBuffer XrEventDataBuffer; -typedef struct XrFrameBeginInfo XrFrameBeginInfo; -typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT; -typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT; -typedef struct XrPosef XrPosef; -typedef struct XrSecondaryViewConfigurationFrameStateMSFT XrSecondaryViewConfigurationFrameStateMSFT; -typedef struct XrSpaceLocation XrSpaceLocation; -typedef struct XrSpatialAnchorSpaceCreateInfoMSFT XrSpatialAnchorSpaceCreateInfoMSFT; -typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo; -typedef struct XrView XrView; -typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo; -typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR; -typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView; +typedef struct XrBindingModificationsKHR XrBindingModificationsKHR; +typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT; typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending; +typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT; +typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT; +typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding; +typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT; +typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT; +typedef struct XrSwapchainSubImage XrSwapchainSubImage; +typedef struct XrViewConfigurationProperties XrViewConfigurationProperties; +typedef struct XrApiLayerProperties XrApiLayerProperties; +typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR; +typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR; +typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView; +typedef struct XrEventDataBuffer XrEventDataBuffer; typedef struct XrHandJointLocationEXT XrHandJointLocationEXT; typedef struct XrHandMeshMSFT XrHandMeshMSFT; -typedef struct XrInstanceProperties XrInstanceProperties; -typedef struct XrSessionCreateInfo XrSessionCreateInfo; -typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT; -typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR; -typedef struct XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo; +typedef struct XrRect2Df XrRect2Df; +typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR; +typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR; typedef struct XrCompositionLayerProjection XrCompositionLayerProjection; -typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR; -typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT; -typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT; -typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR; +typedef struct XrFrameBeginInfo XrFrameBeginInfo; +typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT; +typedef struct XrSystemProperties XrSystemProperties; +typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR; typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT; -typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT; typedef struct XrCompositionLayerQuad XrCompositionLayerQuad; -typedef struct XrReferenceSpaceCreateInfo XrReferenceSpaceCreateInfo; +typedef struct XrSessionBeginInfo XrSessionBeginInfo; typedef XrBool32 (XRAPI_PTR * PFN_xrDebugUtilsMessengerCallbackEXT)( XrDebugUtilsMessageSeverityFlagsEXT messageSeverity, XrDebugUtilsMessageTypeFlagsEXT messageTypes, @@ -781,12 +842,26 @@ struct XrBaseOutStructure struct XrBaseOutStructure *next; }; -struct XrColor4f +struct XrBoundSourcesForActionEnumerateInfo { - float r; - float g; - float b; - float a; + XrStructureType type; + const void *next; + XrAction action; +}; + +struct XrCompositionLayerBaseHeader +{ + XrStructureType type; + const void *next; + XrCompositionLayerFlags layerFlags; + XrSpace space; +}; + +struct XrControllerModelKeyStateMSFT +{ + XrStructureType type; + void *next; + XrControllerModelKeyMSFT modelKey; }; struct XrDebugUtilsLabelEXT @@ -802,28 +877,27 @@ struct XrEventDataBaseHeader const void *next; }; -struct XrEventDataEventsLost +struct XrEventDataDisplayRefreshRateChangedFB { XrStructureType type; const void *next; - uint32_t lostEventCount; + float fromDisplayRefreshRate; + float toDisplayRefreshRate; }; -struct XrEventDataInteractionProfileChanged +struct XrEventDataInstanceLossPending { XrStructureType type; const void *next; - XrSession session; + XrTime lossTime; }; -struct XrEventDataPerfSettingsEXT +struct XrEventDataMainSessionVisibilityChangedEXTX { XrStructureType type; const void *next; - XrPerfSettingsDomainEXT domain; - XrPerfSettingsSubDomainEXT subDomain; - XrPerfSettingsNotificationLevelEXT fromLevel; - XrPerfSettingsNotificationLevelEXT toLevel; + XrBool32 visible; + XrOverlayMainSessionFlagsEXTX flags; }; struct XrEventDataSessionStateChanged @@ -857,20 +931,36 @@ struct XrFovf float angleDown; }; -struct XrFrameState -{ - XrStructureType type; - void *next; - XrTime predictedDisplayTime; - XrDuration predictedDisplayPeriod; - XrBool32 shouldRender; -}; - -struct XrGraphicsBindingD3D11KHR +struct XrFrameEndInfo { XrStructureType type; const void *next; - ID3D11Device *device; + XrTime displayTime; + XrEnvironmentBlendMode environmentBlendMode; + uint32_t layerCount; + const XrCompositionLayerBaseHeader * const*layers; +}; + +struct XrFrameWaitInfo +{ + XrStructureType type; + const void *next; +}; + +struct XrGraphicsBindingD3D12KHR +{ + XrStructureType type; + const void *next; + ID3D12Device *device; + ID3D12CommandQueue *queue; +}; + +struct XrGraphicsBindingOpenGLWin32KHR +{ + XrStructureType type; + const void *next; + HDC hDC; + HGLRC hGLRC; }; struct XrGraphicsBindingVulkanKHR @@ -900,6 +990,14 @@ struct XrGraphicsRequirementsOpenGLKHR XrVersion maxApiVersionSupported; }; +struct XrGraphicsRequirementsVulkanKHR +{ + XrStructureType type; + void *next; + XrVersion minApiVersionSupported; + XrVersion maxApiVersionSupported; +}; + struct XrHandJointsLocateInfoEXT { XrStructureType type; @@ -969,34 +1067,38 @@ struct XrQuaternionf float w; }; -struct XrSecondaryViewConfigurationSessionBeginInfoMSFT -{ - XrStructureType type; - const void *next; - uint32_t viewConfigurationCount; - const XrViewConfigurationType *enabledViewConfigurationTypes; -}; - -struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT +struct XrSecondaryViewConfigurationLayerInfoMSFT { XrStructureType type; const void *next; XrViewConfigurationType viewConfigurationType; + XrEnvironmentBlendMode environmentBlendMode; + uint32_t layerCount; + const XrCompositionLayerBaseHeader * const*layers; }; -struct XrSessionBeginInfo +struct XrSecondaryViewConfigurationStateMSFT +{ + XrStructureType type; + void *next; + XrViewConfigurationType viewConfigurationType; + XrBool32 active; +}; + +struct XrSessionActionSetsAttachInfo { XrStructureType type; const void *next; - XrViewConfigurationType primaryViewConfigurationType; + uint32_t countActionSets; + const XrActionSet *actionSets; }; -struct XrSessionCreateInfoOverlayEXTX +struct XrSessionCreateInfo { XrStructureType type; const void *next; - XrOverlaySessionCreateFlagsEXTX createFlags; - uint32_t sessionLayersPlacement; + XrSessionCreateFlags createFlags; + XrSystemId systemId; }; struct XrSwapchainCreateInfo @@ -1034,32 +1136,34 @@ struct XrSwapchainImageOpenGLKHR uint32_t image; }; -struct XrSwapchainImageVulkanKHR +struct XrSwapchainImageWaitInfo +{ + XrStructureType type; + const void *next; + XrDuration timeout; +}; + +struct XrSystemColorSpacePropertiesFB { XrStructureType type; void *next; - VkImage image; + XrColorSpaceFB colorSpace; }; -struct XrSystemEyeGazeInteractionPropertiesEXT +struct XrSystemGetInfo +{ + XrStructureType type; + const void *next; + XrFormFactor formFactor; +}; + +struct XrSystemHandTrackingMeshPropertiesMSFT { XrStructureType type; void *next; - XrBool32 supportsEyeGazeInteraction; -}; - -struct XrSystemGraphicsProperties -{ - uint32_t maxSwapchainImageHeight; - uint32_t maxSwapchainImageWidth; - uint32_t maxLayerCount; -}; - -struct XrSystemHandTrackingPropertiesEXT -{ - XrStructureType type; - void *next; - XrBool32 supportsHandTracking; + XrBool32 supportsHandTrackingMesh; + uint32_t maxHandMeshIndexCount; + uint32_t maxHandMeshVertexCount; }; struct XrSystemTrackingProperties @@ -1106,14 +1210,6 @@ struct XrViewLocateInfo XrSpace space; }; -struct XrVulkanSwapchainFormatListCreateInfoKHR -{ - XrStructureType type; - const void *next; - uint32_t viewFormatCount; - const VkFormat *viewFormats; -}; - struct XrActionSetCreateInfo { XrStructureType type; @@ -1147,12 +1243,41 @@ struct XrBaseInStructure const struct XrBaseInStructure *next; }; -struct XrCompositionLayerBaseHeader +struct XrColor4f +{ + float r; + float g; + float b; + float a; +}; + +struct XrCompositionLayerCubeKHR { XrStructureType type; const void *next; XrCompositionLayerFlags layerFlags; XrSpace space; + XrEyeVisibility eyeVisibility; + XrSwapchain swapchain; + uint32_t imageArrayIndex; + XrQuaternionf orientation; +}; + +struct XrControllerModelNodePropertiesMSFT +{ + XrStructureType type; + void *next; + char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT]; + char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT]; +}; + +struct XrControllerModelPropertiesMSFT +{ + XrStructureType type; + void *next; + uint32_t nodeCapacityInput; + uint32_t nodeCountOutput; + XrControllerModelNodePropertiesMSFT *nodeProperties; }; struct XrDebugUtilsObjectNameInfoEXT @@ -1164,11 +1289,21 @@ struct XrDebugUtilsObjectNameInfoEXT const char *objectName; }; -struct XrEventDataInstanceLossPending +struct XrEventDataEventsLost { XrStructureType type; const void *next; - XrTime lossTime; + uint32_t lostEventCount; +}; + +struct XrEventDataPerfSettingsEXT +{ + XrStructureType type; + const void *next; + XrPerfSettingsDomainEXT domain; + XrPerfSettingsSubDomainEXT subDomain; + XrPerfSettingsNotificationLevelEXT fromLevel; + XrPerfSettingsNotificationLevelEXT toLevel; }; struct XrEventDataVisibilityMaskChangedKHR @@ -1187,22 +1322,13 @@ struct XrEyeGazeSampleTimeEXT XrTime time; }; -struct XrFrameEndInfo +struct XrFrameState { XrStructureType type; - const void *next; - XrTime displayTime; - XrEnvironmentBlendMode environmentBlendMode; - uint32_t layerCount; - const XrCompositionLayerBaseHeader * const*layers; -}; - -struct XrGraphicsBindingD3D12KHR -{ - XrStructureType type; - const void *next; - ID3D12Device *device; - ID3D12CommandQueue *queue; + void *next; + XrTime predictedDisplayTime; + XrDuration predictedDisplayPeriod; + XrBool32 shouldRender; }; struct XrGraphicsRequirementsD3D11KHR @@ -1213,14 +1339,6 @@ struct XrGraphicsRequirementsD3D11KHR D3D_FEATURE_LEVEL minFeatureLevel; }; -struct XrGraphicsRequirementsVulkanKHR -{ - XrStructureType type; - void *next; - XrVersion minApiVersionSupported; - XrVersion maxApiVersionSupported; -}; - struct XrHandJointVelocityEXT { XrSpaceVelocityFlags velocityFlags; @@ -1264,6 +1382,234 @@ struct XrInteractionProfileAnalogThresholdVALVE const XrHapticBaseHeader *offHaptic; }; +struct XrPosef +{ + XrQuaternionf orientation; + XrVector3f position; +}; + +struct XrReferenceSpaceCreateInfo +{ + XrStructureType type; + const void *next; + XrReferenceSpaceType referenceSpaceType; + XrPosef poseInReferenceSpace; +}; + +struct XrSecondaryViewConfigurationFrameStateMSFT +{ + XrStructureType type; + void *next; + uint32_t viewConfigurationCount; + XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates; +}; + +struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrViewConfigurationType viewConfigurationType; +}; + +struct XrSessionCreateInfoOverlayEXTX +{ + XrStructureType type; + const void *next; + XrOverlaySessionCreateFlagsEXTX createFlags; + uint32_t sessionLayersPlacement; +}; + +struct XrSpaceVelocity +{ + XrStructureType type; + void *next; + XrSpaceVelocityFlags velocityFlags; + XrVector3f linearVelocity; + XrVector3f angularVelocity; +}; + +struct XrSpatialAnchorSpaceCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrSpatialAnchorMSFT anchor; + XrPosef poseInAnchorSpace; +}; + +struct XrSwapchainImageAcquireInfo +{ + XrStructureType type; + const void *next; +}; + +struct XrSwapchainImageVulkanKHR +{ + XrStructureType type; + void *next; + VkImage image; +}; + +struct XrSystemEyeGazeInteractionPropertiesEXT +{ + XrStructureType type; + void *next; + XrBool32 supportsEyeGazeInteraction; +}; + +struct XrSystemHandTrackingPropertiesEXT +{ + XrStructureType type; + void *next; + XrBool32 supportsHandTracking; +}; + +struct XrVector2f +{ + float x; + float y; +}; + +struct XrView +{ + XrStructureType type; + void *next; + XrPosef pose; + XrFovf fov; +}; + +struct XrViewConfigurationViewFovEPIC +{ + XrStructureType type; + const void *next; + XrFovf recommendedFov; + XrFovf maxMutableFov; +}; + +struct XrVisibilityMaskKHR +{ + XrStructureType type; + void *next; + uint32_t vertexCapacityInput; + uint32_t vertexCountOutput; + XrVector2f *vertices; + uint32_t indexCapacityInput; + uint32_t indexCountOutput; + uint32_t *indices; +}; + +struct XrVulkanSwapchainFormatListCreateInfoKHR +{ + XrStructureType type; + const void *next; + uint32_t viewFormatCount; + const VkFormat *viewFormats; +}; + +struct XrActionSpaceCreateInfo +{ + XrStructureType type; + const void *next; + XrAction action; + XrPath subactionPath; + XrPosef poseInActionSpace; +}; + +struct XrActionStateVector2f +{ + XrStructureType type; + void *next; + XrVector2f currentState; + XrBool32 changedSinceLastSync; + XrTime lastChangeTime; + XrBool32 isActive; +}; + +struct XrBindingModificationBaseHeaderKHR +{ + XrStructureType type; + const void *next; +}; + +struct XrCompositionLayerColorScaleBiasKHR +{ + XrStructureType type; + const void *next; + XrColor4f colorScale; + XrColor4f colorBias; +}; + +struct XrControllerModelNodeStateMSFT +{ + XrStructureType type; + void *next; + XrPosef nodePose; +}; + +struct XrDebugUtilsMessengerCallbackDataEXT +{ + XrStructureType type; + const void *next; + const char *messageId; + const char *functionName; + const char *message; + uint32_t objectCount; + XrDebugUtilsObjectNameInfoEXT *objects; + uint32_t sessionLabelCount; + XrDebugUtilsLabelEXT *sessionLabels; +}; + +struct XrEventDataInteractionProfileChanged +{ + XrStructureType type; + const void *next; + XrSession session; +}; + +struct XrExtent2Df +{ + float width; + float height; +}; + +struct XrGraphicsBindingD3D11KHR +{ + XrStructureType type; + const void *next; + ID3D11Device *device; +}; + +struct XrHandJointVelocitiesEXT +{ + XrStructureType type; + void *next; + uint32_t jointCount; + XrHandJointVelocityEXT *jointVelocities; +}; + +struct XrHandMeshSpaceCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrHandPoseTypeMSFT handPoseType; + XrPosef poseInHandMeshSpace; +}; + +struct XrHandTrackerCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrHandEXT hand; + XrHandJointSetEXT handJointSet; +}; + +struct XrInstanceProperties +{ + XrStructureType type; + void *next; + XrVersion runtimeVersion; + char runtimeName[XR_MAX_RUNTIME_NAME_SIZE]; +}; + struct XrOffset2Di { int32_t x; @@ -1276,62 +1622,42 @@ struct XrRect2Di XrExtent2Di extent; }; -struct XrSecondaryViewConfigurationLayerInfoMSFT +struct XrSecondaryViewConfigurationSessionBeginInfoMSFT { XrStructureType type; const void *next; - XrViewConfigurationType viewConfigurationType; - XrEnvironmentBlendMode environmentBlendMode; - uint32_t layerCount; - const XrCompositionLayerBaseHeader * const*layers; + uint32_t viewConfigurationCount; + const XrViewConfigurationType *enabledViewConfigurationTypes; }; -struct XrSessionActionSetsAttachInfo -{ - XrStructureType type; - const void *next; - uint32_t countActionSets; - const XrActionSet *actionSets; -}; - -struct XrSpaceVelocity +struct XrSpaceLocation { XrStructureType type; void *next; - XrSpaceVelocityFlags velocityFlags; - XrVector3f linearVelocity; - XrVector3f angularVelocity; + XrSpaceLocationFlags locationFlags; + XrPosef pose; }; -struct XrSwapchainImageAcquireInfo +struct XrSpatialGraphNodeSpaceCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrSpatialGraphNodeTypeMSFT nodeType; + uint8_t nodeId[16]; + XrPosef pose; +}; + +struct XrSwapchainImageReleaseInfo { XrStructureType type; const void *next; }; -struct XrSwapchainImageWaitInfo +struct XrSystemGraphicsProperties { - XrStructureType type; - const void *next; - XrDuration timeout; -}; - -struct XrSystemGetInfo -{ - XrStructureType type; - const void *next; - XrFormFactor formFactor; -}; - -struct XrSystemProperties -{ - XrStructureType type; - void *next; - XrSystemId systemId; - uint32_t vendorId; - char systemName[XR_MAX_SYSTEM_NAME_SIZE]; - XrSystemGraphicsProperties graphicsProperties; - XrSystemTrackingProperties trackingProperties; + uint32_t maxSwapchainImageHeight; + uint32_t maxSwapchainImageWidth; + uint32_t maxLayerCount; }; struct XrVector4f @@ -1342,14 +1668,6 @@ struct XrVector4f float w; }; -struct XrViewConfigurationProperties -{ - XrStructureType type; - void *next; - XrViewConfigurationType viewConfigurationType; - XrBool32 fovMutable; -}; - struct XrViewState { XrStructureType type; @@ -1364,67 +1682,40 @@ struct XrActionStatePose XrBool32 isActive; }; -struct XrApiLayerProperties +struct XrBindingModificationsKHR +{ + XrStructureType type; + const void *next; + uint32_t bindingModificationCount; + const XrBindingModificationBaseHeaderKHR * const*bindingModifications; +}; + +struct XrControllerModelStateMSFT { XrStructureType type; void *next; - char layerName[XR_MAX_API_LAYER_NAME_SIZE]; - XrVersion specVersion; - uint32_t layerVersion; - char description[XR_MAX_API_LAYER_DESCRIPTION_SIZE]; + uint32_t nodeCapacityInput; + uint32_t nodeCountOutput; + XrControllerModelNodeStateMSFT *nodeStates; }; -struct XrCompositionLayerCubeKHR +struct XrEventDataReferenceSpaceChangePending { XrStructureType type; const void *next; - XrCompositionLayerFlags layerFlags; - XrSpace space; - XrEyeVisibility eyeVisibility; - XrSwapchain swapchain; - uint32_t imageArrayIndex; - XrQuaternionf orientation; + XrSession session; + XrReferenceSpaceType referenceSpaceType; + XrTime changeTime; + XrBool32 poseValid; + XrPosef poseInPreviousSpace; }; -struct XrDebugUtilsMessengerCallbackDataEXT +struct XrHandMeshIndexBufferMSFT { - XrStructureType type; - const void *next; - const char *messageId; - const char *functionName; - const char *message; - uint32_t objectCount; - XrDebugUtilsObjectNameInfoEXT *objects; - uint32_t sessionLabelCount; - XrDebugUtilsLabelEXT *sessionLabels; -}; - -struct XrEventDataMainSessionVisibilityChangedEXTX -{ - XrStructureType type; - const void *next; - XrBool32 visible; - XrOverlayMainSessionFlagsEXTX flags; -}; - -struct XrExtent2Df -{ - float width; - float height; -}; - -struct XrFrameWaitInfo -{ - XrStructureType type; - const void *next; -}; - -struct XrHandJointVelocitiesEXT -{ - XrStructureType type; - void *next; - uint32_t jointCount; - XrHandJointVelocityEXT *jointVelocities; + uint32_t indexBufferKey; + uint32_t indexCapacityInput; + uint32_t indexCountOutput; + uint32_t *indices; }; struct XrHandMeshVertexBufferMSFT @@ -1435,14 +1726,6 @@ struct XrHandMeshVertexBufferMSFT XrHandMeshVertexMSFT *vertices; }; -struct XrHolographicWindowAttachmentMSFT -{ - XrStructureType type; - const void *next; - IUnknown *holographicSpace; - IUnknown *coreWindow; -}; - struct XrInteractionProfileSuggestedBinding { XrStructureType type; @@ -1452,12 +1735,6 @@ struct XrInteractionProfileSuggestedBinding const XrActionSuggestedBinding *suggestedBindings; }; -struct XrRect2Df -{ - XrOffset2Df offset; - XrExtent2Df extent; -}; - struct XrSecondaryViewConfigurationFrameEndInfoMSFT { XrStructureType type; @@ -1466,19 +1743,13 @@ struct XrSecondaryViewConfigurationFrameEndInfoMSFT const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo; }; -struct XrSecondaryViewConfigurationStateMSFT +struct XrSpatialAnchorCreateInfoMSFT { XrStructureType type; - void *next; - XrViewConfigurationType viewConfigurationType; - XrBool32 active; -}; - -struct XrSwapchainImageD3D11KHR -{ - XrStructureType type; - void *next; - ID3D11Texture2D *texture; + const void *next; + XrSpace space; + XrPosef pose; + XrTime time; }; struct XrSwapchainSubImage @@ -1488,28 +1759,22 @@ struct XrSwapchainSubImage uint32_t imageArrayIndex; }; -struct XrVector2f -{ - float x; - float y; -}; - -struct XrViewConfigurationViewFovEPIC -{ - XrStructureType type; - const void *next; - XrFovf recommendedFov; - XrFovf maxMutableFov; -}; - -struct XrActionStateVector2f +struct XrViewConfigurationProperties { XrStructureType type; void *next; - XrVector2f currentState; - XrBool32 changedSinceLastSync; - XrTime lastChangeTime; - XrBool32 isActive; + XrViewConfigurationType viewConfigurationType; + XrBool32 fovMutable; +}; + +struct XrApiLayerProperties +{ + XrStructureType type; + void *next; + char layerName[XR_MAX_API_LAYER_NAME_SIZE]; + XrVersion specVersion; + uint32_t layerVersion; + char description[XR_MAX_API_LAYER_DESCRIPTION_SIZE]; }; struct XrCompositionLayerDepthInfoKHR @@ -1523,89 +1788,7 @@ struct XrCompositionLayerDepthInfoKHR float farZ; }; -struct XrEventDataBuffer -{ - XrStructureType type; - const void *next; - uint8_t varying[4000]; -}; - -struct XrFrameBeginInfo -{ - XrStructureType type; - const void *next; -}; - -struct XrHandMeshIndexBufferMSFT -{ - uint32_t indexBufferKey; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - uint32_t *indices; -}; - -struct XrHandTrackerCreateInfoEXT -{ - XrStructureType type; - const void *next; - XrHandEXT hand; - XrHandJointSetEXT handJointSet; -}; - -struct XrPosef -{ - XrQuaternionf orientation; - XrVector3f position; -}; - -struct XrSecondaryViewConfigurationFrameStateMSFT -{ - XrStructureType type; - void *next; - uint32_t viewConfigurationCount; - XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates; -}; - -struct XrSpaceLocation -{ - XrStructureType type; - void *next; - XrSpaceLocationFlags locationFlags; - XrPosef pose; -}; - -struct XrSpatialAnchorSpaceCreateInfoMSFT -{ - XrStructureType type; - const void *next; - XrSpatialAnchorMSFT anchor; - XrPosef poseInAnchorSpace; -}; - -struct XrSwapchainImageReleaseInfo -{ - XrStructureType type; - const void *next; -}; - -struct XrView -{ - XrStructureType type; - void *next; - XrPosef pose; - XrFovf fov; -}; - -struct XrActionSpaceCreateInfo -{ - XrStructureType type; - const void *next; - XrAction action; - XrPath subactionPath; - XrPosef poseInActionSpace; -}; - -struct XrCompositionLayerCylinderKHR +struct XrCompositionLayerEquirectKHR { XrStructureType type; const void *next; @@ -1615,8 +1798,8 @@ struct XrCompositionLayerCylinderKHR XrSwapchainSubImage subImage; XrPosef pose; float radius; - float centralAngle; - float aspectRatio; + XrVector2f scale; + XrVector2f bias; }; struct XrCompositionLayerProjectionView @@ -1628,15 +1811,11 @@ struct XrCompositionLayerProjectionView XrSwapchainSubImage subImage; }; -struct XrEventDataReferenceSpaceChangePending +struct XrEventDataBuffer { XrStructureType type; const void *next; - XrSession session; - XrReferenceSpaceType referenceSpaceType; - XrTime changeTime; - XrBool32 poseValid; - XrPosef poseInPreviousSpace; + uint8_t varying[4000]; }; struct XrHandJointLocationEXT @@ -1657,48 +1836,31 @@ struct XrHandMeshMSFT XrHandMeshVertexBufferMSFT vertexBuffer; }; -struct XrInstanceProperties +struct XrRect2Df +{ + XrOffset2Df offset; + XrExtent2Df extent; +}; + +struct XrSwapchainImageD3D11KHR { XrStructureType type; void *next; - XrVersion runtimeVersion; - char runtimeName[XR_MAX_RUNTIME_NAME_SIZE]; + ID3D11Texture2D *texture; }; -struct XrSessionCreateInfo +struct XrCompositionLayerCylinderKHR { XrStructureType type; const void *next; - XrSessionCreateFlags createFlags; - XrSystemId systemId; -}; - -struct XrSpatialGraphNodeSpaceCreateInfoMSFT -{ - XrStructureType type; - const void *next; - XrSpatialGraphNodeTypeMSFT nodeType; - uint8_t nodeId[16]; + XrCompositionLayerFlags layerFlags; + XrSpace space; + XrEyeVisibility eyeVisibility; + XrSwapchainSubImage subImage; XrPosef pose; -}; - -struct XrVisibilityMaskKHR -{ - XrStructureType type; - void *next; - uint32_t vertexCapacityInput; - uint32_t vertexCountOutput; - XrVector2f *vertices; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - uint32_t *indices; -}; - -struct XrBoundSourcesForActionEnumerateInfo -{ - XrStructureType type; - const void *next; - XrAction action; + float radius; + float centralAngle; + float aspectRatio; }; struct XrCompositionLayerProjection @@ -1711,32 +1873,32 @@ struct XrCompositionLayerProjection const XrCompositionLayerProjectionView *views; }; -struct XrGraphicsBindingOpenGLWin32KHR +struct XrFrameBeginInfo { XrStructureType type; const void *next; - HDC hDC; - HGLRC hGLRC; }; -struct XrHandMeshSpaceCreateInfoMSFT +struct XrHolographicWindowAttachmentMSFT { XrStructureType type; const void *next; - XrHandPoseTypeMSFT handPoseType; - XrPosef poseInHandMeshSpace; + IUnknown *holographicSpace; + IUnknown *coreWindow; }; -struct XrSpatialAnchorCreateInfoMSFT +struct XrSystemProperties { XrStructureType type; - const void *next; - XrSpace space; - XrPosef pose; - XrTime time; + void *next; + XrSystemId systemId; + uint32_t vendorId; + char systemName[XR_MAX_SYSTEM_NAME_SIZE]; + XrSystemGraphicsProperties graphicsProperties; + XrSystemTrackingProperties trackingProperties; }; -struct XrCompositionLayerEquirectKHR +struct XrCompositionLayerEquirect2KHR { XrStructureType type; const void *next; @@ -1746,8 +1908,9 @@ struct XrCompositionLayerEquirectKHR XrSwapchainSubImage subImage; XrPosef pose; float radius; - XrVector2f scale; - XrVector2f bias; + float centralHorizontalAngle; + float upperVerticalAngle; + float lowerVerticalAngle; }; struct XrHandJointLocationsEXT @@ -1759,15 +1922,6 @@ struct XrHandJointLocationsEXT XrHandJointLocationEXT *jointLocations; }; -struct XrSystemHandTrackingMeshPropertiesMSFT -{ - XrStructureType type; - void *next; - XrBool32 supportsHandTrackingMesh; - uint32_t maxHandMeshIndexCount; - uint32_t maxHandMeshVertexCount; -}; - struct XrCompositionLayerQuad { XrStructureType type; @@ -1780,12 +1934,11 @@ struct XrCompositionLayerQuad XrExtent2Df size; }; -struct XrReferenceSpaceCreateInfo +struct XrSessionBeginInfo { XrStructureType type; const void *next; - XrReferenceSpaceType referenceSpaceType; - XrPosef poseInReferenceSpace; + XrViewConfigurationType primaryViewConfigurationType; }; typedef XrResult (XRAPI_PTR *PFN_xrAcquireSwapchainImage)(XrSwapchain, const XrSwapchainImageAcquireInfo *, uint32_t *); @@ -1819,6 +1972,8 @@ typedef XrResult (XRAPI_PTR *PFN_xrEndFrame)(XrSession, const XrFrameEndInfo *); typedef XrResult (XRAPI_PTR *PFN_xrEndSession)(XrSession); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateApiLayerProperties)(uint32_t, uint32_t *, XrApiLayerProperties *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateBoundSourcesForAction)(XrSession, const XrBoundSourcesForActionEnumerateInfo *, uint32_t, uint32_t *, XrPath *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateColorSpacesFB)(XrSession, uint32_t, uint32_t *, XrColorSpaceFB *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateDisplayRefreshRatesFB)(XrSession, uint32_t, uint32_t *, float *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateEnvironmentBlendModes)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrEnvironmentBlendMode *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateInstanceExtensionProperties)(const char *, uint32_t, uint32_t *, XrExtensionProperties *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReferenceSpaces)(XrSession, uint32_t, uint32_t *, XrReferenceSpaceType *); @@ -1830,9 +1985,13 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetActionStateBoolean)(XrSession, const XrAct typedef XrResult (XRAPI_PTR *PFN_xrGetActionStateFloat)(XrSession, const XrActionStateGetInfo *, XrActionStateFloat *); typedef XrResult (XRAPI_PTR *PFN_xrGetActionStatePose)(XrSession, const XrActionStateGetInfo *, XrActionStatePose *); typedef XrResult (XRAPI_PTR *PFN_xrGetActionStateVector2f)(XrSession, const XrActionStateGetInfo *, XrActionStateVector2f *); +typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelKeyMSFT)(XrSession, XrPath, XrControllerModelKeyStateMSFT *); +typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelPropertiesMSFT)(XrSession, XrControllerModelKeyMSFT, XrControllerModelPropertiesMSFT *); +typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelStateMSFT)(XrSession, XrControllerModelKeyMSFT, XrControllerModelStateMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrGetCurrentInteractionProfile)(XrSession, XrPath, XrInteractionProfileState *); typedef XrResult (XRAPI_PTR *PFN_xrGetD3D11GraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsD3D11KHR *); typedef XrResult (XRAPI_PTR *PFN_xrGetD3D12GraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsD3D12KHR *); +typedef XrResult (XRAPI_PTR *PFN_xrGetDisplayRefreshRateFB)(XrSession, float *); typedef XrResult (XRAPI_PTR *PFN_xrGetInputSourceLocalizedName)(XrSession, const XrInputSourceLocalizedNameGetInfo *, uint32_t, uint32_t *, char *); typedef XrResult (XRAPI_PTR *PFN_xrGetInstanceProcAddr)(XrInstance, const char *, PFN_xrVoidFunction *); typedef XrResult (XRAPI_PTR *PFN_xrGetInstanceProperties)(XrInstance, XrInstanceProperties *); @@ -1846,6 +2005,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanDeviceExtensionsKHR)(XrInstance, XrS typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsDeviceKHR)(XrInstance, XrSystemId, VkInstance, VkPhysicalDevice *); typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsVulkanKHR *); typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanInstanceExtensionsKHR)(XrInstance, XrSystemId, uint32_t, uint32_t *, char *); +typedef XrResult (XRAPI_PTR *PFN_xrLoadControllerModelMSFT)(XrSession, XrControllerModelKeyMSFT, uint32_t, uint32_t *, uint8_t *); typedef XrResult (XRAPI_PTR *PFN_xrLocateHandJointsEXT)(XrHandTrackerEXT, const XrHandJointsLocateInfoEXT *, XrHandJointLocationsEXT *); typedef XrResult (XRAPI_PTR *PFN_xrLocateSpace)(XrSpace, XrSpace, XrTime, XrSpaceLocation *); typedef XrResult (XRAPI_PTR *PFN_xrLocateViews)(XrSession, const XrViewLocateInfo *, XrViewState *, uint32_t, uint32_t *, XrView *); @@ -1853,8 +2013,10 @@ typedef XrResult (XRAPI_PTR *PFN_xrPathToString)(XrInstance, XrPath, uint32_t, u typedef XrResult (XRAPI_PTR *PFN_xrPerfSettingsSetPerformanceLevelEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsLevelEXT); typedef XrResult (XRAPI_PTR *PFN_xrPollEvent)(XrInstance, XrEventDataBuffer *); typedef XrResult (XRAPI_PTR *PFN_xrReleaseSwapchainImage)(XrSwapchain, const XrSwapchainImageReleaseInfo *); +typedef XrResult (XRAPI_PTR *PFN_xrRequestDisplayRefreshRateFB)(XrSession, float); typedef XrResult (XRAPI_PTR *PFN_xrRequestExitSession)(XrSession); typedef XrResult (XRAPI_PTR *PFN_xrResultToString)(XrInstance, XrResult, char[]); +typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB); typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceActiveEXT)(XrSession, XrPath, XrPath, XrBool32); typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceLocationEXT)(XrSession, XrPath, XrPath, XrSpace, XrPosef); typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceStateBoolEXT)(XrSession, XrPath, XrPath, XrBool32); @@ -1902,6 +2064,8 @@ XrResult XRAPI_CALL xrEndFrame(XrSession session, const XrFrameEndInfo *frameEnd XrResult XRAPI_CALL xrEndSession(XrSession session); XrResult XRAPI_CALL xrEnumerateApiLayerProperties(uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrApiLayerProperties *properties); XrResult XRAPI_CALL xrEnumerateBoundSourcesForAction(XrSession session, const XrBoundSourcesForActionEnumerateInfo *enumerateInfo, uint32_t sourceCapacityInput, uint32_t *sourceCountOutput, XrPath *sources); +XrResult XRAPI_CALL xrEnumerateColorSpacesFB(XrSession session, uint32_t colorSpaceCapacityInput, uint32_t *colorSpaceCountOutput, XrColorSpaceFB *colorSpaces); +XrResult XRAPI_CALL xrEnumerateDisplayRefreshRatesFB(XrSession session, uint32_t displayRefreshRateCapacityInput, uint32_t *displayRefreshRateCountOutput, float *displayRefreshRates); XrResult XRAPI_CALL xrEnumerateEnvironmentBlendModes(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t environmentBlendModeCapacityInput, uint32_t *environmentBlendModeCountOutput, XrEnvironmentBlendMode *environmentBlendModes); XrResult XRAPI_CALL xrEnumerateInstanceExtensionProperties(const char *layerName, uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrExtensionProperties *properties); XrResult XRAPI_CALL xrEnumerateReferenceSpaces(XrSession session, uint32_t spaceCapacityInput, uint32_t *spaceCountOutput, XrReferenceSpaceType *spaces); @@ -1913,9 +2077,13 @@ XrResult XRAPI_CALL xrGetActionStateBoolean(XrSession session, const XrActionSta XrResult XRAPI_CALL xrGetActionStateFloat(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStateFloat *state); XrResult XRAPI_CALL xrGetActionStatePose(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStatePose *state); XrResult XRAPI_CALL xrGetActionStateVector2f(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStateVector2f *state); +XrResult XRAPI_CALL xrGetControllerModelKeyMSFT(XrSession session, XrPath topLevelUserPath, XrControllerModelKeyStateMSFT *controllerModelKeyState); +XrResult XRAPI_CALL xrGetControllerModelPropertiesMSFT(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelPropertiesMSFT *properties); +XrResult XRAPI_CALL xrGetControllerModelStateMSFT(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelStateMSFT *state); XrResult XRAPI_CALL xrGetCurrentInteractionProfile(XrSession session, XrPath topLevelUserPath, XrInteractionProfileState *interactionProfile); XrResult XRAPI_CALL xrGetD3D11GraphicsRequirementsKHR(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsD3D11KHR *graphicsRequirements); XrResult XRAPI_CALL xrGetD3D12GraphicsRequirementsKHR(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsD3D12KHR *graphicsRequirements); +XrResult XRAPI_CALL xrGetDisplayRefreshRateFB(XrSession session, float *displayRefreshRate); XrResult XRAPI_CALL xrGetInputSourceLocalizedName(XrSession session, const XrInputSourceLocalizedNameGetInfo *getInfo, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); XrResult XRAPI_CALL xrGetInstanceProcAddr(XrInstance instance, const char *name, PFN_xrVoidFunction *function); XrResult XRAPI_CALL xrGetInstanceProperties(XrInstance instance, XrInstanceProperties *instanceProperties); @@ -1929,6 +2097,7 @@ XrResult XRAPI_CALL xrGetVulkanDeviceExtensionsKHR(XrInstance instance, XrSystem XrResult XRAPI_CALL xrGetVulkanGraphicsDeviceKHR(XrInstance instance, XrSystemId systemId, VkInstance vkInstance, VkPhysicalDevice *vkPhysicalDevice); XrResult XRAPI_CALL xrGetVulkanGraphicsRequirementsKHR(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR *graphicsRequirements); XrResult XRAPI_CALL xrGetVulkanInstanceExtensionsKHR(XrInstance instance, XrSystemId systemId, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); +XrResult XRAPI_CALL xrLoadControllerModelMSFT(XrSession session, XrControllerModelKeyMSFT modelKey, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint8_t *buffer); XrResult XRAPI_CALL xrLocateHandJointsEXT(XrHandTrackerEXT handTracker, const XrHandJointsLocateInfoEXT *locateInfo, XrHandJointLocationsEXT *locations); XrResult XRAPI_CALL xrLocateSpace(XrSpace space, XrSpace baseSpace, XrTime time, XrSpaceLocation *location); XrResult XRAPI_CALL xrLocateViews(XrSession session, const XrViewLocateInfo *viewLocateInfo, XrViewState *viewState, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrView *views); @@ -1936,8 +2105,10 @@ XrResult XRAPI_CALL xrPathToString(XrInstance instance, XrPath path, uint32_t bu XrResult XRAPI_CALL xrPerfSettingsSetPerformanceLevelEXT(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level); XrResult XRAPI_CALL xrPollEvent(XrInstance instance, XrEventDataBuffer *eventData); XrResult XRAPI_CALL xrReleaseSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageReleaseInfo *releaseInfo); +XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB(XrSession session, float displayRefreshRate); XrResult XRAPI_CALL xrRequestExitSession(XrSession session); XrResult XRAPI_CALL xrResultToString(XrInstance instance, XrResult value, char buffer[]); +XrResult XRAPI_CALL xrSetColorSpaceFB(XrSession session, const XrColorSpaceFB colorspace); XrResult XRAPI_CALL xrSetInputDeviceActiveEXT(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive); XrResult XRAPI_CALL xrSetInputDeviceLocationEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrSpace space, XrPosef pose); XrResult XRAPI_CALL xrSetInputDeviceStateBoolEXT(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrBool32 state); diff --git a/wineopenxr/xr.xml b/wineopenxr/xr.xml new file mode 100644 index 00000000..6b4b1bd0 --- /dev/null +++ b/wineopenxr/xr.xml @@ -0,0 +1,3684 @@ + + + +Copyright (c) 2017-2020 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 OR MIT + +------------------------------------------------------------------------ + +This file, xr.xml, is the OpenXR API Registry. It is a critically important +and normative part of the OpenXR Specification, including a canonical +machine-readable definition of the API, parameter and member validation +language incorporated into the Specification and reference pages, and other +material which is registered by Khronos, such as tags used by extension and +layer authors. The only authoritative version of xr.xml is the one +maintained in the default branch of the Khronos OpenXR GitHub project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #include "openxr_platform_defines.h" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #define XR_MAKE_VERSION(major, minor, patch) \ + ((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL)) + #define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL) + #define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL) + #define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL) + + + // OpenXR current version number. +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 13) + + + +#if !defined(XR_MAY_ALIAS) +#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4)) +#define XR_MAY_ALIAS __attribute__((__may_alias__)) +#else +#define XR_MAY_ALIAS +#endif +#endif + + +#if !defined(XR_DEFINE_HANDLE) +#if (XR_PTR_SIZE == 8) + #define XR_DEFINE_HANDLE(object) typedef struct object##_T* object; +#else + #define XR_DEFINE_HANDLE(object) typedef uint64_t object; +#endif +#endif + + + +#if !defined(XR_NULL_HANDLE) +#if (XR_PTR_SIZE == 8) && XR_CPP_NULLPTR_SUPPORTED + #define XR_NULL_HANDLE nullptr +#else + #define XR_NULL_HANDLE 0 +#endif +#endif + + + +#if !defined(XR_DEFINE_ATOM) + #define XR_DEFINE_ATOM(object) typedef uint64_t object; +#endif + + + +#define XR_NULL_PATH 0 + + +#define XR_NULL_SYSTEM_ID 0 + + +#define XR_SUCCEEDED(result) ((result) >= 0) + + +#define XR_UNQUALIFIED_SUCCESS(result) ((result) == 0) + + +#define XR_FAILED(result) ((result) < 0) + + +#define XR_NO_DURATION 0 + + +#define XR_INFINITE_DURATION 0x7fffffffffffffffLL + + +#define XR_MIN_HAPTIC_DURATION -1 + + +#define XR_FREQUENCY_UNSPECIFIED 0 + + +#define XR_MAX_EVENT_DATA_SIZE sizeof(XrEventDataBuffer) + + + +#define XR_HAND_JOINT_COUNT_EXT 26 + + + +#define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0 + + + typedef uint32_t XrBool32; + typedef uint64_t XrFlags64; + typedef int64_t XrTime; + typedef int64_t XrDuration; + typedef uint64_t XrVersion; + + + XR_DEFINE_ATOM(XrPath) + XR_DEFINE_ATOM(XrSystemId) + + XR_DEFINE_ATOM(XrControllerModelKeyMSFT) + + + + + + + + + + + + + + + + typedef XrFlags64 XrInstanceCreateFlags; + typedef XrFlags64 XrSessionCreateFlags; + typedef XrFlags64 XrSwapchainCreateFlags; + typedef XrFlags64 XrSwapchainUsageFlags; + typedef XrFlags64 XrViewStateFlags; + typedef XrFlags64 XrCompositionLayerFlags; + typedef XrFlags64 XrSpaceLocationFlags; + typedef XrFlags64 XrSpaceVelocityFlags; + typedef XrFlags64 XrInputSourceLocalizedNameFlags; + + + typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR; + typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR; + + + typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT; + typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT; + + + typedef XrFlags64 XrOverlayMainSessionFlagsEXTX; + typedef XrFlags64 XrOverlaySessionCreateFlagsEXTX; + + + + XR_DEFINE_HANDLE(XrInstance) + XR_DEFINE_HANDLE(XrSession) + XR_DEFINE_HANDLE(XrActionSet) + XR_DEFINE_HANDLE(XrAction) + XR_DEFINE_HANDLE(XrSwapchain) + XR_DEFINE_HANDLE(XrSpace) + XR_DEFINE_HANDLE(XrDebugUtilsMessengerEXT) + XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) + + XR_DEFINE_HANDLE(XrHandTrackerEXT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + float x + float y + + + float x + float y + float z + + + float x + float y + float z + float w + + + float r + float g + float b + float a + + + float x + float y + float z + float w + + + XrQuaternionf orientation + XrVector3f position + + + float x + float y + + + float width + float height + + + XrOffset2Df offset + XrExtent2Df extent + + + int32_t x + int32_t y + + + int32_t width + int32_t height + + + XrOffset2Di offset + XrExtent2Di extent + + + + XrBaseInStructure and XrBaseOutStructure use "struct" in their member definitions + because they are recursive structures and this is easier than modifying the tooling + to output forward declarations. + + + XrStructureType type + const struct XrBaseInStructure* next + + + XrStructureType type + struct XrBaseOutStructure* next + + + XrStructureType type + void* next + char layerName[XR_MAX_API_LAYER_NAME_SIZE] + XrVersion specVersion + uint32_t layerVersion + char description[XR_MAX_API_LAYER_DESCRIPTION_SIZE] + + + XrStructureType type + void* next + char extensionName[XR_MAX_EXTENSION_NAME_SIZE] + uint32_t extensionVersion + + + char applicationName[XR_MAX_APPLICATION_NAME_SIZE] + uint32_t applicationVersion + char engineName[XR_MAX_ENGINE_NAME_SIZE] + uint32_t engineVersion + XrVersion apiVersion + + + XrStructureType type + const void* next + XrInstanceCreateFlags createFlags + XrApplicationInfo applicationInfo + uint32_t enabledApiLayerCount + const char* const* enabledApiLayerNames + uint32_t enabledExtensionCount + const char* const* enabledExtensionNames + + + XrStructureType type + void* next + XrVersion runtimeVersion + char runtimeName[XR_MAX_RUNTIME_NAME_SIZE] + + + XrStructureType type + const void* next + XrFormFactor formFactor + + + XrStructureType type + void* next + XrSystemId systemId + uint32_t vendorId + char systemName[XR_MAX_SYSTEM_NAME_SIZE] + XrSystemGraphicsProperties graphicsProperties + XrSystemTrackingProperties trackingProperties + + + uint32_t maxSwapchainImageHeight + uint32_t maxSwapchainImageWidth + uint32_t maxLayerCount + + + XrBool32 orientationTracking + XrBool32 positionTracking + + + XrStructureType type + const void* next + HDC hDC + HGLRC hGLRC + + + XrStructureType type + const void* next + Display* xDisplay + uint32_t visualid + GLXFBConfig glxFBConfig + GLXDrawable glxDrawable + GLXContext glxContext + + + XrStructureType type + const void* next + xcb_connection_t* connection + uint32_t screenNumber + xcb_glx_fbconfig_t fbconfigid + xcb_visualid_t visualid + xcb_glx_drawable_t glxDrawable + xcb_glx_context_t glxContext + + + XrStructureType type + const void* next + struct wl_display* display + + + XrStructureType type + const void* next + ID3D11Device* device + + + XrStructureType type + const void* next + ID3D12Device* device + ID3D12CommandQueue* queue + + + XrStructureType type + const void* next + EGLDisplay display + EGLConfig config + EGLContext context + + + XrStructureType type + const void* next + VkInstance instance + VkPhysicalDevice physicalDevice + VkDevice device + uint32_t queueFamilyIndex + uint32_t queueIndex + + + XrStructureType type + const void* next + XrSessionCreateFlags createFlags + XrSystemId systemId + + + XrStructureType type + const void* next + XrViewConfigurationType primaryViewConfigurationType + + + XrStructureType type + const void* next + XrSwapchainCreateFlags createFlags + XrSwapchainUsageFlags usageFlags + int64_t format + uint32_t sampleCount + uint32_t width + uint32_t height + uint32_t faceCount + uint32_t arraySize + uint32_t mipCount + + + XrStructureType type + void* next + + + XrStructureType type + void* next + uint32_t image + + + XrStructureType type + void* next + uint32_t image + + + XrStructureType type + void* next + VkImage image + + + XrStructureType type + void* next + ID3D11Texture2D* texture + + + XrStructureType type + void* next + ID3D12Resource* texture + + + XrStructureType type + const void* next + + + XrStructureType type + const void* next + XrDuration timeout + + + XrStructureType type + const void* next + + + XrStructureType type + const void* next + XrReferenceSpaceType referenceSpaceType + XrPosef poseInReferenceSpace + + + XrStructureType type + const void* next + XrAction action + XrPath subactionPath + XrPosef poseInActionSpace + + + XrStructureType type + void* next + XrSpaceLocationFlags locationFlags + XrPosef pose + + + XrStructureType type + void* next + XrSpaceVelocityFlags velocityFlags + XrVector3f linearVelocity + XrVector3f angularVelocity + + + float angleLeft + float angleRight + float angleUp + float angleDown + + + XrStructureType type + void* next + XrPosef pose + XrFovf fov + + + XrStructureType type + const void* next + XrViewConfigurationType viewConfigurationType + XrTime displayTime + XrSpace space + + + XrStructureType type + void* next + XrViewStateFlags viewStateFlags + + + XrStructureType type + void* next + uint32_t recommendedImageRectWidth + uint32_t maxImageRectWidth + uint32_t recommendedImageRectHeight + uint32_t maxImageRectHeight + uint32_t recommendedSwapchainSampleCount + uint32_t maxSwapchainSampleCount + + + XrSwapchain swapchain + XrRect2Di imageRect + uint32_t imageArrayIndex + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + + + XrStructureType type + const void* next + XrPosef pose + XrFovf fov + XrSwapchainSubImage subImage + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + uint32_t viewCount + const XrCompositionLayerProjectionView* views + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + XrEyeVisibility eyeVisibility + XrSwapchainSubImage subImage + XrPosef pose + XrExtent2Df size + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + XrEyeVisibility eyeVisibility + XrSwapchainSubImage subImage + XrPosef pose + float radius + float centralAngle + float aspectRatio + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + XrEyeVisibility eyeVisibility + XrSwapchain swapchain + uint32_t imageArrayIndex + XrQuaternionf orientation + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + XrEyeVisibility eyeVisibility + XrSwapchainSubImage subImage + XrPosef pose + float radius + XrVector2f scale + XrVector2f bias + + + XrStructureType type + const void* next + XrSwapchainSubImage subImage + float minDepth + float maxDepth + float nearZ + float farZ + + + XrStructureType type + const void* next + + + + XrStructureType type + const void* next + XrTime displayTime + XrEnvironmentBlendMode environmentBlendMode + uint32_t layerCount + const XrCompositionLayerBaseHeader* const* layers + + + XrStructureType type + const void* next + + + XrStructureType type + void* next + XrTime predictedDisplayTime + XrDuration predictedDisplayPeriod + XrBool32 shouldRender + + + XrStructureType type + const void* next + + + XrStructureType type + const void* next + XrDuration duration + float frequency + float amplitude + + + XrStructureType type + const void* next + + + XrStructureType type + const void* next + uint8_t varying[4000] + + + XrStructureType type + const void* next + uint32_t lostEventCount + + + XrStructureType type + const void* next + XrTime lossTime + + + XrStructureType type + const void* next + XrSession session + XrSessionState state + XrTime time + + + XrStructureType type + const void* next + XrSession session + XrReferenceSpaceType referenceSpaceType + XrTime changeTime + XrBool32 poseValid + XrPosef poseInPreviousSpace + + + XrStructureType type + const void* next + XrPerfSettingsDomainEXT domain + XrPerfSettingsSubDomainEXT subDomain + XrPerfSettingsNotificationLevelEXT fromLevel + XrPerfSettingsNotificationLevelEXT toLevel + + + XrStructureType type + const void* next + XrSession session + XrViewConfigurationType viewConfigurationType + uint32_t viewIndex + + + XrStructureType type + void* next + XrViewConfigurationType viewConfigurationType + XrBool32 fovMutable + + + XrStructureType type + void* next + XrBool32 currentState + XrBool32 changedSinceLastSync + XrTime lastChangeTime + XrBool32 isActive + + + XrStructureType type + void* next + float currentState + XrBool32 changedSinceLastSync + XrTime lastChangeTime + XrBool32 isActive + + + + XrStructureType type + void* next + XrVector2f currentState + XrBool32 changedSinceLastSync + XrTime lastChangeTime + XrBool32 isActive + + + + XrStructureType type + void* next + XrBool32 isActive + + + + XrStructureType type + const void* next + XrAction action + XrPath subactionPath + + + + XrStructureType type + const void* next + XrAction action + XrPath subactionPath + + + + XrStructureType type + const void* next + char actionSetName[XR_MAX_ACTION_SET_NAME_SIZE] + char localizedActionSetName[XR_MAX_LOCALIZED_ACTION_SET_NAME_SIZE] + uint32_t priority + + + + XrAction action + XrPath binding + + + + XrStructureType type + const void* next + XrPath interactionProfile + uint32_t countSuggestedBindings + const XrActionSuggestedBinding* suggestedBindings + + + + XrActionSet actionSet + XrPath subactionPath + + + + XrStructureType type + const void* next + uint32_t countActionSets + const XrActionSet* actionSets + + + + XrStructureType type + const void* next + uint32_t countActiveActionSets + const XrActiveActionSet* activeActionSets + + + + XrStructureType type + const void* next + XrAction action + + + + XrStructureType type + const void* next + XrPath sourcePath + XrInputSourceLocalizedNameFlags whichComponents + + + + XrStructureType type + const void* next + XrSession session + + + + XrStructureType type + void* next + XrPath interactionProfile + + + + XrStructureType type + const void* next + char actionName[XR_MAX_ACTION_NAME_SIZE] + XrActionType actionType + uint32_t countSubactionPaths + const XrPath* subactionPaths + char localizedActionName[XR_MAX_LOCALIZED_ACTION_NAME_SIZE] + + + XrStructureType type + const void* next + void* applicationVM + void* applicationActivity + + + XrStructureType type + const void* next + uint32_t viewFormatCount + const VkFormat* viewFormats + + + XrStructureType type + const void* next + XrObjectType objectType + uint64_t objectHandle + const char* objectName + + + XrStructureType type + const void* next + const char* labelName + + + XrStructureType type + const void* next + const char* messageId + const char* functionName + const char* message + uint32_t objectCount + XrDebugUtilsObjectNameInfoEXT* objects + uint32_t sessionLabelCount + XrDebugUtilsLabelEXT* sessionLabels + + + XrStructureType type + const void* next + XrDebugUtilsMessageSeverityFlagsEXT messageSeverities + XrDebugUtilsMessageTypeFlagsEXT messageTypes + PFN_xrDebugUtilsMessengerCallbackEXT userCallback + void* userData + + + + + XrStructureType type + void* next + uint32_t vertexCapacityInput + uint32_t vertexCountOutput + XrVector2f* vertices + uint32_t indexCapacityInput + uint32_t indexCountOutput + uint32_t* indices + + + + XrStructureType type + void* next + XrVersion minApiVersionSupported + XrVersion maxApiVersionSupported + + + XrStructureType type + void* next + XrVersion minApiVersionSupported + XrVersion maxApiVersionSupported + + + XrStructureType type + void* next + XrVersion minApiVersionSupported + XrVersion maxApiVersionSupported + + + XrStructureType type + void* next + LUID adapterLuid + D3D_FEATURE_LEVEL minFeatureLevel + + + XrStructureType type + void* next + LUID adapterLuid + D3D_FEATURE_LEVEL minFeatureLevel + + + + + XrStructureType type + const void* next + XrSystemId systemId + XrVulkanInstanceCreateFlagsKHR createFlags + PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr + const VkInstanceCreateInfo* vulkanCreateInfo + const VkAllocationCallbacks* vulkanAllocator + + + XrStructureType type + const void* next + XrSystemId systemId + XrVulkanDeviceCreateFlagsKHR createFlags + PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr + VkPhysicalDevice vulkanPhysicalDevice + const VkDeviceCreateInfo* vulkanCreateInfo + const VkAllocationCallbacks* vulkanAllocator + + + + XrStructureType type + const void* next + XrSystemId systemId + VkInstance vulkanInstance + + + + + + + XrStructureType type + const void* next + XrOverlaySessionCreateFlagsEXTX createFlags + uint32_t sessionLayersPlacement + + + XrStructureType type + const void* next + XrBool32 visible + XrOverlayMainSessionFlagsEXTX flags + + + + + XrStructureType type + const void* next + float fromDisplayRefreshRate + float toDisplayRefreshRate + + + + + XrStructureType type + void* next + float recommendedNearZ + float minNearZ + float recommendedFarZ + float maxFarZ + + + + + XrStructureType type + const void* next + XrFovf recommendedFov + XrFovf maxMutableFov + + + + + XrStructureType type + const void* next + XrAction action + XrPath binding + float onThreshold + float offThreshold + const XrHapticBaseHeader* onHaptic + const XrHapticBaseHeader* offHaptic + + + + + XrStructureType type + const void* next + uint32_t bindingModificationCount + const XrBindingModificationBaseHeaderKHR* const* bindingModifications + + + + XrStructureType type + const void* next + + + + typedef void (XRAPI_PTR *PFN_xrVoidFunction)(void); + + + typedef XrBool32 (XRAPI_PTR *PFN_xrDebugUtilsMessengerCallbackEXT)( + XrDebugUtilsMessageSeverityFlagsEXT messageSeverity, + XrDebugUtilsMessageTypeFlagsEXT messageTypes, + const XrDebugUtilsMessengerCallbackDataEXT* callbackData, + void* userData); + + + + + XrStructureType type + void* next + XrBool32 supportsEyeGazeInteraction + + + + XrStructureType type + void* next + XrTime time + + + + + XrStructureType type + const void* next + XrSpace space + XrPosef pose + XrTime time + + + XrStructureType type + const void* next + XrSpatialAnchorMSFT anchor + XrPosef poseInAnchorSpace + + + + + XrStructureType type + const void* next + PFNEGLGETPROCADDRESSPROC getProcAddress + EGLDisplay display + EGLConfig config + EGLContext context + + + + + XrStructureType type + const void* next + XrSpatialGraphNodeTypeMSFT nodeType + uint8_t nodeId[16] + XrPosef pose + + + + + + + + + XrStructureType type + void* next + XrBool32 supportsHandTracking + + + XrStructureType type + const void* next + XrHandEXT hand + XrHandJointSetEXT handJointSet + + + XrStructureType type + const void* next + XrSpace baseSpace + XrTime time + + + XrSpaceLocationFlags locationFlags + XrPosef pose + float radius + + + XrSpaceVelocityFlags velocityFlags + XrVector3f linearVelocity + XrVector3f angularVelocity + + + XrStructureType type + void* next + XrBool32 isActive + uint32_t jointCount + XrHandJointLocationEXT* jointLocations + + + XrStructureType type + void* next + uint32_t jointCount + XrHandJointVelocityEXT* jointVelocities + + + + + + XrStructureType type + const void* next + XrHandPoseTypeMSFT handPoseType + XrPosef poseInHandMeshSpace + + + XrStructureType type + const void* next + XrTime time + XrHandPoseTypeMSFT handPoseType + + + XrStructureType type + void* next + XrBool32 isActive + XrBool32 indexBufferChanged + XrBool32 vertexBufferChanged + XrHandMeshIndexBufferMSFT indexBuffer + XrHandMeshVertexBufferMSFT vertexBuffer + + + uint32_t indexBufferKey + uint32_t indexCapacityInput + uint32_t indexCountOutput + uint32_t* indices + + + XrTime vertexUpdateTime + uint32_t vertexCapacityInput + uint32_t vertexCountOutput + XrHandMeshVertexMSFT* vertices + + + XrVector3f position + XrVector3f normal + + + XrStructureType type + void* next + XrBool32 supportsHandTrackingMesh + uint32_t maxHandMeshIndexCount + uint32_t maxHandMeshVertexCount + + + XrStructureType type + const void* next + XrHandPoseTypeMSFT handPoseType + + + + + XrStructureType type + const void* next + uint32_t viewConfigurationCount + const XrViewConfigurationType* enabledViewConfigurationTypes + + + XrStructureType type + void* next + XrViewConfigurationType viewConfigurationType + XrBool32 active + + + XrStructureType type + void* next + uint32_t viewConfigurationCount + XrSecondaryViewConfigurationStateMSFT* viewConfigurationStates + + + XrStructureType type + const void* next + uint32_t viewConfigurationCount + const XrSecondaryViewConfigurationLayerInfoMSFT* viewConfigurationLayersInfo + + + XrStructureType type + const void* next + XrViewConfigurationType viewConfigurationType + XrEnvironmentBlendMode environmentBlendMode + uint32_t layerCount + const XrCompositionLayerBaseHeader* const* layers + + + XrStructureType type + const void* next + XrViewConfigurationType viewConfigurationType + + + + + XrStructureType type + const void* next + IUnknown* holographicSpace + IUnknown* coreWindow + + + + + XrStructureType type + const void* next + + + + + XrStructureType type + const void* next + void* applicationVM + void* applicationContext + + + + + XrStructureType type + const void* next + XrCompositionLayerFlags layerFlags + XrSpace space + XrEyeVisibility eyeVisibility + XrSwapchainSubImage subImage + XrPosef pose + float radius + float centralHorizontalAngle + float upperVerticalAngle + float lowerVerticalAngle + + + + + XrStructureType type + const void* next + XrColor4f colorScale + XrColor4f colorBias + + + + + XrStructureType type + void* next + XrControllerModelKeyMSFT modelKey + + + XrStructureType type + void* next + char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT] + char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT] + + + XrStructureType type + void* next + uint32_t nodeCapacityInput + uint32_t nodeCountOutput + XrControllerModelNodePropertiesMSFT* nodeProperties + + + XrStructureType type + void* next + XrPosef nodePose + + + XrStructureType type + void* next + uint32_t nodeCapacityInput + uint32_t nodeCountOutput + XrControllerModelNodeStateMSFT* nodeStates + + + + + + XrStructureType type + void* next + XrColorSpaceFB colorSpace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XrResult xrGetInstanceProcAddr + XrInstance instance + const char* name + PFN_xrVoidFunction* function + + + XrResult xrEnumerateApiLayerProperties + uint32_t propertyCapacityInput + uint32_t* propertyCountOutput + XrApiLayerProperties* properties + + + XrResult xrEnumerateInstanceExtensionProperties + const char* layerName + uint32_t propertyCapacityInput + uint32_t* propertyCountOutput + XrExtensionProperties* properties + + + XrResult xrCreateInstance + const XrInstanceCreateInfo* createInfo + XrInstance* instance + + + XrResult xrDestroyInstance + XrInstance instance + + + XrResult xrResultToString + XrInstance instance + XrResult value + char buffer[XR_MAX_RESULT_STRING_SIZE] + + + XrResult xrStructureTypeToString + XrInstance instance + XrStructureType value + char buffer[XR_MAX_STRUCTURE_NAME_SIZE] + + + XrResult xrGetInstanceProperties + XrInstance instance + XrInstanceProperties* instanceProperties + + + XrResult xrGetSystem + XrInstance instance + const XrSystemGetInfo* getInfo + XrSystemId* systemId + + + XrResult xrGetSystemProperties + XrInstance instance + XrSystemId systemId + XrSystemProperties* properties + + + XrResult xrCreateSession + XrInstance instance + const XrSessionCreateInfo* createInfo + XrSession* session + + + XrResult xrDestroySession + XrSession session + + + XrResult xrDestroySpace + XrSpace space + + + XrResult xrEnumerateSwapchainFormats + XrSession session + uint32_t formatCapacityInput + uint32_t* formatCountOutput + int64_t* formats + + + XrResult xrCreateSwapchain + XrSession session + const XrSwapchainCreateInfo* createInfo + XrSwapchain* swapchain + + + XrResult xrDestroySwapchain + XrSwapchain swapchain + + + XrResult xrEnumerateSwapchainImages + XrSwapchain swapchain + uint32_t imageCapacityInput + uint32_t* imageCountOutput + XrSwapchainImageBaseHeader* images + + + XrResult xrAcquireSwapchainImage + XrSwapchain swapchain + const XrSwapchainImageAcquireInfo* acquireInfo + uint32_t* index + + + XrResult xrWaitSwapchainImage + XrSwapchain swapchain + const XrSwapchainImageWaitInfo* waitInfo + + + XrResult xrReleaseSwapchainImage + XrSwapchain swapchain + const XrSwapchainImageReleaseInfo* releaseInfo + + + XrResult xrBeginSession + XrSession session + const XrSessionBeginInfo* beginInfo + + + XrResult xrEndSession + XrSession session + + + XrResult xrRequestExitSession + XrSession session + + + XrResult xrEnumerateReferenceSpaces + XrSession session + uint32_t spaceCapacityInput + uint32_t* spaceCountOutput + XrReferenceSpaceType* spaces + + + XrResult xrCreateReferenceSpace + XrSession session + const XrReferenceSpaceCreateInfo* createInfo + XrSpace* space + + + XrResult xrCreateActionSpace + XrSession session + const XrActionSpaceCreateInfo* createInfo + XrSpace* space + + + XrResult xrLocateSpace + XrSpace space + XrSpace baseSpace + XrTime time + XrSpaceLocation* location + + + XrResult xrEnumerateViewConfigurations + XrInstance instance + XrSystemId systemId + uint32_t viewConfigurationTypeCapacityInput + uint32_t* viewConfigurationTypeCountOutput + XrViewConfigurationType* viewConfigurationTypes + + + XrResult xrEnumerateEnvironmentBlendModes + XrInstance instance + XrSystemId systemId + XrViewConfigurationType viewConfigurationType + uint32_t environmentBlendModeCapacityInput + uint32_t* environmentBlendModeCountOutput + XrEnvironmentBlendMode* environmentBlendModes + + + XrResult xrGetViewConfigurationProperties + XrInstance instance + XrSystemId systemId + XrViewConfigurationType viewConfigurationType + XrViewConfigurationProperties* configurationProperties + + + XrResult xrEnumerateViewConfigurationViews + XrInstance instance + XrSystemId systemId + XrViewConfigurationType viewConfigurationType + uint32_t viewCapacityInput + uint32_t* viewCountOutput + XrViewConfigurationView* views + + + XrResult xrBeginFrame + XrSession session + const XrFrameBeginInfo* frameBeginInfo + + + XrResult xrLocateViews + XrSession session + const XrViewLocateInfo* viewLocateInfo + XrViewState* viewState + uint32_t viewCapacityInput + uint32_t* viewCountOutput + XrView* views + + + XrResult xrEndFrame + XrSession session + const XrFrameEndInfo* frameEndInfo + + + XrResult xrWaitFrame + XrSession session + const XrFrameWaitInfo* frameWaitInfo + XrFrameState* frameState + + the pname:session parameter by any other flink:xrWaitFrame call + + + + XrResult xrApplyHapticFeedback + XrSession session + const XrHapticActionInfo* hapticActionInfo + const XrHapticBaseHeader* hapticFeedback + + + XrResult xrStopHapticFeedback + XrSession session + const XrHapticActionInfo* hapticActionInfo + + + XrResult xrPollEvent + XrInstance instance + XrEventDataBuffer* eventData + + + XrResult xrStringToPath + XrInstance instance + const char* pathString + XrPath* path + + + XrResult xrPathToString + XrInstance instance + XrPath path + uint32_t bufferCapacityInput + uint32_t* bufferCountOutput + char* buffer + + + XrResult xrGetReferenceSpaceBoundsRect + XrSession session + XrReferenceSpaceType referenceSpaceType + XrExtent2Df* bounds + + + XrResult xrSetAndroidApplicationThreadKHR + XrSession session + XrAndroidThreadTypeKHR threadType + uint32_t threadId + + + XrResult xrCreateSwapchainAndroidSurfaceKHR + XrSession session + const XrSwapchainCreateInfo* info + XrSwapchain* swapchain + jobject* surface + + + XrResult xrGetActionStateBoolean + XrSession session + const XrActionStateGetInfo* getInfo + XrActionStateBoolean* state + + + XrResult xrGetActionStateFloat + XrSession session + const XrActionStateGetInfo* getInfo + XrActionStateFloat* state + + + XrResult xrGetActionStateVector2f + XrSession session + const XrActionStateGetInfo* getInfo + XrActionStateVector2f* state + + + XrResult xrGetActionStatePose + XrSession session + const XrActionStateGetInfo* getInfo + XrActionStatePose* state + + + XrResult xrCreateActionSet + XrInstance instance + const XrActionSetCreateInfo* createInfo + XrActionSet* actionSet + + + XrResult xrDestroyActionSet + XrActionSet actionSet + + + XrResult xrCreateAction + XrActionSet actionSet + const XrActionCreateInfo* createInfo + XrAction* action + + + XrResult xrDestroyAction + XrAction action + + + XrResult xrSuggestInteractionProfileBindings + XrInstance instance + const XrInteractionProfileSuggestedBinding* suggestedBindings + + + XrResult xrAttachSessionActionSets + XrSession session + const XrSessionActionSetsAttachInfo* attachInfo + + + XrResult xrGetCurrentInteractionProfile + XrSession session + XrPath topLevelUserPath + XrInteractionProfileState* interactionProfile + + + XrResult xrSyncActions + XrSession session + const XrActionsSyncInfo* syncInfo + + + XrResult xrEnumerateBoundSourcesForAction + XrSession session + const XrBoundSourcesForActionEnumerateInfo* enumerateInfo + uint32_t sourceCapacityInput + uint32_t* sourceCountOutput + XrPath* sources + + + XrResult xrGetInputSourceLocalizedName + XrSession session + const XrInputSourceLocalizedNameGetInfo* getInfo + uint32_t bufferCapacityInput + uint32_t* bufferCountOutput + char* buffer + + + XrResult xrGetVulkanInstanceExtensionsKHR + XrInstance instance + XrSystemId systemId + uint32_t bufferCapacityInput + uint32_t* bufferCountOutput + char* buffer + + + XrResult xrGetVulkanDeviceExtensionsKHR + XrInstance instance + XrSystemId systemId + uint32_t bufferCapacityInput + uint32_t* bufferCountOutput + char* buffer + + + XrResult xrGetVulkanGraphicsDeviceKHR + XrInstance instance + XrSystemId systemId + VkInstance vkInstance + VkPhysicalDevice* vkPhysicalDevice + + + XrResult xrGetOpenGLGraphicsRequirementsKHR + XrInstance instance + XrSystemId systemId + XrGraphicsRequirementsOpenGLKHR* graphicsRequirements + + + XrResult xrGetOpenGLESGraphicsRequirementsKHR + XrInstance instance + XrSystemId systemId + XrGraphicsRequirementsOpenGLESKHR* graphicsRequirements + + + XrResult xrGetVulkanGraphicsRequirementsKHR + XrInstance instance + XrSystemId systemId + XrGraphicsRequirementsVulkanKHR* graphicsRequirements + + + XrResult xrGetD3D11GraphicsRequirementsKHR + XrInstance instance + XrSystemId systemId + XrGraphicsRequirementsD3D11KHR* graphicsRequirements + + + XrResult xrGetD3D12GraphicsRequirementsKHR + XrInstance instance + XrSystemId systemId + XrGraphicsRequirementsD3D12KHR* graphicsRequirements + + + XrResult xrPerfSettingsSetPerformanceLevelEXT + XrSession session + XrPerfSettingsDomainEXT domain + XrPerfSettingsLevelEXT level + + + XrResult xrThermalGetTemperatureTrendEXT + XrSession session + XrPerfSettingsDomainEXT domain + XrPerfSettingsNotificationLevelEXT* notificationLevel + float* tempHeadroom + float* tempSlope + + + XrResult xrSetDebugUtilsObjectNameEXT + XrInstance instance + const XrDebugUtilsObjectNameInfoEXT* nameInfo + + + XrResult xrCreateDebugUtilsMessengerEXT + XrInstance instance + const XrDebugUtilsMessengerCreateInfoEXT* createInfo + XrDebugUtilsMessengerEXT* messenger + + + XrResult xrDestroyDebugUtilsMessengerEXT + XrDebugUtilsMessengerEXT messenger + + the slink:XrInstance used to create pname:messenger, and all of its child handles + + + + XrResult xrSubmitDebugUtilsMessageEXT + XrInstance instance + XrDebugUtilsMessageSeverityFlagsEXT messageSeverity + XrDebugUtilsMessageTypeFlagsEXT messageTypes + const XrDebugUtilsMessengerCallbackDataEXT* callbackData + + + XrResult xrSessionBeginDebugUtilsLabelRegionEXT + XrSession session + const XrDebugUtilsLabelEXT* labelInfo + + + XrResult xrSessionEndDebugUtilsLabelRegionEXT + XrSession session + + + XrResult xrSessionInsertDebugUtilsLabelEXT + XrSession session + const XrDebugUtilsLabelEXT* labelInfo + + + + + XrResult xrConvertTimeToWin32PerformanceCounterKHR + XrInstance instance + XrTime time + LARGE_INTEGER* performanceCounter + + + XrResult xrConvertWin32PerformanceCounterToTimeKHR + XrInstance instance + const LARGE_INTEGER* performanceCounter + XrTime* time + + + + + XrResult xrCreateVulkanInstanceKHR + XrInstance instance + const XrVulkanInstanceCreateInfoKHR*createInfo + VkInstance* vulkanInstance + VkResult* vulkanResult + + + XrResult xrCreateVulkanDeviceKHR + XrInstance instance + const XrVulkanDeviceCreateInfoKHR* createInfo + VkDevice* vulkanDevice + VkResult* vulkanResult + + + XrResult xrGetVulkanGraphicsDevice2KHR + XrInstance instance + const XrVulkanGraphicsDeviceGetInfoKHR* getInfo + VkPhysicalDevice* vulkanPhysicalDevice + + + + + + XrResult xrConvertTimeToTimespecTimeKHR + XrInstance instance + XrTime time + struct timespec* timespecTime + + + XrResult xrConvertTimespecTimeToTimeKHR + XrInstance instance + const struct timespec* timespecTime + XrTime* time + + + + + XrResult xrGetVisibilityMaskKHR + XrSession session + XrViewConfigurationType viewConfigurationType + uint32_t viewIndex + XrVisibilityMaskTypeKHR visibilityMaskType + XrVisibilityMaskKHR* visibilityMask + + + + + XrResult xrCreateSpatialAnchorMSFT + XrSession session + const XrSpatialAnchorCreateInfoMSFT* createInfo + XrSpatialAnchorMSFT* anchor + + + XrResult xrCreateSpatialAnchorSpaceMSFT + XrSession session + const XrSpatialAnchorSpaceCreateInfoMSFT* createInfo + XrSpace* space + + + XrResult xrDestroySpatialAnchorMSFT + XrSpatialAnchorMSFT anchor + + + + + XrResult xrSetInputDeviceActiveEXT + XrSession session + XrPath interactionProfile + XrPath topLevelPath + XrBool32 isActive + + + XrResult xrSetInputDeviceStateBoolEXT + XrSession session + XrPath topLevelPath + XrPath inputSourcePath + XrBool32 state + + + XrResult xrSetInputDeviceStateFloatEXT + XrSession session + XrPath topLevelPath + XrPath inputSourcePath + float state + + + XrResult xrSetInputDeviceStateVector2fEXT + XrSession session + XrPath topLevelPath + XrPath inputSourcePath + XrVector2f state + + + XrResult xrSetInputDeviceLocationEXT + XrSession session + XrPath topLevelPath + XrPath inputSourcePath + XrSpace space + XrPosef pose + + + + + XrResult xrInitializeLoaderKHR + const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo + + + + + XrResult xrCreateSpatialGraphNodeSpaceMSFT + XrSession session + const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo + XrSpace* space + + + + + XrResult xrCreateHandTrackerEXT + XrSession session + const XrHandTrackerCreateInfoEXT* createInfo + XrHandTrackerEXT* handTracker + + + XrResult xrDestroyHandTrackerEXT + XrHandTrackerEXT handTracker + + + XrResult xrLocateHandJointsEXT + XrHandTrackerEXT handTracker + const XrHandJointsLocateInfoEXT* locateInfo + XrHandJointLocationsEXT* locations + + + + + XrResult xrCreateHandMeshSpaceMSFT + XrHandTrackerEXT handTracker + const XrHandMeshSpaceCreateInfoMSFT* createInfo + XrSpace* space + + + XrResult xrUpdateHandMeshMSFT + XrHandTrackerEXT handTracker + const XrHandMeshUpdateInfoMSFT* updateInfo + XrHandMeshMSFT* handMesh + + + + + XrResult xrGetControllerModelKeyMSFT + XrSession session + XrPath topLevelUserPath + XrControllerModelKeyStateMSFT* controllerModelKeyState + + + XrResult xrLoadControllerModelMSFT + XrSession session + XrControllerModelKeyMSFT modelKey + uint32_t bufferCapacityInput + uint32_t* bufferCountOutput + uint8_t* buffer + + + XrResult xrGetControllerModelPropertiesMSFT + XrSession session + XrControllerModelKeyMSFT modelKey + XrControllerModelPropertiesMSFT* properties + + + XrResult xrGetControllerModelStateMSFT + XrSession session + XrControllerModelKeyMSFT modelKey + XrControllerModelStateMSFT* state + + + + + XrResult xrEnumerateDisplayRefreshRatesFB + XrSession session + uint32_t displayRefreshRateCapacityInput + uint32_t* displayRefreshRateCountOutput + float* displayRefreshRates + + + XrResult xrGetDisplayRefreshRateFB + XrSession session + float* displayRefreshRate + + + XrResult xrRequestDisplayRefreshRateFB + XrSession session + float displayRefreshRate + + + + + XrResult xrCreateSpatialAnchorFromPerceptionAnchorMSFT + XrSession session + IUnknown* perceptionAnchor + XrSpatialAnchorMSFT* anchor + + + XrResult xrTryGetPerceptionAnchorFromSpatialAnchorMSFT + XrSession session + XrSpatialAnchorMSFT anchor + IUnknown** perceptionAnchor + + + + + XrResult xrEnumerateColorSpacesFB + XrSession session + uint32_t colorSpaceCapacityInput + uint32_t* colorSpaceCountOutput + XrColorSpaceFB* colorSpaces + + + XrResult xrSetColorSpaceFB + XrSession session + const XrColorSpaceFB colorspace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +