diff --git a/wineopenxr/make_openxr b/wineopenxr/make_openxr
index ff7bd67b..6f73ce1a 100755
--- a/wineopenxr/make_openxr
+++ b/wineopenxr/make_openxr
@@ -178,6 +178,11 @@ FUNCTION_OVERRIDES = {
"xrCreateSwapchain" : {"dispatch" : True, "driver" : True, "thunk" : False},
"xrDestroySwapchain" : {"dispatch" : True, "driver" : True, "thunk" : False},
"xrEndFrame" : {"dispatch" : True, "driver" : True, "thunk" : False},
+
+ "xrCreateSceneObserverMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False},
+ "xrDestroySceneObserverMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False},
+ "xrCreateSceneMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False},
+ "xrDestroySceneMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False},
}
STRUCT_CHAIN_CONVERSIONS = [
@@ -831,6 +836,8 @@ class XrHandle(object):
return "wine_session->wine_instance->funcs"
if self.parent in ["XrActionSet"]:
return "wine_action_set->wine_instance->funcs"
+ if self.parent in ["XrSceneObserverMSFT"]:
+ return "wine_scene_observer_msft->wine_session->wine_instance->funcs"
LOGGER.error("Unhandled dispatchable parent: {0}".format(self.parent))
@@ -881,6 +888,10 @@ class XrHandle(object):
return None
if self.name == "XrSpace":
return None
+ if self.name == "XrSceneObserverMSFT":
+ native_handle_name = "scene_observer_msft"
+ if self.name == "XrSceneMSFT":
+ native_handle_name = "scene_msft"
if native_handle_name:
return "((wine_{0} *){1})->{2}".format(self.name, name, native_handle_name)
@@ -1616,10 +1627,15 @@ class XrStruct(Sequence):
if self.is_alias() and not conv:
return ""
- if self.union:
- text = "union {0}".format(self.name)
+ if conv:
+ text = "typedef "
else:
- text = "struct {0}".format(self.name)
+ text = ""
+
+ if self.union:
+ text += "union {0}".format(self.name)
+ else:
+ text += "struct {0}".format(self.name)
if postfix is not None:
text += postfix
@@ -1635,7 +1651,10 @@ class XrStruct(Sequence):
text += " {0};\n".format(m.definition())
if postfix is not None:
- text += "}} {1};\n\n".format(self.name, postfix)
+ if conv:
+ text += "}} {0}{1};\n\n".format(self.name, postfix)
+ else:
+ text += "}} {1};\n\n".format(self.name, postfix)
else:
text += "}};\n".format(self.name)
diff --git a/wineopenxr/openxr.c b/wineopenxr/openxr.c
index 45b7045e..4a0014c4 100644
--- a/wineopenxr/openxr.c
+++ b/wineopenxr/openxr.c
@@ -1022,12 +1022,108 @@ XrResult WINAPI wine_xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor)
return XR_SUCCESS;
}
+XrResult WINAPI wine_xrCreateSceneObserverMSFT(XrSession session,
+ const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *observer)
+{
+ wine_XrSession *wine_session = (wine_XrSession *)session;
+ wine_XrSceneObserverMSFT *wine_scene_observer_msft;
+ XrResult res;
+
+ WINE_TRACE("%p, %p, %p\n", session, createInfo, observer);
+
+ wine_scene_observer_msft = heap_alloc_zero(sizeof(*wine_scene_observer_msft));
+
+ res = wine_session->wine_instance->funcs.p_xrCreateSceneObserverMSFT(wine_session->session,
+ createInfo, &wine_scene_observer_msft->scene_observer_msft);
+ if(res != XR_SUCCESS){
+ WINE_WARN("xrCreateSceneObserverMSFT failed: %d\n", res);
+ heap_free(wine_scene_observer_msft);
+ return res;
+ }
+
+ wine_scene_observer_msft->wine_session = wine_session;
+
+ *observer = (XrSceneObserverMSFT)wine_scene_observer_msft;
+
+ WINE_TRACE("allocated wine sceneObserver %p for native sceneObserver %p\n",
+ wine_scene_observer_msft, wine_scene_observer_msft->scene_observer_msft);
+
+ return XR_SUCCESS;
+}
+
+XrResult WINAPI wine_xrDestroySceneObserverMSFT(XrSceneObserverMSFT observer)
+{
+ wine_XrSceneObserverMSFT *wine_observer = (wine_XrSceneObserverMSFT *)observer;
+ XrResult res;
+
+ WINE_TRACE("%p\n", observer);
+
+ res = wine_observer->wine_session->wine_instance->funcs.p_xrDestroySceneObserverMSFT(wine_observer->scene_observer_msft);
+ if(res != XR_SUCCESS){
+ WINE_WARN("xrDestroySceneObserverMSFT failed: %d\n", res);
+ return res;
+ }
+
+ heap_free(wine_observer);
+
+ return XR_SUCCESS;
+}
+
+XrResult WINAPI wine_xrCreateSceneMSFT(XrSceneObserverMSFT observer,
+ const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene)
+{
+ wine_XrSceneObserverMSFT *wine_observer = (wine_XrSceneObserverMSFT *)observer;
+ wine_XrSceneMSFT *wine_scene_msft;
+ XrResult res;
+
+ WINE_TRACE("%p, %p, %p\n", observer, createInfo, scene);
+
+ wine_scene_msft = heap_alloc_zero(sizeof(*wine_scene_msft));
+
+ res = wine_observer->wine_session->wine_instance->funcs.p_xrCreateSceneMSFT(wine_observer->scene_observer_msft,
+ createInfo, &wine_scene_msft->scene_msft);
+ if(res != XR_SUCCESS){
+ WINE_WARN("xrCreateSceneMSFT failed: %d\n", res);
+ heap_free(wine_scene_msft);
+ return res;
+ }
+
+ wine_scene_msft->wine_scene_observer_msft = wine_observer;
+
+ *scene = (XrSceneMSFT)wine_scene_msft;
+
+ WINE_TRACE("allocated wine sceneMSFT %p for native sceneMSFT %p\n",
+ wine_scene_msft, wine_scene_msft->scene_msft);
+
+ return XR_SUCCESS;
+}
+
+XrResult WINAPI wine_xrDestroySceneMSFT(XrSceneMSFT scene)
+{
+ wine_XrSceneMSFT *wine_scene = (wine_XrSceneMSFT *)scene;
+ XrResult res;
+
+ WINE_TRACE("%p\n", scene);
+
+ res = wine_scene->wine_scene_observer_msft->wine_session->wine_instance->funcs.p_xrDestroySceneMSFT(wine_scene->scene_msft);
+ if(res != XR_SUCCESS){
+ WINE_WARN("xrDestroySceneMSFT failed: %d\n", res);
+ return res;
+ }
+
+ heap_free(wine_scene);
+
+ return XR_SUCCESS;
+}
+
XrResult WINAPI wine_xrNegotiateLoaderRuntimeInterface(
const XrNegotiateLoaderInfo_win *loaderInfo,
XrNegotiateRuntimeRequest_win *runtimeRequest)
{
XrResult res;
+ WINE_TRACE("%p %p\n", loaderInfo, runtimeRequest);
+
if(!loaderInfo || !runtimeRequest)
return XR_ERROR_INITIALIZATION_FAILED;
diff --git a/wineopenxr/openxr_private.h b/wineopenxr/openxr_private.h
index 6d937444..4a0c0f42 100644
--- a/wineopenxr/openxr_private.h
+++ b/wineopenxr/openxr_private.h
@@ -50,6 +50,16 @@ typedef struct wine_XrSpatialAnchorMSFT {
struct wine_XrSession *wine_session;
} wine_XrSpatialAnchorMSFT;
+typedef struct wine_XrSceneObserverMSFT {
+ XrSceneObserverMSFT scene_observer_msft;
+ struct wine_XrSession *wine_session;
+} wine_XrSceneObserverMSFT;
+
+typedef struct wine_XrSceneMSFT {
+ XrSceneMSFT scene_msft;
+ struct wine_XrSceneObserverMSFT *wine_scene_observer_msft;
+} wine_XrSceneMSFT;
+
typedef struct wine_XrSwapchain{
XrSwapchain swapchain;
struct wine_XrSession *wine_session;
diff --git a/wineopenxr/openxr_thunks.c b/wineopenxr/openxr_thunks.c
index 1f12adc7..86d59f95 100644
--- a/wineopenxr/openxr_thunks.c
+++ b/wineopenxr/openxr_thunks.c
@@ -30,6 +30,15 @@
WINE_DEFAULT_DEBUG_CHANNEL(openxr);
#if defined(USE_STRUCT_CONVERSION)
+static inline void convert_XrSceneMeshBuffersGetInfoMSFT_win_to_host(const XrSceneMeshBuffersGetInfoMSFT *in, XrSceneMeshBuffersGetInfoMSFT_host *out)
+{
+ if (!in) return;
+
+ out->type = in->type;
+ out->next = in->next;
+ out->meshBufferId = in->meshBufferId;
+}
+
#endif /* USE_STRUCT_CONVERSION */
XrResult convert_XrInstanceCreateInfo_struct_chain(const void *next, XrInstanceCreateInfo *out_struct)
@@ -98,6 +107,12 @@ XrResult WINAPI wine_xrBeginSession(XrSession session, const XrSessionBeginInfo
return xrBeginSession(((wine_XrSession *)session)->session, beginInfo);
}
+static XrResult WINAPI wine_xrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrNewSceneComputeInfoMSFT *computeInfo)
+{
+ WINE_TRACE("%p, %p\n", sceneObserver, computeInfo);
+ return ((wine_XrSceneObserverMSFT *)sceneObserver)->wine_session->wine_instance->funcs.p_xrComputeNewSceneMSFT(((wine_XrSceneObserverMSFT *)sceneObserver)->scene_observer_msft, computeInfo);
+}
+
XrResult WINAPI wine_xrCreateAction(XrActionSet actionSet, const XrActionCreateInfo *createInfo, XrAction *action)
{
WINE_TRACE("%p, %p, %p\n", actionSet, createInfo, action);
@@ -140,6 +155,12 @@ static XrResult WINAPI wine_xrCreateSpatialGraphNodeSpaceMSFT(XrSession session,
return ((wine_XrSession *)session)->wine_instance->funcs.p_xrCreateSpatialGraphNodeSpaceMSFT(((wine_XrSession *)session)->session, createInfo, space);
}
+static XrResult WINAPI wine_xrDeserializeSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneDeserializeInfoMSFT *deserializeInfo)
+{
+ WINE_TRACE("%p, %p\n", sceneObserver, deserializeInfo);
+ return ((wine_XrSceneObserverMSFT *)sceneObserver)->wine_session->wine_instance->funcs.p_xrDeserializeSceneMSFT(((wine_XrSceneObserverMSFT *)sceneObserver)->scene_observer_msft, deserializeInfo);
+}
+
XrResult WINAPI wine_xrDestroyAction(XrAction action)
{
WINE_TRACE("%p\n", action);
@@ -200,6 +221,18 @@ XrResult WINAPI wine_xrEnumerateReferenceSpaces(XrSession session, uint32_t spac
return xrEnumerateReferenceSpaces(((wine_XrSession *)session)->session, spaceCapacityInput, spaceCountOutput, spaces);
}
+static XrResult WINAPI wine_xrEnumerateReprojectionModesMSFT(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t modeCapacityInput, uint32_t *modeCountOutput, XrReprojectionModeMSFT *modes)
+{
+ WINE_TRACE("%p, 0x%s, %#x, %u, %p, %p\n", instance, wine_dbgstr_longlong(systemId), viewConfigurationType, modeCapacityInput, modeCountOutput, modes);
+ return ((wine_XrInstance *)instance)->funcs.p_xrEnumerateReprojectionModesMSFT(((wine_XrInstance *)instance)->instance, systemId, viewConfigurationType, modeCapacityInput, modeCountOutput, modes);
+}
+
+static XrResult WINAPI wine_xrEnumerateSceneComputeFeaturesMSFT(XrInstance instance, XrSystemId systemId, uint32_t featureCapacityInput, uint32_t *featureCountOutput, XrSceneComputeFeatureMSFT *features)
+{
+ WINE_TRACE("%p, 0x%s, %u, %p, %p\n", instance, wine_dbgstr_longlong(systemId), featureCapacityInput, featureCountOutput, features);
+ return ((wine_XrInstance *)instance)->funcs.p_xrEnumerateSceneComputeFeaturesMSFT(((wine_XrInstance *)instance)->instance, systemId, featureCapacityInput, featureCountOutput, features);
+}
+
XrResult WINAPI wine_xrEnumerateViewConfigurationViews(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrViewConfigurationView *views)
{
WINE_TRACE("%p, 0x%s, %#x, %u, %p, %p\n", instance, wine_dbgstr_longlong(systemId), viewConfigurationType, viewCapacityInput, viewCountOutput, views);
@@ -236,6 +269,18 @@ XrResult WINAPI wine_xrGetActionStateVector2f(XrSession session, const XrActionS
return xrGetActionStateVector2f(((wine_XrSession *)session)->session, getInfo, state);
}
+static XrResult WINAPI wine_xrGetAudioInputDeviceGuidOculus(XrInstance instance, wchar_t buffer[])
+{
+ WINE_TRACE("%p, %p\n", instance, buffer);
+ return ((wine_XrInstance *)instance)->funcs.p_xrGetAudioInputDeviceGuidOculus(((wine_XrInstance *)instance)->instance, buffer);
+}
+
+static XrResult WINAPI wine_xrGetAudioOutputDeviceGuidOculus(XrInstance instance, wchar_t buffer[])
+{
+ WINE_TRACE("%p, %p\n", instance, buffer);
+ return ((wine_XrInstance *)instance)->funcs.p_xrGetAudioOutputDeviceGuidOculus(((wine_XrInstance *)instance)->instance, buffer);
+}
+
static XrResult WINAPI wine_xrGetControllerModelKeyMSFT(XrSession session, XrPath topLevelUserPath, XrControllerModelKeyStateMSFT *controllerModelKeyState)
{
WINE_TRACE("%p, 0x%s, %p\n", session, wine_dbgstr_longlong(topLevelUserPath), controllerModelKeyState);
@@ -290,6 +335,47 @@ XrResult WINAPI wine_xrGetReferenceSpaceBoundsRect(XrSession session, XrReferenc
return xrGetReferenceSpaceBoundsRect(((wine_XrSession *)session)->session, referenceSpaceType, bounds);
}
+static XrResult WINAPI wine_xrGetSceneComponentsMSFT(XrSceneMSFT scene, const XrSceneComponentsGetInfoMSFT *getInfo, XrSceneComponentsMSFT *components)
+{
+ WINE_TRACE("%p, %p, %p\n", scene, getInfo, components);
+ return ((wine_XrSceneMSFT *)scene)->wine_scene_observer_msft->wine_session->wine_instance->funcs.p_xrGetSceneComponentsMSFT(((wine_XrSceneMSFT *)scene)->scene_msft, getInfo, components);
+}
+
+static XrResult WINAPI wine_xrGetSceneComputeStateMSFT(XrSceneObserverMSFT sceneObserver, XrSceneComputeStateMSFT *state)
+{
+ WINE_TRACE("%p, %p\n", sceneObserver, state);
+ return ((wine_XrSceneObserverMSFT *)sceneObserver)->wine_session->wine_instance->funcs.p_xrGetSceneComputeStateMSFT(((wine_XrSceneObserverMSFT *)sceneObserver)->scene_observer_msft, state);
+}
+
+static XrResult WINAPI wine_xrGetSceneMeshBuffersMSFT(XrSceneMSFT scene, const XrSceneMeshBuffersGetInfoMSFT *getInfo, XrSceneMeshBuffersMSFT *buffers)
+{
+#if defined(USE_STRUCT_CONVERSION)
+ XrResult result;
+ XrSceneMeshBuffersGetInfoMSFT_host getInfo_host;
+ WINE_TRACE("%p, %p, %p\n", scene, getInfo, buffers);
+
+ convert_XrSceneMeshBuffersGetInfoMSFT_win_to_host(getInfo, &getInfo_host);
+ result = ((wine_XrSceneMSFT *)scene)->wine_scene_observer_msft->wine_session->wine_instance->funcs.p_xrGetSceneMeshBuffersMSFT(((wine_XrSceneMSFT *)scene)->scene_msft, &getInfo_host, buffers);
+
+ return result;
+#else
+ WINE_TRACE("%p, %p, %p\n", scene, getInfo, buffers);
+ return ((wine_XrSceneMSFT *)scene)->wine_scene_observer_msft->wine_session->wine_instance->funcs.p_xrGetSceneMeshBuffersMSFT(((wine_XrSceneMSFT *)scene)->scene_msft, getInfo, buffers);
+#endif
+}
+
+static XrResult WINAPI wine_xrGetSerializedSceneFragmentDataMSFT(XrSceneMSFT scene, const XrSerializedSceneFragmentDataGetInfoMSFT *getInfo, uint32_t countInput, uint32_t *readOutput, uint8_t *buffer)
+{
+ WINE_TRACE("%p, %p, %u, %p, %p\n", scene, getInfo, countInput, readOutput, buffer);
+ return ((wine_XrSceneMSFT *)scene)->wine_scene_observer_msft->wine_session->wine_instance->funcs.p_xrGetSerializedSceneFragmentDataMSFT(((wine_XrSceneMSFT *)scene)->scene_msft, getInfo, countInput, readOutput, buffer);
+}
+
+static XrResult WINAPI wine_xrGetSwapchainStateFB(XrSwapchain swapchain, XrSwapchainStateBaseHeaderFB *state)
+{
+ WINE_TRACE("%p, %p\n", swapchain, state);
+ return ((wine_XrSwapchain *)swapchain)->wine_session->wine_instance->funcs.p_xrGetSwapchainStateFB(((wine_XrSwapchain *)swapchain)->swapchain, state);
+}
+
XrResult WINAPI wine_xrGetSystemProperties(XrInstance instance, XrSystemId systemId, XrSystemProperties *properties)
{
WINE_TRACE("%p, 0x%s, %p\n", instance, wine_dbgstr_longlong(systemId), properties);
@@ -332,6 +418,12 @@ static XrResult WINAPI wine_xrLocateHandJointsEXT(XrHandTrackerEXT handTracker,
return ((wine_XrHandTrackerEXT *)handTracker)->wine_session->wine_instance->funcs.p_xrLocateHandJointsEXT(((wine_XrHandTrackerEXT *)handTracker)->hand_tracker, locateInfo, locations);
}
+static XrResult WINAPI wine_xrLocateSceneComponentsMSFT(XrSceneMSFT scene, const XrSceneComponentsLocateInfoMSFT *locateInfo, XrSceneComponentLocationsMSFT *locations)
+{
+ WINE_TRACE("%p, %p, %p\n", scene, locateInfo, locations);
+ return ((wine_XrSceneMSFT *)scene)->wine_scene_observer_msft->wine_session->wine_instance->funcs.p_xrLocateSceneComponentsMSFT(((wine_XrSceneMSFT *)scene)->scene_msft, locateInfo, locations);
+}
+
XrResult WINAPI wine_xrLocateSpace(XrSpace space, XrSpace baseSpace, XrTime time, XrSpaceLocation *location)
{
WINE_TRACE("%p, %p, 0x%s, %p\n", space, baseSpace, wine_dbgstr_longlong(time), location);
@@ -464,6 +556,12 @@ static XrResult WINAPI wine_xrUpdateHandMeshMSFT(XrHandTrackerEXT handTracker, c
return ((wine_XrHandTrackerEXT *)handTracker)->wine_session->wine_instance->funcs.p_xrUpdateHandMeshMSFT(((wine_XrHandTrackerEXT *)handTracker)->hand_tracker, updateInfo, handMesh);
}
+static XrResult WINAPI wine_xrUpdateSwapchainFB(XrSwapchain swapchain, const XrSwapchainStateBaseHeaderFB *state)
+{
+ WINE_TRACE("%p, %p\n", swapchain, state);
+ return ((wine_XrSwapchain *)swapchain)->wine_session->wine_instance->funcs.p_xrUpdateSwapchainFB(((wine_XrSwapchain *)swapchain)->swapchain, state);
+}
+
XrResult WINAPI wine_xrWaitFrame(XrSession session, const XrFrameWaitInfo *frameWaitInfo, XrFrameState *frameState)
{
WINE_TRACE("%p, %p, %p\n", session, frameWaitInfo, frameState);
@@ -483,6 +581,7 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrAttachSessionActionSets", &wine_xrAttachSessionActionSets},
{"xrBeginFrame", &wine_xrBeginFrame},
{"xrBeginSession", &wine_xrBeginSession},
+ {"xrComputeNewSceneMSFT", &wine_xrComputeNewSceneMSFT},
{"xrConvertTimeToWin32PerformanceCounterKHR", &wine_xrConvertTimeToWin32PerformanceCounterKHR},
{"xrConvertWin32PerformanceCounterToTimeKHR", &wine_xrConvertWin32PerformanceCounterToTimeKHR},
{"xrCreateAction", &wine_xrCreateAction},
@@ -492,6 +591,8 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrCreateHandTrackerEXT", &wine_xrCreateHandTrackerEXT},
{"xrCreateInstance", &wine_xrCreateInstance},
{"xrCreateReferenceSpace", &wine_xrCreateReferenceSpace},
+ {"xrCreateSceneMSFT", &wine_xrCreateSceneMSFT},
+ {"xrCreateSceneObserverMSFT", &wine_xrCreateSceneObserverMSFT},
{"xrCreateSession", &wine_xrCreateSession},
{"xrCreateSpatialAnchorMSFT", &wine_xrCreateSpatialAnchorMSFT},
{"xrCreateSpatialAnchorSpaceMSFT", &wine_xrCreateSpatialAnchorSpaceMSFT},
@@ -499,10 +600,13 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrCreateSwapchain", &wine_xrCreateSwapchain},
{"xrCreateVulkanDeviceKHR", &wine_xrCreateVulkanDeviceKHR},
{"xrCreateVulkanInstanceKHR", &wine_xrCreateVulkanInstanceKHR},
+ {"xrDeserializeSceneMSFT", &wine_xrDeserializeSceneMSFT},
{"xrDestroyAction", &wine_xrDestroyAction},
{"xrDestroyActionSet", &wine_xrDestroyActionSet},
{"xrDestroyHandTrackerEXT", &wine_xrDestroyHandTrackerEXT},
{"xrDestroyInstance", &wine_xrDestroyInstance},
+ {"xrDestroySceneMSFT", &wine_xrDestroySceneMSFT},
+ {"xrDestroySceneObserverMSFT", &wine_xrDestroySceneObserverMSFT},
{"xrDestroySession", &wine_xrDestroySession},
{"xrDestroySpace", &wine_xrDestroySpace},
{"xrDestroySpatialAnchorMSFT", &wine_xrDestroySpatialAnchorMSFT},
@@ -516,6 +620,8 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrEnumerateEnvironmentBlendModes", &wine_xrEnumerateEnvironmentBlendModes},
{"xrEnumerateInstanceExtensionProperties", &wine_xrEnumerateInstanceExtensionProperties},
{"xrEnumerateReferenceSpaces", &wine_xrEnumerateReferenceSpaces},
+ {"xrEnumerateReprojectionModesMSFT", &wine_xrEnumerateReprojectionModesMSFT},
+ {"xrEnumerateSceneComputeFeaturesMSFT", &wine_xrEnumerateSceneComputeFeaturesMSFT},
{"xrEnumerateSwapchainFormats", &wine_xrEnumerateSwapchainFormats},
{"xrEnumerateSwapchainImages", &wine_xrEnumerateSwapchainImages},
{"xrEnumerateViewConfigurationViews", &wine_xrEnumerateViewConfigurationViews},
@@ -524,6 +630,8 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrGetActionStateFloat", &wine_xrGetActionStateFloat},
{"xrGetActionStatePose", &wine_xrGetActionStatePose},
{"xrGetActionStateVector2f", &wine_xrGetActionStateVector2f},
+ {"xrGetAudioInputDeviceGuidOculus", &wine_xrGetAudioInputDeviceGuidOculus},
+ {"xrGetAudioOutputDeviceGuidOculus", &wine_xrGetAudioOutputDeviceGuidOculus},
{"xrGetControllerModelKeyMSFT", &wine_xrGetControllerModelKeyMSFT},
{"xrGetControllerModelPropertiesMSFT", &wine_xrGetControllerModelPropertiesMSFT},
{"xrGetControllerModelStateMSFT", &wine_xrGetControllerModelStateMSFT},
@@ -536,6 +644,11 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrGetInstanceProperties", &wine_xrGetInstanceProperties},
{"xrGetOpenGLGraphicsRequirementsKHR", &wine_xrGetOpenGLGraphicsRequirementsKHR},
{"xrGetReferenceSpaceBoundsRect", &wine_xrGetReferenceSpaceBoundsRect},
+ {"xrGetSceneComponentsMSFT", &wine_xrGetSceneComponentsMSFT},
+ {"xrGetSceneComputeStateMSFT", &wine_xrGetSceneComputeStateMSFT},
+ {"xrGetSceneMeshBuffersMSFT", &wine_xrGetSceneMeshBuffersMSFT},
+ {"xrGetSerializedSceneFragmentDataMSFT", &wine_xrGetSerializedSceneFragmentDataMSFT},
+ {"xrGetSwapchainStateFB", &wine_xrGetSwapchainStateFB},
{"xrGetSystem", &wine_xrGetSystem},
{"xrGetSystemProperties", &wine_xrGetSystemProperties},
{"xrGetViewConfigurationProperties", &wine_xrGetViewConfigurationProperties},
@@ -548,6 +661,7 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrGetVulkanInstanceExtensionsKHR", &wine_xrGetVulkanInstanceExtensionsKHR},
{"xrLoadControllerModelMSFT", &wine_xrLoadControllerModelMSFT},
{"xrLocateHandJointsEXT", &wine_xrLocateHandJointsEXT},
+ {"xrLocateSceneComponentsMSFT", &wine_xrLocateSceneComponentsMSFT},
{"xrLocateSpace", &wine_xrLocateSpace},
{"xrLocateViews", &wine_xrLocateViews},
{"xrPathToString", &wine_xrPathToString},
@@ -571,6 +685,7 @@ static const struct openxr_func xr_dispatch_table[] =
{"xrSyncActions", &wine_xrSyncActions},
{"xrThermalGetTemperatureTrendEXT", &wine_xrThermalGetTemperatureTrendEXT},
{"xrUpdateHandMeshMSFT", &wine_xrUpdateHandMeshMSFT},
+ {"xrUpdateSwapchainFB", &wine_xrUpdateSwapchainFB},
{"xrWaitFrame", &wine_xrWaitFrame},
{"xrWaitSwapchainImage", &wine_xrWaitSwapchainImage},
};
@@ -595,6 +710,7 @@ static const char * const xr_extensions[] =
"XR_EXTX_overlay",
"XR_EXT_conformance_automation",
"XR_EXT_eye_gaze_interaction",
+ "XR_EXT_hand_joints_motion_range",
"XR_EXT_hand_tracking",
"XR_EXT_hp_mixed_reality_controller",
"XR_EXT_performance_settings",
@@ -604,6 +720,8 @@ static const char * const xr_extensions[] =
"XR_EXT_win32_appcontainer_compatible",
"XR_FB_color_space",
"XR_FB_display_refresh_rate",
+ "XR_FB_swapchain_update_state",
+ "XR_FB_swapchain_update_state_vulkan",
"XR_HTC_vive_cosmos_controller_interaction",
"XR_HUAWEI_controller_interaction",
"XR_KHR_D3D11_enable",
@@ -623,16 +741,20 @@ 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_composition_layer_reprojection",
"XR_MSFT_controller_model",
"XR_MSFT_first_person_observer",
"XR_MSFT_hand_interaction",
"XR_MSFT_hand_tracking_mesh",
"XR_MSFT_holographic_window_attachment",
+ "XR_MSFT_scene_understanding",
+ "XR_MSFT_scene_understanding_serialization",
"XR_MSFT_secondary_view_configuration",
"XR_MSFT_spatial_anchor",
"XR_MSFT_spatial_graph_bridge",
"XR_MSFT_unbounded_reference_space",
"XR_OCULUS_android_session_state_enable",
+ "XR_OCULUS_audio_device_guid",
"XR_VALVE_analog_threshold",
"XR_VARJO_composition_layer_depth_test",
"XR_VARJO_environment_depth_estimation",
diff --git a/wineopenxr/openxr_thunks.h b/wineopenxr/openxr_thunks.h
index 16358b9c..30de03fb 100644
--- a/wineopenxr/openxr_thunks.h
+++ b/wineopenxr/openxr_thunks.h
@@ -29,6 +29,8 @@ XrResult WINAPI wine_xrConvertTimeToWin32PerformanceCounterKHR(XrInstance instan
XrResult WINAPI wine_xrConvertWin32PerformanceCounterToTimeKHR(XrInstance instance, const LARGE_INTEGER *performanceCounter, XrTime *time) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrCreateHandTrackerEXT(XrSession session, const XrHandTrackerCreateInfoEXT *createInfo, XrHandTrackerEXT *handTracker) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrCreateInstance(const XrInstanceCreateInfo *createInfo, XrInstance *instance);
+XrResult WINAPI wine_xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene) DECLSPEC_HIDDEN;
+XrResult WINAPI wine_xrCreateSceneObserverMSFT(XrSession session, const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *sceneObserver) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrCreateSession(XrInstance instance, const XrSessionCreateInfo *createInfo, XrSession *session);
XrResult WINAPI wine_xrCreateSpatialAnchorMSFT(XrSession session, const XrSpatialAnchorCreateInfoMSFT *createInfo, XrSpatialAnchorMSFT *anchor) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrCreateSwapchain(XrSession session, const XrSwapchainCreateInfo *createInfo, XrSwapchain *swapchain);
@@ -36,6 +38,8 @@ XrResult WINAPI wine_xrCreateVulkanDeviceKHR(XrInstance instance, const XrVulkan
XrResult WINAPI wine_xrCreateVulkanInstanceKHR(XrInstance instance, const XrVulkanInstanceCreateInfoKHR *createInfo, VkInstance *vulkanInstance, VkResult *vulkanResult) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrDestroyHandTrackerEXT(XrHandTrackerEXT handTracker) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrDestroyInstance(XrInstance instance);
+XrResult WINAPI wine_xrDestroySceneMSFT(XrSceneMSFT scene) DECLSPEC_HIDDEN;
+XrResult WINAPI wine_xrDestroySceneObserverMSFT(XrSceneObserverMSFT sceneObserver) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrDestroySession(XrSession session);
XrResult WINAPI wine_xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor) DECLSPEC_HIDDEN;
XrResult WINAPI wine_xrDestroySwapchain(XrSwapchain swapchain);
@@ -55,6 +59,14 @@ XrResult WINAPI wine_xrPollEvent(XrInstance instance, XrEventDataBuffer *eventDa
/* Private thunks */
+typedef struct XrSceneMeshBuffersGetInfoMSFT_host
+{
+ XrStructureType type;
+ const void *next;
+ uint64_t meshBufferId;
+} XrSceneMeshBuffersGetInfoMSFT_host;
+
+
XrResult convert_XrInstanceCreateInfo_struct_chain(const void *next, XrInstanceCreateInfo *out_struct) DECLSPEC_HIDDEN;
void free_XrInstanceCreateInfo_struct_chain(XrInstanceCreateInfo *s) DECLSPEC_HIDDEN;
@@ -67,12 +79,15 @@ struct openxr_instance_funcs
XrResult (*p_xrAttachSessionActionSets)(XrSession, const XrSessionActionSetsAttachInfo *);
XrResult (*p_xrBeginFrame)(XrSession, const XrFrameBeginInfo *);
XrResult (*p_xrBeginSession)(XrSession, const XrSessionBeginInfo *);
+ XrResult (*p_xrComputeNewSceneMSFT)(XrSceneObserverMSFT, const XrNewSceneComputeInfoMSFT *);
XrResult (*p_xrCreateAction)(XrActionSet, const XrActionCreateInfo *, XrAction *);
XrResult (*p_xrCreateActionSet)(XrInstance, const XrActionSetCreateInfo *, XrActionSet *);
XrResult (*p_xrCreateActionSpace)(XrSession, const XrActionSpaceCreateInfo *, XrSpace *);
XrResult (*p_xrCreateHandMeshSpaceMSFT)(XrHandTrackerEXT, const XrHandMeshSpaceCreateInfoMSFT *, XrSpace *);
XrResult (*p_xrCreateHandTrackerEXT)(XrSession, const XrHandTrackerCreateInfoEXT *, XrHandTrackerEXT *);
XrResult (*p_xrCreateReferenceSpace)(XrSession, const XrReferenceSpaceCreateInfo *, XrSpace *);
+ XrResult (*p_xrCreateSceneMSFT)(XrSceneObserverMSFT, const XrSceneCreateInfoMSFT *, XrSceneMSFT *);
+ XrResult (*p_xrCreateSceneObserverMSFT)(XrSession, const XrSceneObserverCreateInfoMSFT *, XrSceneObserverMSFT *);
XrResult (*p_xrCreateSession)(XrInstance, const XrSessionCreateInfo *, XrSession *);
XrResult (*p_xrCreateSpatialAnchorMSFT)(XrSession, const XrSpatialAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *);
XrResult (*p_xrCreateSpatialAnchorSpaceMSFT)(XrSession, const XrSpatialAnchorSpaceCreateInfoMSFT *, XrSpace *);
@@ -80,9 +95,12 @@ struct openxr_instance_funcs
XrResult (*p_xrCreateSwapchain)(XrSession, const XrSwapchainCreateInfo *, XrSwapchain *);
XrResult (*p_xrCreateVulkanDeviceKHR)(XrInstance, const XrVulkanDeviceCreateInfoKHR *, VkDevice *, VkResult *);
XrResult (*p_xrCreateVulkanInstanceKHR)(XrInstance, const XrVulkanInstanceCreateInfoKHR *, VkInstance *, VkResult *);
+ XrResult (*p_xrDeserializeSceneMSFT)(XrSceneObserverMSFT, const XrSceneDeserializeInfoMSFT *);
XrResult (*p_xrDestroyAction)(XrAction);
XrResult (*p_xrDestroyActionSet)(XrActionSet);
XrResult (*p_xrDestroyHandTrackerEXT)(XrHandTrackerEXT);
+ XrResult (*p_xrDestroySceneMSFT)(XrSceneMSFT);
+ XrResult (*p_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT);
XrResult (*p_xrDestroySession)(XrSession);
XrResult (*p_xrDestroySpace)(XrSpace);
XrResult (*p_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT);
@@ -95,6 +113,8 @@ struct openxr_instance_funcs
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_xrEnumerateReprojectionModesMSFT)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrReprojectionModeMSFT *);
+ XrResult (*p_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSceneComputeFeatureMSFT *);
XrResult (*p_xrEnumerateSwapchainFormats)(XrSession, uint32_t, uint32_t *, int64_t *);
XrResult (*p_xrEnumerateSwapchainImages)(XrSwapchain, uint32_t, uint32_t *, XrSwapchainImageBaseHeader *);
XrResult (*p_xrEnumerateViewConfigurationViews)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrViewConfigurationView *);
@@ -103,6 +123,8 @@ 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_xrGetAudioInputDeviceGuidOculus)(XrInstance, wchar_t[]);
+ XrResult (*p_xrGetAudioOutputDeviceGuidOculus)(XrInstance, wchar_t[]);
XrResult (*p_xrGetControllerModelKeyMSFT)(XrSession, XrPath, XrControllerModelKeyStateMSFT *);
XrResult (*p_xrGetControllerModelPropertiesMSFT)(XrSession, XrControllerModelKeyMSFT, XrControllerModelPropertiesMSFT *);
XrResult (*p_xrGetControllerModelStateMSFT)(XrSession, XrControllerModelKeyMSFT, XrControllerModelStateMSFT *);
@@ -112,6 +134,15 @@ struct openxr_instance_funcs
XrResult (*p_xrGetInstanceProperties)(XrInstance, XrInstanceProperties *);
XrResult (*p_xrGetOpenGLGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsOpenGLKHR *);
XrResult (*p_xrGetReferenceSpaceBoundsRect)(XrSession, XrReferenceSpaceType, XrExtent2Df *);
+ XrResult (*p_xrGetSceneComponentsMSFT)(XrSceneMSFT, const XrSceneComponentsGetInfoMSFT *, XrSceneComponentsMSFT *);
+ XrResult (*p_xrGetSceneComputeStateMSFT)(XrSceneObserverMSFT, XrSceneComputeStateMSFT *);
+#if defined(USE_STRUCT_CONVERSION)
+ XrResult (*p_xrGetSceneMeshBuffersMSFT)(XrSceneMSFT, const XrSceneMeshBuffersGetInfoMSFT_host *, XrSceneMeshBuffersMSFT *);
+#else
+ XrResult (*p_xrGetSceneMeshBuffersMSFT)(XrSceneMSFT, const XrSceneMeshBuffersGetInfoMSFT *, XrSceneMeshBuffersMSFT *);
+#endif
+ XrResult (*p_xrGetSerializedSceneFragmentDataMSFT)(XrSceneMSFT, const XrSerializedSceneFragmentDataGetInfoMSFT *, uint32_t, uint32_t *, uint8_t *);
+ XrResult (*p_xrGetSwapchainStateFB)(XrSwapchain, XrSwapchainStateBaseHeaderFB *);
XrResult (*p_xrGetSystem)(XrInstance, const XrSystemGetInfo *, XrSystemId *);
XrResult (*p_xrGetSystemProperties)(XrInstance, XrSystemId, XrSystemProperties *);
XrResult (*p_xrGetViewConfigurationProperties)(XrInstance, XrSystemId, XrViewConfigurationType, XrViewConfigurationProperties *);
@@ -124,6 +155,7 @@ struct openxr_instance_funcs
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_xrLocateSceneComponentsMSFT)(XrSceneMSFT, const XrSceneComponentsLocateInfoMSFT *, XrSceneComponentLocationsMSFT *);
XrResult (*p_xrLocateSpace)(XrSpace, XrSpace, XrTime, XrSpaceLocation *);
XrResult (*p_xrLocateViews)(XrSession, const XrViewLocateInfo *, XrViewState *, uint32_t, uint32_t *, XrView *);
XrResult (*p_xrPathToString)(XrInstance, XrPath, uint32_t, uint32_t *, char *);
@@ -147,6 +179,7 @@ struct openxr_instance_funcs
XrResult (*p_xrSyncActions)(XrSession, const XrActionsSyncInfo *);
XrResult (*p_xrThermalGetTemperatureTrendEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsNotificationLevelEXT *, float *, float *);
XrResult (*p_xrUpdateHandMeshMSFT)(XrHandTrackerEXT, const XrHandMeshUpdateInfoMSFT *, XrHandMeshMSFT *);
+ XrResult (*p_xrUpdateSwapchainFB)(XrSwapchain, const XrSwapchainStateBaseHeaderFB *);
XrResult (*p_xrWaitFrame)(XrSession, const XrFrameWaitInfo *, XrFrameState *);
XrResult (*p_xrWaitSwapchainImage)(XrSwapchain, const XrSwapchainImageWaitInfo *);
};
@@ -157,12 +190,15 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrAttachSessionActionSets) \
USE_XR_FUNC(xrBeginFrame) \
USE_XR_FUNC(xrBeginSession) \
+ USE_XR_FUNC(xrComputeNewSceneMSFT) \
USE_XR_FUNC(xrCreateAction) \
USE_XR_FUNC(xrCreateActionSet) \
USE_XR_FUNC(xrCreateActionSpace) \
USE_XR_FUNC(xrCreateHandMeshSpaceMSFT) \
USE_XR_FUNC(xrCreateHandTrackerEXT) \
USE_XR_FUNC(xrCreateReferenceSpace) \
+ USE_XR_FUNC(xrCreateSceneMSFT) \
+ USE_XR_FUNC(xrCreateSceneObserverMSFT) \
USE_XR_FUNC(xrCreateSession) \
USE_XR_FUNC(xrCreateSpatialAnchorMSFT) \
USE_XR_FUNC(xrCreateSpatialAnchorSpaceMSFT) \
@@ -170,9 +206,12 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrCreateSwapchain) \
USE_XR_FUNC(xrCreateVulkanDeviceKHR) \
USE_XR_FUNC(xrCreateVulkanInstanceKHR) \
+ USE_XR_FUNC(xrDeserializeSceneMSFT) \
USE_XR_FUNC(xrDestroyAction) \
USE_XR_FUNC(xrDestroyActionSet) \
USE_XR_FUNC(xrDestroyHandTrackerEXT) \
+ USE_XR_FUNC(xrDestroySceneMSFT) \
+ USE_XR_FUNC(xrDestroySceneObserverMSFT) \
USE_XR_FUNC(xrDestroySession) \
USE_XR_FUNC(xrDestroySpace) \
USE_XR_FUNC(xrDestroySpatialAnchorMSFT) \
@@ -185,6 +224,8 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrEnumerateDisplayRefreshRatesFB) \
USE_XR_FUNC(xrEnumerateEnvironmentBlendModes) \
USE_XR_FUNC(xrEnumerateReferenceSpaces) \
+ USE_XR_FUNC(xrEnumerateReprojectionModesMSFT) \
+ USE_XR_FUNC(xrEnumerateSceneComputeFeaturesMSFT) \
USE_XR_FUNC(xrEnumerateSwapchainFormats) \
USE_XR_FUNC(xrEnumerateSwapchainImages) \
USE_XR_FUNC(xrEnumerateViewConfigurationViews) \
@@ -193,6 +234,8 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrGetActionStateFloat) \
USE_XR_FUNC(xrGetActionStatePose) \
USE_XR_FUNC(xrGetActionStateVector2f) \
+ USE_XR_FUNC(xrGetAudioInputDeviceGuidOculus) \
+ USE_XR_FUNC(xrGetAudioOutputDeviceGuidOculus) \
USE_XR_FUNC(xrGetControllerModelKeyMSFT) \
USE_XR_FUNC(xrGetControllerModelPropertiesMSFT) \
USE_XR_FUNC(xrGetControllerModelStateMSFT) \
@@ -202,6 +245,11 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrGetInstanceProperties) \
USE_XR_FUNC(xrGetOpenGLGraphicsRequirementsKHR) \
USE_XR_FUNC(xrGetReferenceSpaceBoundsRect) \
+ USE_XR_FUNC(xrGetSceneComponentsMSFT) \
+ USE_XR_FUNC(xrGetSceneComputeStateMSFT) \
+ USE_XR_FUNC(xrGetSceneMeshBuffersMSFT) \
+ USE_XR_FUNC(xrGetSerializedSceneFragmentDataMSFT) \
+ USE_XR_FUNC(xrGetSwapchainStateFB) \
USE_XR_FUNC(xrGetSystem) \
USE_XR_FUNC(xrGetSystemProperties) \
USE_XR_FUNC(xrGetViewConfigurationProperties) \
@@ -214,6 +262,7 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrGetVulkanInstanceExtensionsKHR) \
USE_XR_FUNC(xrLoadControllerModelMSFT) \
USE_XR_FUNC(xrLocateHandJointsEXT) \
+ USE_XR_FUNC(xrLocateSceneComponentsMSFT) \
USE_XR_FUNC(xrLocateSpace) \
USE_XR_FUNC(xrLocateViews) \
USE_XR_FUNC(xrPathToString) \
@@ -237,6 +286,7 @@ struct openxr_instance_funcs
USE_XR_FUNC(xrSyncActions) \
USE_XR_FUNC(xrThermalGetTemperatureTrendEXT) \
USE_XR_FUNC(xrUpdateHandMeshMSFT) \
+ USE_XR_FUNC(xrUpdateSwapchainFB) \
USE_XR_FUNC(xrWaitFrame) \
USE_XR_FUNC(xrWaitSwapchainImage)
diff --git a/wineopenxr/wineopenxr.h b/wineopenxr/wineopenxr.h
index bca5cf3d..8616a187 100644
--- a/wineopenxr/wineopenxr.h
+++ b/wineopenxr/wineopenxr.h
@@ -67,9 +67,9 @@
#define XR_KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME "XR_KHR_composition_layer_depth"
#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 4
#define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list"
-#define XR_EXT_performance_settings_SPEC_VERSION 2
+#define XR_EXT_performance_settings_SPEC_VERSION 3
#define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings"
-#define XR_EXT_thermal_query_SPEC_VERSION 1
+#define XR_EXT_thermal_query_SPEC_VERSION 2
#define XR_EXT_THERMAL_QUERY_EXTENSION_NAME "XR_EXT_thermal_query"
#define XR_KHR_composition_layer_cylinder_SPEC_VERSION 4
#define XR_KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME "XR_KHR_composition_layer_cylinder"
@@ -105,13 +105,13 @@
#define XR_OCULUS_ANDROID_SESSION_STATE_ENABLE_EXTENSION_NAME "XR_OCULUS_android_session_state_enable"
#define XR_EXT_view_configuration_depth_range_SPEC_VERSION 1
#define XR_EXT_VIEW_CONFIGURATION_DEPTH_RANGE_EXTENSION_NAME "XR_EXT_view_configuration_depth_range"
-#define XR_EXT_conformance_automation_SPEC_VERSION 2
+#define XR_EXT_conformance_automation_SPEC_VERSION 3
#define XR_EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME "XR_EXT_conformance_automation"
#define XR_MSFT_spatial_graph_bridge_SPEC_VERSION 1
#define XR_MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME "XR_MSFT_spatial_graph_bridge"
#define XR_MSFT_hand_interaction_SPEC_VERSION 1
#define XR_MSFT_HAND_INTERACTION_EXTENSION_NAME "XR_MSFT_hand_interaction"
-#define XR_EXT_hand_tracking_SPEC_VERSION 3
+#define XR_EXT_hand_tracking_SPEC_VERSION 4
#define XR_EXT_HAND_TRACKING_EXTENSION_NAME "XR_EXT_hand_tracking"
#define XR_MSFT_hand_tracking_mesh_SPEC_VERSION 3
#define XR_MSFT_HAND_TRACKING_MESH_EXTENSION_NAME "XR_MSFT_hand_tracking_mesh"
@@ -128,10 +128,16 @@
#define XR_EPIC_VIEW_CONFIGURATION_FOV_EXTENSION_NAME "XR_EPIC_view_configuration_fov"
#define XR_MSFT_holographic_window_attachment_SPEC_VERSION 1
#define XR_MSFT_HOLOGRAPHIC_WINDOW_ATTACHMENT_EXTENSION_NAME "XR_MSFT_holographic_window_attachment"
+#define XR_MSFT_composition_layer_reprojection_SPEC_VERSION 1
+#define XR_MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME "XR_MSFT_composition_layer_reprojection"
#define XR_HUAWEI_controller_interaction_SPEC_VERSION 1
#define XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HUAWEI_controller_interaction"
+#define XR_FB_swapchain_update_state_SPEC_VERSION 3
+#define XR_FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME "XR_FB_swapchain_update_state"
#define XR_VALVE_analog_threshold_SPEC_VERSION 1
#define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold"
+#define XR_EXT_hand_joints_motion_range_SPEC_VERSION 1
+#define XR_EXT_HAND_JOINTS_MOTION_RANGE_EXTENSION_NAME "XR_EXT_hand_joints_motion_range"
#define XR_KHR_vulkan_enable2_SPEC_VERSION 2
#define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2"
#define XR_KHR_composition_layer_equirect2_SPEC_VERSION 1
@@ -142,6 +148,10 @@
#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_MSFT_scene_understanding_SPEC_VERSION 1
+#define XR_MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME "XR_MSFT_scene_understanding"
+#define XR_MSFT_scene_understanding_serialization_SPEC_VERSION 1
+#define XR_MSFT_SCENE_UNDERSTANDING_SERIALIZATION_EXTENSION_NAME "XR_MSFT_scene_understanding_serialization"
#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
@@ -156,6 +166,11 @@
#define XR_VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME "XR_VARJO_composition_layer_depth_test"
#define XR_VARJO_environment_depth_estimation_SPEC_VERSION 1
#define XR_VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME "XR_VARJO_environment_depth_estimation"
+#define XR_OCULUS_audio_device_guid_SPEC_VERSION 1
+#define XR_OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME "XR_OCULUS_audio_device_guid"
+#define XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS 128
+#define XR_FB_swapchain_update_state_vulkan_SPEC_VERSION 1
+#define XR_FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME "XR_FB_swapchain_update_state_vulkan"
#define XR_MAKE_VERSION(major, minor, patch) \
@@ -168,7 +183,7 @@
#define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL)
-#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 15)
+#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 17)
#if !defined(XR_MAY_ALIAS)
@@ -244,6 +259,8 @@ XR_DEFINE_HANDLE(XrAction)
XR_DEFINE_HANDLE(XrActionSet)
XR_DEFINE_HANDLE(XrHandTrackerEXT)
XR_DEFINE_HANDLE(XrInstance)
+XR_DEFINE_HANDLE(XrSceneMSFT)
+XR_DEFINE_HANDLE(XrSceneObserverMSFT)
XR_DEFINE_HANDLE(XrSession)
XR_DEFINE_HANDLE(XrSpace)
XR_DEFINE_HANDLE(XrSpatialAnchorMSFT)
@@ -365,6 +382,13 @@ typedef enum XrHandJointSetEXT
XR_HAND_JOINT_SET_EXT_MAX_ENUM = 0x7fffffff,
} XrHandJointSetEXT;
+typedef enum XrHandJointsMotionRangeEXT
+{
+ XR_HAND_JOINTS_MOTION_RANGE_UNOBSTRUCTED_EXT = 1,
+ XR_HAND_JOINTS_MOTION_RANGE_CONFORMING_TO_CONTROLLER_EXT = 2,
+ XR_HAND_JOINTS_MOTION_RANGE_EXT_MAX_ENUM = 0x7fffffff,
+} XrHandJointsMotionRangeEXT;
+
typedef enum XrHandPoseTypeMSFT
{
XR_HAND_POSE_TYPE_TRACKED_MSFT = 0,
@@ -372,6 +396,15 @@ typedef enum XrHandPoseTypeMSFT
XR_HAND_POSE_TYPE_MSFT_MAX_ENUM = 0x7fffffff,
} XrHandPoseTypeMSFT;
+typedef enum XrMeshComputeLodMSFT
+{
+ XR_MESH_COMPUTE_LOD_COARSE_MSFT = 1,
+ XR_MESH_COMPUTE_LOD_MEDIUM_MSFT = 2,
+ XR_MESH_COMPUTE_LOD_FINE_MSFT = 3,
+ XR_MESH_COMPUTE_LOD_UNLIMITED_MSFT = 4,
+ XR_MESH_COMPUTE_LOD_MSFT_MAX_ENUM = 0x7fffffff,
+} XrMeshComputeLodMSFT;
+
typedef enum XrObjectType
{
XR_OBJECT_TYPE_UNKNOWN = 0,
@@ -383,6 +416,8 @@ typedef enum XrObjectType
XR_OBJECT_TYPE_ACTION = 6,
XR_OBJECT_TYPE_SPATIAL_ANCHOR_MSFT = 1000039000,
XR_OBJECT_TYPE_HAND_TRACKER_EXT = 1000051000,
+ XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT = 1000097000,
+ XR_OBJECT_TYPE_SCENE_MSFT = 1000097001,
XR_OBJECT_TYPE_MAX_ENUM = 0x7fffffff,
} XrObjectType;
@@ -428,13 +463,30 @@ typedef enum XrReferenceSpaceType
XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7fffffff,
} XrReferenceSpaceType;
+typedef enum XrReprojectionModeMSFT
+{
+ XR_REPROJECTION_MODE_DEPTH_MSFT = 1,
+ XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT = 2,
+ XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFT = 3,
+ XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFT = 4,
+ XR_REPROJECTION_MODE_MSFT_MAX_ENUM = 0x7fffffff,
+} XrReprojectionModeMSFT;
+
typedef enum XrResult
{
XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB = -1000108000,
XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB = -1000101000,
+ XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT = -1000097005,
+ XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT = -1000097004,
+ XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT = -1000097003,
+ XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT = -1000097002,
+ XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT = -1000097001,
+ XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT = -1000097000,
+ XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT = -1000066000,
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_RUNTIME_UNAVAILABLE = -51,
XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING = -50,
XR_ERROR_LOCALIZED_NAME_INVALID = -49,
XR_ERROR_LOCALIZED_NAME_DUPLICATED = -48,
@@ -492,6 +544,64 @@ typedef enum XrResult
XR_RESULT_MAX_ENUM = 0x7fffffff,
} XrResult;
+typedef enum XrSceneComponentTypeMSFT
+{
+ XR_SCENE_COMPONENT_TYPE_INVALID_MSFT = -1,
+ XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT = 1,
+ XR_SCENE_COMPONENT_TYPE_PLANE_MSFT = 2,
+ XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFT = 3,
+ XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFT = 4,
+ XR_SCENE_COMPONENT_TYPE_SERIALIZED_SCENE_FRAGMENT_MSFT = 1000098000,
+ XR_SCENE_COMPONENT_TYPE_MSFT_MAX_ENUM = 0x7fffffff,
+} XrSceneComponentTypeMSFT;
+
+typedef enum XrSceneComputeConsistencyMSFT
+{
+ XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT = 1,
+ XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT = 2,
+ XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT = 3,
+ XR_SCENE_COMPUTE_CONSISTENCY_MSFT_MAX_ENUM = 0x7fffffff,
+} XrSceneComputeConsistencyMSFT;
+
+typedef enum XrSceneComputeFeatureMSFT
+{
+ XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT = 1,
+ XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT = 2,
+ XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFT = 3,
+ XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFT = 4,
+ XR_SCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFT = 1000098000,
+ XR_SCENE_COMPUTE_FEATURE_MSFT_MAX_ENUM = 0x7fffffff,
+} XrSceneComputeFeatureMSFT;
+
+typedef enum XrSceneComputeStateMSFT
+{
+ XR_SCENE_COMPUTE_STATE_NONE_MSFT = 0,
+ XR_SCENE_COMPUTE_STATE_UPDATING_MSFT = 1,
+ XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT = 2,
+ XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT = 3,
+ XR_SCENE_COMPUTE_STATE_MSFT_MAX_ENUM = 0x7fffffff,
+} XrSceneComputeStateMSFT;
+
+typedef enum XrSceneObjectTypeMSFT
+{
+ XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT = -1,
+ XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFT = 1,
+ XR_SCENE_OBJECT_TYPE_WALL_MSFT = 2,
+ XR_SCENE_OBJECT_TYPE_FLOOR_MSFT = 3,
+ XR_SCENE_OBJECT_TYPE_CEILING_MSFT = 4,
+ XR_SCENE_OBJECT_TYPE_PLATFORM_MSFT = 5,
+ XR_SCENE_OBJECT_TYPE_INFERRED_MSFT = 6,
+ XR_SCENE_OBJECT_TYPE_MSFT_MAX_ENUM = 0x7fffffff,
+} XrSceneObjectTypeMSFT;
+
+typedef enum XrScenePlaneAlignmentTypeMSFT
+{
+ XR_SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFT = 0,
+ XR_SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFT = 1,
+ XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFT = 2,
+ XR_SCENE_PLANE_ALIGNMENT_TYPE_MSFT_MAX_ENUM = 0x7fffffff,
+} XrScenePlaneAlignmentTypeMSFT;
+
typedef enum XrSessionState
{
XR_SESSION_STATE_UNKNOWN = 0,
@@ -620,11 +730,35 @@ typedef enum XrStructureType
XR_TYPE_CONTROLLER_MODEL_STATE_MSFT = 1000055004,
XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC = 1000059000,
XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000,
+ XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT = 1000066000,
+ XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT = 1000066001,
XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000,
+ XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT = 1000080000,
XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR = 1000090000,
XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR = 1000090001,
XR_TYPE_VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR = 1000090003,
XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR = 1000091000,
+ XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFT = 1000097000,
+ XR_TYPE_SCENE_CREATE_INFO_MSFT = 1000097001,
+ XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFT = 1000097002,
+ XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFT = 1000097003,
+ XR_TYPE_SCENE_COMPONENTS_MSFT = 1000097004,
+ XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFT = 1000097005,
+ XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFT = 1000097006,
+ XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFT = 1000097007,
+ XR_TYPE_SCENE_OBJECTS_MSFT = 1000097008,
+ XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT = 1000097009,
+ XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFT = 1000097010,
+ XR_TYPE_SCENE_PLANES_MSFT = 1000097011,
+ XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT = 1000097012,
+ XR_TYPE_SCENE_MESHES_MSFT = 1000097013,
+ XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFT = 1000097014,
+ XR_TYPE_SCENE_MESH_BUFFERS_MSFT = 1000097015,
+ XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFT = 1000097016,
+ XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFT = 1000097017,
+ XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFT = 1000097018,
+ XR_TYPE_SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT = 1000098000,
+ XR_TYPE_SCENE_DESERIALIZE_INFO_MSFT = 1000098001,
XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000,
XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000,
XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000,
@@ -632,6 +766,7 @@ typedef enum XrStructureType
XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO = 1000121001,
XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO = 1000121002,
XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO = 1000122000,
+ XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB = 1000163000,
XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR,
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR,
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR,
@@ -665,12 +800,14 @@ typedef struct XrBaseOutStructure XrBaseOutStructure;
typedef struct XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo;
typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader;
typedef struct XrCompositionLayerDepthTestVARJO XrCompositionLayerDepthTestVARJO;
+typedef struct XrCompositionLayerReprojectionInfoMSFT XrCompositionLayerReprojectionInfoMSFT;
typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT;
typedef struct XrDebugUtilsLabelEXT XrDebugUtilsLabelEXT;
-typedef struct XrEventDataBaseHeader XrEventDataBaseHeader;
-typedef struct XrEventDataDisplayRefreshRateChangedFB XrEventDataDisplayRefreshRateChangedFB;
-typedef struct XrEventDataInstanceLossPending XrEventDataInstanceLossPending;
-typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessionVisibilityChangedEXTX;
+typedef struct XrDeserializeSceneFragmentMSFT XrDeserializeSceneFragmentMSFT;
+typedef struct XrEventDataBuffer XrEventDataBuffer;
+typedef struct XrEventDataEventsLost XrEventDataEventsLost;
+typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged;
+typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT;
typedef struct XrEventDataSessionStateChanged XrEventDataSessionStateChanged;
typedef struct XrExtensionProperties XrExtensionProperties;
typedef struct XrExtent2Di XrExtent2Di;
@@ -680,6 +817,7 @@ typedef struct XrFrameState XrFrameState;
typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR;
typedef struct XrGraphicsRequirementsD3D11KHR XrGraphicsRequirementsD3D11KHR;
typedef struct XrHandJointsLocateInfoEXT XrHandJointsLocateInfoEXT;
+typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT;
typedef struct XrHandMeshUpdateInfoMSFT XrHandMeshUpdateInfoMSFT;
typedef struct XrHandPoseTypeInfoMSFT XrHandPoseTypeInfoMSFT;
typedef struct XrHapticActionInfo XrHapticActionInfo;
@@ -688,6 +826,15 @@ typedef struct XrInputSourceLocalizedNameGetInfo XrInputSourceLocalizedNameGetIn
typedef struct XrInteractionProfileState XrInteractionProfileState;
typedef struct XrOffset2Df XrOffset2Df;
typedef struct XrQuaternionf XrQuaternionf;
+typedef struct XrSceneComponentsGetInfoMSFT XrSceneComponentsGetInfoMSFT;
+typedef struct XrSceneCreateInfoMSFT XrSceneCreateInfoMSFT;
+typedef struct XrSceneMeshBuffersGetInfoMSFT XrSceneMeshBuffersGetInfoMSFT;
+typedef struct XrSceneMeshIndicesUint16MSFT XrSceneMeshIndicesUint16MSFT;
+typedef struct XrSceneMeshMSFT XrSceneMeshMSFT;
+typedef struct XrSceneMeshesMSFT XrSceneMeshesMSFT;
+typedef struct XrSceneObjectTypesFilterInfoMSFT XrSceneObjectTypesFilterInfoMSFT;
+typedef struct XrSceneObserverCreateInfoMSFT XrSceneObserverCreateInfoMSFT;
+typedef struct XrScenePlaneAlignmentFilterInfoMSFT XrScenePlaneAlignmentFilterInfoMSFT;
typedef struct XrSecondaryViewConfigurationLayerInfoMSFT XrSecondaryViewConfigurationLayerInfoMSFT;
typedef struct XrSecondaryViewConfigurationStateMSFT XrSecondaryViewConfigurationStateMSFT;
typedef struct XrSessionActionSetsAttachInfo XrSessionActionSetsAttachInfo;
@@ -702,24 +849,27 @@ typedef struct XrSystemFoveatedRenderingPropertiesVARJO XrSystemFoveatedRenderin
typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties;
typedef struct XrSystemHandTrackingPropertiesEXT XrSystemHandTrackingPropertiesEXT;
typedef struct XrSystemTrackingProperties XrSystemTrackingProperties;
-typedef struct XrVector3f XrVector3f;
+typedef struct XrVector2f XrVector2f;
+typedef struct XrVector4f XrVector4f;
typedef struct XrViewConfigurationDepthRangeEXT XrViewConfigurationDepthRangeEXT;
typedef struct XrViewConfigurationView XrViewConfigurationView;
typedef struct XrViewLocateFoveatedRenderingVARJO XrViewLocateFoveatedRenderingVARJO;
typedef struct XrViewState XrViewState;
-typedef struct XrVulkanDeviceCreateInfoKHR XrVulkanDeviceCreateInfoKHR;
-typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR;
+typedef struct XrVisualMeshComputeLodInfoMSFT XrVisualMeshComputeLodInfoMSFT;
+typedef struct XrVulkanGraphicsDeviceGetInfoKHR XrVulkanGraphicsDeviceGetInfoKHR;
+typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR;
typedef struct XrActionSetCreateInfo XrActionSetCreateInfo;
typedef struct XrActionStateFloat XrActionStateFloat;
-typedef struct XrActionsSyncInfo XrActionsSyncInfo;
-typedef struct XrBaseInStructure XrBaseInStructure;
+typedef struct XrActionStateVector2f XrActionStateVector2f;
+typedef struct XrApiLayerProperties XrApiLayerProperties;
+typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR;
typedef struct XrColor4f XrColor4f;
typedef struct XrCompositionLayerCubeKHR XrCompositionLayerCubeKHR;
typedef struct XrControllerModelNodePropertiesMSFT XrControllerModelNodePropertiesMSFT;
typedef struct XrControllerModelPropertiesMSFT XrControllerModelPropertiesMSFT;
typedef struct XrDebugUtilsObjectNameInfoEXT XrDebugUtilsObjectNameInfoEXT;
-typedef struct XrEventDataEventsLost XrEventDataEventsLost;
-typedef struct XrEventDataPerfSettingsEXT XrEventDataPerfSettingsEXT;
+typedef struct XrEventDataDisplayRefreshRateChangedFB XrEventDataDisplayRefreshRateChangedFB;
+typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessionVisibilityChangedEXTX;
typedef struct XrEventDataVisibilityMaskChangedKHR XrEventDataVisibilityMaskChangedKHR;
typedef struct XrEyeGazeSampleTimeEXT XrEyeGazeSampleTimeEXT;
typedef struct XrFrameEndInfo XrFrameEndInfo;
@@ -727,84 +877,106 @@ typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR;
typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR;
typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR;
typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR;
-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 XrHandJointsMotionRangeInfoEXT XrHandJointsMotionRangeInfoEXT;
+typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT;
+typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT;
+typedef struct XrInstanceProperties XrInstanceProperties;
+typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding;
+typedef struct XrOffset2Di XrOffset2Di;
+typedef struct XrRect2Di XrRect2Di;
+typedef struct XrSceneDeserializeInfoMSFT XrSceneDeserializeInfoMSFT;
+typedef struct XrSceneMeshBuffersMSFT XrSceneMeshBuffersMSFT;
+typedef struct XrSceneObjectMSFT XrSceneObjectMSFT;
+typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT;
+typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewConfigurationSessionBeginInfoMSFT;
+typedef struct XrSessionBeginInfo XrSessionBeginInfo;
typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo;
typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR;
typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR;
+typedef struct XrSwapchainStateSamplerVulkanFB XrSwapchainStateSamplerVulkanFB;
typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT;
typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT;
-typedef struct XrVector2f XrVector2f;
+typedef struct XrUuidMSFT XrUuidMSFT;
typedef struct XrViewConfigurationProperties XrViewConfigurationProperties;
typedef struct XrViewLocateInfo XrViewLocateInfo;
-typedef struct XrVulkanGraphicsDeviceGetInfoKHR XrVulkanGraphicsDeviceGetInfoKHR;
-typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo;
-typedef struct XrActionStateVector2f XrActionStateVector2f;
-typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR;
+typedef struct XrVulkanDeviceCreateInfoKHR XrVulkanDeviceCreateInfoKHR;
+typedef struct XrActionStatePose XrActionStatePose;
+typedef struct XrBaseInStructure XrBaseInStructure;
typedef struct XrCompositionLayerColorScaleBiasKHR XrCompositionLayerColorScaleBiasKHR;
-typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT;
typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT;
-typedef struct XrEventDataInteractionProfileChanged XrEventDataInteractionProfileChanged;
+typedef struct XrEventDataInstanceLossPending XrEventDataInstanceLossPending;
typedef struct XrExtent2Df XrExtent2Df;
typedef struct XrFrameWaitInfo XrFrameWaitInfo;
typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR;
+typedef struct XrHapticBaseHeader XrHapticBaseHeader;
+typedef struct XrInteractionProfileAnalogThresholdVALVE XrInteractionProfileAnalogThresholdVALVE;
+typedef struct XrRect2Df XrRect2Df;
+typedef struct XrSceneComponentMSFT XrSceneComponentMSFT;
+typedef struct XrSceneComponentsLocateInfoMSFT XrSceneComponentsLocateInfoMSFT;
+typedef struct XrSceneMeshIndicesUint32MSFT XrSceneMeshIndicesUint32MSFT;
+typedef struct XrSceneObjectsMSFT XrSceneObjectsMSFT;
+typedef struct XrScenePlaneMSFT XrScenePlaneMSFT;
+typedef struct XrSecondaryViewConfigurationFrameStateMSFT XrSecondaryViewConfigurationFrameStateMSFT;
+typedef struct XrSerializedSceneFragmentDataGetInfoMSFT XrSerializedSceneFragmentDataGetInfoMSFT;
+typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR;
+typedef struct XrSwapchainStateBaseHeaderFB XrSwapchainStateBaseHeaderFB;
+typedef struct XrSystemGetInfo XrSystemGetInfo;
+typedef struct XrVector3f XrVector3f;
+typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR;
+typedef struct XrActionsSyncInfo XrActionsSyncInfo;
+typedef struct XrCompositionLayerReprojectionPlaneOverrideMSFT XrCompositionLayerReprojectionPlaneOverrideMSFT;
+typedef struct XrEventDataBaseHeader XrEventDataBaseHeader;
+typedef struct XrFovf XrFovf;
+typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR;
+typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR;
+typedef struct XrHandJointVelocityEXT XrHandJointVelocityEXT;
+typedef struct XrHandMeshVertexMSFT XrHandMeshVertexMSFT;
+typedef struct XrPosef XrPosef;
+typedef struct XrSceneComponentLocationMSFT XrSceneComponentLocationMSFT;
+typedef struct XrSceneComponentParentFilterInfoMSFT XrSceneComponentParentFilterInfoMSFT;
+typedef struct XrSceneFrustumBoundMSFT XrSceneFrustumBoundMSFT;
+typedef struct XrSceneOrientedBoxBoundMSFT XrSceneOrientedBoxBoundMSFT;
+typedef struct XrSceneSphereBoundMSFT XrSceneSphereBoundMSFT;
+typedef struct XrSessionCreateInfoOverlayEXTX XrSessionCreateInfoOverlayEXTX;
+typedef struct XrSpaceVelocity XrSpaceVelocity;
+typedef struct XrSpatialAnchorSpaceCreateInfoMSFT XrSpatialAnchorSpaceCreateInfoMSFT;
+typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo;
+typedef struct XrSystemProperties XrSystemProperties;
+typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC;
+typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo;
+typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT;
+typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending;
typedef struct XrHandJointLocationEXT XrHandJointLocationEXT;
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 XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewConfigurationSessionBeginInfoMSFT;
-typedef struct XrSpaceLocation XrSpaceLocation;
-typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT;
-typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo;
-typedef struct XrSystemGetInfo XrSystemGetInfo;
-typedef struct XrVector4f XrVector4f;
-typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR;
-typedef struct XrActionStatePose XrActionStatePose;
-typedef struct XrBindingModificationsKHR XrBindingModificationsKHR;
-typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT;
-typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending;
-typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR;
-typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT;
-typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT;
-typedef struct XrInteractionProfileSuggestedBinding XrInteractionProfileSuggestedBinding;
-typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT;
+typedef struct XrInstanceCreateInfo XrInstanceCreateInfo;
+typedef struct XrReferenceSpaceCreateInfo XrReferenceSpaceCreateInfo;
+typedef struct XrSceneComponentLocationsMSFT XrSceneComponentLocationsMSFT;
+typedef struct XrSceneMeshVertexBufferMSFT XrSceneMeshVertexBufferMSFT;
+typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT XrSecondaryViewConfigurationSwapchainCreateInfoMSFT;
typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT;
typedef struct XrSwapchainSubImage XrSwapchainSubImage;
-typedef struct XrVulkanSwapchainFormatListCreateInfoKHR XrVulkanSwapchainFormatListCreateInfoKHR;
-typedef struct XrApiLayerProperties XrApiLayerProperties;
+typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR;
+typedef struct XrBindingModificationsKHR XrBindingModificationsKHR;
typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR;
typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR;
-typedef struct XrCompositionLayerQuad XrCompositionLayerQuad;
-typedef struct XrFovf XrFovf;
-typedef struct XrHandMeshIndexBufferMSFT XrHandMeshIndexBufferMSFT;
-typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT;
-typedef struct XrSessionBeginInfo XrSessionBeginInfo;
-typedef struct XrSystemProperties XrSystemProperties;
-typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC;
-typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR;
typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView;
-typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR;
-typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR;
-typedef struct XrRect2Df XrRect2Df;
-typedef struct XrView XrView;
-typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR;
-typedef struct XrEventDataBuffer XrEventDataBuffer;
-typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR;
+typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT;
+typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT;
+typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT;
+typedef struct XrSceneBoundsMSFT XrSceneBoundsMSFT;
+typedef struct XrScenePlanesMSFT XrScenePlanesMSFT;
+typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT;
+typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR;
typedef struct XrCompositionLayerProjection XrCompositionLayerProjection;
+typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR;
+typedef struct XrNewSceneComputeInfoMSFT XrNewSceneComputeInfoMSFT;
+typedef struct XrSpaceLocation XrSpaceLocation;
+typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR;
typedef struct XrHandMeshMSFT XrHandMeshMSFT;
+typedef struct XrView XrView;
+typedef struct XrCompositionLayerQuad XrCompositionLayerQuad;
+typedef struct XrSceneComponentsMSFT XrSceneComponentsMSFT;
typedef XrBool32 (XRAPI_PTR * PFN_xrDebugUtilsMessengerCallbackEXT)(
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
@@ -892,6 +1064,13 @@ struct XrCompositionLayerDepthTestVARJO
float depthTestRangeFarZ;
};
+struct XrCompositionLayerReprojectionInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrReprojectionModeMSFT reprojectionMode;
+};
+
struct XrControllerModelKeyStateMSFT
{
XrStructureType type;
@@ -906,33 +1085,41 @@ struct XrDebugUtilsLabelEXT
const char *labelName;
};
-struct XrEventDataBaseHeader
+struct XrDeserializeSceneFragmentMSFT
{
- XrStructureType type;
- const void *next;
+ uint32_t bufferSize;
+ const uint8_t *buffer;
};
-struct XrEventDataDisplayRefreshRateChangedFB
+struct XrEventDataBuffer
{
XrStructureType type;
const void *next;
- float fromDisplayRefreshRate;
- float toDisplayRefreshRate;
+ uint8_t varying[4000];
};
-struct XrEventDataInstanceLossPending
+struct XrEventDataEventsLost
{
XrStructureType type;
const void *next;
- XrTime lossTime;
+ uint32_t lostEventCount;
};
-struct XrEventDataMainSessionVisibilityChangedEXTX
+struct XrEventDataInteractionProfileChanged
{
XrStructureType type;
const void *next;
- XrBool32 visible;
- XrOverlayMainSessionFlagsEXTX flags;
+ XrSession session;
+};
+
+struct XrEventDataPerfSettingsEXT
+{
+ XrStructureType type;
+ const void *next;
+ XrPerfSettingsDomainEXT domain;
+ XrPerfSettingsSubDomainEXT subDomain;
+ XrPerfSettingsNotificationLevelEXT fromLevel;
+ XrPerfSettingsNotificationLevelEXT toLevel;
};
struct XrEventDataSessionStateChanged
@@ -1003,6 +1190,14 @@ struct XrHandJointsLocateInfoEXT
XrTime time;
};
+struct XrHandMeshIndexBufferMSFT
+{
+ uint32_t indexBufferKey;
+ uint32_t indexCapacityInput;
+ uint32_t indexCountOutput;
+ uint32_t *indices;
+};
+
struct XrHandMeshUpdateInfoMSFT
{
XrStructureType type;
@@ -1064,6 +1259,71 @@ struct XrQuaternionf
float w;
};
+struct XrSceneComponentsGetInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrSceneComponentTypeMSFT componentType;
+};
+
+struct XrSceneCreateInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+};
+
+struct XrSceneMeshBuffersGetInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint64_t WINE_XR_ALIGN(8) meshBufferId;
+};
+
+struct XrSceneMeshIndicesUint16MSFT
+{
+ XrStructureType type;
+ void *next;
+ uint32_t indexCapacityInput;
+ uint32_t indexCountOutput;
+ uint16_t *indices;
+};
+
+struct XrSceneMeshMSFT
+{
+ uint64_t WINE_XR_ALIGN(8) meshBufferId;
+ XrBool32 supportsIndicesUint16;
+};
+
+struct XrSceneMeshesMSFT
+{
+ XrStructureType type;
+ void *next;
+ uint32_t sceneMeshCount;
+ XrSceneMeshMSFT *sceneMeshes;
+};
+
+struct XrSceneObjectTypesFilterInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t objectTypeCount;
+ const XrSceneObjectTypeMSFT *objectTypes;
+};
+
+struct XrSceneObserverCreateInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+};
+
+struct XrScenePlaneAlignmentFilterInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t alignmentCount;
+ const XrScenePlaneAlignmentTypeMSFT *alignments;
+};
+
struct XrSecondaryViewConfigurationLayerInfoMSFT
{
XrStructureType type;
@@ -1174,11 +1434,18 @@ struct XrSystemTrackingProperties
XrBool32 positionTracking;
};
-struct XrVector3f
+struct XrVector2f
+{
+ float x;
+ float y;
+};
+
+struct XrVector4f
{
float x;
float y;
float z;
+ float w;
};
struct XrViewConfigurationDepthRangeEXT
@@ -1217,27 +1484,27 @@ struct XrViewState
XrViewStateFlags viewStateFlags;
};
-struct XrVulkanDeviceCreateInfoKHR
+struct XrVisualMeshComputeLodInfoMSFT
{
XrStructureType type;
const void *next;
- XrSystemId systemId;
- XrVulkanDeviceCreateFlagsKHR createFlags;
- PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
- VkPhysicalDevice vulkanPhysicalDevice;
- const VkDeviceCreateInfo *vulkanCreateInfo;
- const VkAllocationCallbacks *vulkanAllocator;
+ XrMeshComputeLodMSFT lod;
};
-struct XrVulkanInstanceCreateInfoKHR
+struct XrVulkanGraphicsDeviceGetInfoKHR
{
XrStructureType type;
const void *next;
XrSystemId systemId;
- XrVulkanInstanceCreateFlagsKHR createFlags;
- PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
- const VkInstanceCreateInfo *vulkanCreateInfo;
- const VkAllocationCallbacks *vulkanAllocator;
+ VkInstance vulkanInstance;
+};
+
+struct XrVulkanSwapchainFormatListCreateInfoKHR
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t viewFormatCount;
+ const VkFormat *viewFormats;
};
struct XrActionSetCreateInfo
@@ -1259,18 +1526,30 @@ struct XrActionStateFloat
XrBool32 isActive;
};
-struct XrActionsSyncInfo
+struct XrActionStateVector2f
+{
+ XrStructureType type;
+ void *next;
+ XrVector2f currentState;
+ XrBool32 changedSinceLastSync;
+ XrTime lastChangeTime;
+ XrBool32 isActive;
+};
+
+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 XrBindingModificationBaseHeaderKHR
{
XrStructureType type;
const void *next;
- uint32_t countActiveActionSets;
- const XrActiveActionSet *activeActionSets;
-};
-
-struct XrBaseInStructure
-{
- XrStructureType type;
- const struct XrBaseInStructure *next;
};
struct XrColor4f
@@ -1319,21 +1598,20 @@ struct XrDebugUtilsObjectNameInfoEXT
const char *objectName;
};
-struct XrEventDataEventsLost
+struct XrEventDataDisplayRefreshRateChangedFB
{
XrStructureType type;
const void *next;
- uint32_t lostEventCount;
+ float fromDisplayRefreshRate;
+ float toDisplayRefreshRate;
};
-struct XrEventDataPerfSettingsEXT
+struct XrEventDataMainSessionVisibilityChangedEXTX
{
XrStructureType type;
const void *next;
- XrPerfSettingsDomainEXT domain;
- XrPerfSettingsSubDomainEXT subDomain;
- XrPerfSettingsNotificationLevelEXT fromLevel;
- XrPerfSettingsNotificationLevelEXT toLevel;
+ XrBool32 visible;
+ XrOverlayMainSessionFlagsEXTX flags;
};
struct XrEventDataVisibilityMaskChangedKHR
@@ -1389,17 +1667,239 @@ struct XrGraphicsRequirementsOpenGLKHR
XrVersion maxApiVersionSupported;
};
-struct XrHandJointVelocityEXT
+struct XrHandJointsMotionRangeInfoEXT
{
- XrSpaceVelocityFlags velocityFlags;
- XrVector3f linearVelocity;
- XrVector3f angularVelocity;
+ XrStructureType type;
+ const void *next;
+ XrHandJointsMotionRangeEXT handJointsMotionRange;
};
-struct XrHandMeshVertexMSFT
+struct XrHandTrackerCreateInfoEXT
{
- XrVector3f position;
- XrVector3f normal;
+ XrStructureType type;
+ const void *next;
+ XrHandEXT hand;
+ XrHandJointSetEXT handJointSet;
+};
+
+struct XrHolographicWindowAttachmentMSFT
+{
+ XrStructureType type;
+ const void *next;
+ IUnknown *holographicSpace;
+ IUnknown *coreWindow;
+};
+
+struct XrInstanceProperties
+{
+ XrStructureType type;
+ void *next;
+ XrVersion runtimeVersion;
+ char runtimeName[XR_MAX_RUNTIME_NAME_SIZE];
+};
+
+struct XrInteractionProfileSuggestedBinding
+{
+ XrStructureType type;
+ const void *next;
+ XrPath interactionProfile;
+ uint32_t countSuggestedBindings;
+ const XrActionSuggestedBinding *suggestedBindings;
+};
+
+struct XrOffset2Di
+{
+ int32_t x;
+ int32_t y;
+};
+
+struct XrRect2Di
+{
+ XrOffset2Di offset;
+ XrExtent2Di extent;
+};
+
+struct XrSceneDeserializeInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t fragmentCount;
+ const XrDeserializeSceneFragmentMSFT *fragments;
+};
+
+struct XrSceneMeshBuffersMSFT
+{
+ XrStructureType type;
+ void *next;
+};
+
+struct XrSceneObjectMSFT
+{
+ XrSceneObjectTypeMSFT objectType;
+};
+
+struct XrSecondaryViewConfigurationFrameEndInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t viewConfigurationCount;
+ const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo;
+};
+
+struct XrSecondaryViewConfigurationSessionBeginInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t viewConfigurationCount;
+ const XrViewConfigurationType *enabledViewConfigurationTypes;
+};
+
+struct XrSessionBeginInfo
+{
+ XrStructureType type;
+ const void *next;
+ XrViewConfigurationType primaryViewConfigurationType;
+};
+
+struct XrSwapchainImageAcquireInfo
+{
+ XrStructureType type;
+ const void *next;
+};
+
+struct XrSwapchainImageVulkanKHR
+{
+ XrStructureType type;
+ void *next;
+ VkImage image;
+};
+
+struct XrSwapchainStateSamplerVulkanFB
+{
+ XrStructureType type;
+ void *next;
+ VkFilter minFilter;
+ VkFilter magFilter;
+ VkSamplerMipmapMode mipmapMode;
+ VkSamplerAddressMode wrapModeS;
+ VkSamplerAddressMode wrapModeT;
+ VkComponentSwizzle swizzleRed;
+ VkComponentSwizzle swizzleGreen;
+ VkComponentSwizzle swizzleBlue;
+ VkComponentSwizzle swizzleAlpha;
+ float maxAnisotropy;
+ XrColor4f borderColor;
+};
+
+struct XrSystemEyeGazeInteractionPropertiesEXT
+{
+ XrStructureType type;
+ void *next;
+ XrBool32 supportsEyeGazeInteraction;
+};
+
+struct XrSystemHandTrackingMeshPropertiesMSFT
+{
+ XrStructureType type;
+ void *next;
+ XrBool32 supportsHandTrackingMesh;
+ uint32_t maxHandMeshIndexCount;
+ uint32_t maxHandMeshVertexCount;
+};
+
+struct XrUuidMSFT
+{
+ uint8_t bytes[16];
+};
+
+struct XrViewConfigurationProperties
+{
+ XrStructureType type;
+ void *next;
+ XrViewConfigurationType viewConfigurationType;
+ XrBool32 fovMutable;
+};
+
+struct XrViewLocateInfo
+{
+ XrStructureType type;
+ const void *next;
+ XrViewConfigurationType viewConfigurationType;
+ XrTime displayTime;
+ XrSpace space;
+};
+
+struct XrVulkanDeviceCreateInfoKHR
+{
+ XrStructureType type;
+ const void *next;
+ XrSystemId systemId;
+ XrVulkanDeviceCreateFlagsKHR createFlags;
+ PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
+ VkPhysicalDevice vulkanPhysicalDevice;
+ const VkDeviceCreateInfo *vulkanCreateInfo;
+ const VkAllocationCallbacks *vulkanAllocator;
+};
+
+struct XrActionStatePose
+{
+ XrStructureType type;
+ void *next;
+ XrBool32 isActive;
+};
+
+struct XrBaseInStructure
+{
+ XrStructureType type;
+ const struct XrBaseInStructure *next;
+};
+
+struct XrCompositionLayerColorScaleBiasKHR
+{
+ XrStructureType type;
+ const void *next;
+ XrColor4f colorScale;
+ XrColor4f colorBias;
+};
+
+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 XrEventDataInstanceLossPending
+{
+ XrStructureType type;
+ const void *next;
+ XrTime lossTime;
+};
+
+struct XrExtent2Df
+{
+ float width;
+ float height;
+};
+
+struct XrFrameWaitInfo
+{
+ XrStructureType type;
+ const void *next;
+};
+
+struct XrGraphicsRequirementsD3D12KHR
+{
+ XrStructureType type;
+ void *next;
+ LUID adapterLuid;
+ D3D_FEATURE_LEVEL minFeatureLevel;
};
struct XrHapticBaseHeader
@@ -1408,18 +1908,6 @@ struct XrHapticBaseHeader
const void *next;
};
-struct XrInstanceCreateInfo
-{
- XrStructureType type;
- const void *next;
- XrInstanceCreateFlags createFlags;
- XrApplicationInfo applicationInfo;
- uint32_t enabledApiLayerCount;
- const char * const*enabledApiLayerNames;
- uint32_t enabledExtensionCount;
- const char * const*enabledExtensionNames;
-};
-
struct XrInteractionProfileAnalogThresholdVALVE
{
XrStructureType type;
@@ -1432,18 +1920,53 @@ struct XrInteractionProfileAnalogThresholdVALVE
const XrHapticBaseHeader *offHaptic;
};
-struct XrPosef
+struct XrRect2Df
{
- XrQuaternionf orientation;
- XrVector3f position;
+ XrOffset2Df offset;
+ XrExtent2Df extent;
};
-struct XrReferenceSpaceCreateInfo
+struct XrSceneComponentMSFT
+{
+ XrSceneComponentTypeMSFT componentType;
+ XrUuidMSFT id;
+ XrUuidMSFT parentId;
+ XrTime updateTime;
+};
+
+struct XrSceneComponentsLocateInfoMSFT
{
XrStructureType type;
const void *next;
- XrReferenceSpaceType referenceSpaceType;
- XrPosef poseInReferenceSpace;
+ XrSpace baseSpace;
+ XrTime time;
+ uint32_t componentIdCount;
+ const XrUuidMSFT *componentIds;
+};
+
+struct XrSceneMeshIndicesUint32MSFT
+{
+ XrStructureType type;
+ void *next;
+ uint32_t indexCapacityInput;
+ uint32_t indexCountOutput;
+ uint32_t *indices;
+};
+
+struct XrSceneObjectsMSFT
+{
+ XrStructureType type;
+ void *next;
+ uint32_t sceneObjectCount;
+ XrSceneObjectMSFT *sceneObjects;
+};
+
+struct XrScenePlaneMSFT
+{
+ XrScenePlaneAlignmentTypeMSFT alignment;
+ XrExtent2Df size;
+ uint64_t WINE_XR_ALIGN(8) meshBufferId;
+ XrBool32 supportsIndicesUint16;
};
struct XrSecondaryViewConfigurationFrameStateMSFT
@@ -1454,11 +1977,140 @@ struct XrSecondaryViewConfigurationFrameStateMSFT
XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates;
};
-struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT
+struct XrSerializedSceneFragmentDataGetInfoMSFT
{
XrStructureType type;
const void *next;
- XrViewConfigurationType viewConfigurationType;
+ XrUuidMSFT sceneFragmentId;
+};
+
+struct XrSwapchainImageD3D11KHR
+{
+ XrStructureType type;
+ void *next;
+ ID3D11Texture2D *texture;
+};
+
+struct XrSwapchainStateBaseHeaderFB
+{
+ XrStructureType type;
+ void *next;
+};
+
+struct XrSystemGetInfo
+{
+ XrStructureType type;
+ const void *next;
+ XrFormFactor formFactor;
+};
+
+struct XrVector3f
+{
+ float x;
+ float y;
+ float z;
+};
+
+struct XrVisibilityMaskKHR
+{
+ XrStructureType type;
+ void *next;
+ uint32_t vertexCapacityInput;
+ uint32_t vertexCountOutput;
+ XrVector2f *vertices;
+ uint32_t indexCapacityInput;
+ uint32_t indexCountOutput;
+ uint32_t *indices;
+};
+
+struct XrActionsSyncInfo
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t countActiveActionSets;
+ const XrActiveActionSet *activeActionSets;
+};
+
+struct XrCompositionLayerReprojectionPlaneOverrideMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrVector3f position;
+ XrVector3f normal;
+ XrVector3f velocity;
+};
+
+struct XrEventDataBaseHeader
+{
+ XrStructureType type;
+ const void *next;
+};
+
+struct XrFovf
+{
+ float angleLeft;
+ float angleRight;
+ float angleUp;
+ float angleDown;
+};
+
+struct XrGraphicsRequirementsVulkanKHR
+{
+ XrStructureType type;
+ void *next;
+ XrVersion minApiVersionSupported;
+ XrVersion maxApiVersionSupported;
+};
+
+struct XrHandJointVelocityEXT
+{
+ XrSpaceVelocityFlags velocityFlags;
+ XrVector3f linearVelocity;
+ XrVector3f angularVelocity;
+};
+
+struct XrHandMeshVertexMSFT
+{
+ XrVector3f position;
+ XrVector3f normal;
+};
+
+struct XrPosef
+{
+ XrQuaternionf orientation;
+ XrVector3f position;
+};
+
+struct XrSceneComponentLocationMSFT
+{
+ XrSpaceLocationFlags flags;
+ XrPosef pose;
+};
+
+struct XrSceneComponentParentFilterInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrUuidMSFT parentId;
+};
+
+struct XrSceneFrustumBoundMSFT
+{
+ XrPosef pose;
+ XrFovf fov;
+ float farDistance;
+};
+
+struct XrSceneOrientedBoxBoundMSFT
+{
+ XrPosef pose;
+ XrVector3f extents;
+};
+
+struct XrSceneSphereBoundMSFT
+{
+ XrVector3f center;
+ float radius;
};
struct XrSessionCreateInfoOverlayEXTX
@@ -1486,64 +2138,29 @@ struct XrSpatialAnchorSpaceCreateInfoMSFT
XrPosef poseInAnchorSpace;
};
-struct XrSwapchainImageAcquireInfo
+struct XrSwapchainImageReleaseInfo
{
XrStructureType type;
const void *next;
};
-struct XrSwapchainImageVulkanKHR
+struct XrSystemProperties
{
XrStructureType type;
void *next;
- VkImage image;
-};
-
-struct XrSystemEyeGazeInteractionPropertiesEXT
-{
- XrStructureType type;
- void *next;
- XrBool32 supportsEyeGazeInteraction;
-};
-
-struct XrSystemHandTrackingMeshPropertiesMSFT
-{
- XrStructureType type;
- void *next;
- XrBool32 supportsHandTrackingMesh;
- uint32_t maxHandMeshIndexCount;
- uint32_t maxHandMeshVertexCount;
-};
-
-struct XrVector2f
-{
- float x;
- float y;
-};
-
-struct XrViewConfigurationProperties
-{
- XrStructureType type;
- void *next;
- XrViewConfigurationType viewConfigurationType;
- XrBool32 fovMutable;
-};
-
-struct XrViewLocateInfo
-{
- XrStructureType type;
- const void *next;
- XrViewConfigurationType viewConfigurationType;
- XrTime displayTime;
- XrSpace space;
-};
-
-struct XrVulkanGraphicsDeviceGetInfoKHR
-{
- XrStructureType type;
- const void *next;
XrSystemId systemId;
- VkInstance vulkanInstance;
+ uint32_t vendorId;
+ char systemName[XR_MAX_SYSTEM_NAME_SIZE];
+ XrSystemGraphicsProperties graphicsProperties;
+ XrSystemTrackingProperties trackingProperties;
+};
+
+struct XrViewConfigurationViewFovEPIC
+{
+ XrStructureType type;
+ const void *next;
+ XrFovf recommendedFov;
+ XrFovf maxMutableFov;
};
struct XrActionSpaceCreateInfo
@@ -1555,30 +2172,6 @@ struct XrActionSpaceCreateInfo
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;
@@ -1586,44 +2179,15 @@ struct XrControllerModelNodeStateMSFT
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
+struct XrEventDataReferenceSpaceChangePending
{
XrStructureType type;
const void *next;
XrSession session;
-};
-
-struct XrExtent2Df
-{
- float width;
- float height;
-};
-
-struct XrFrameWaitInfo
-{
- XrStructureType type;
- const void *next;
-};
-
-struct XrGraphicsRequirementsD3D12KHR
-{
- XrStructureType type;
- void *next;
- LUID adapterLuid;
- D3D_FEATURE_LEVEL minFeatureLevel;
+ XrReferenceSpaceType referenceSpaceType;
+ XrTime changeTime;
+ XrBool32 poseValid;
+ XrPosef poseInPreviousSpace;
};
struct XrHandJointLocationEXT
@@ -1649,167 +2213,48 @@ struct XrHandMeshSpaceCreateInfoMSFT
XrPosef poseInHandMeshSpace;
};
-struct XrHandTrackerCreateInfoEXT
+struct XrInstanceCreateInfo
{
XrStructureType type;
const void *next;
- XrHandEXT hand;
- XrHandJointSetEXT handJointSet;
+ XrInstanceCreateFlags createFlags;
+ XrApplicationInfo applicationInfo;
+ uint32_t enabledApiLayerCount;
+ const char * const*enabledApiLayerNames;
+ uint32_t enabledExtensionCount;
+ const char * const*enabledExtensionNames;
};
-struct XrInstanceProperties
-{
- XrStructureType type;
- void *next;
- XrVersion runtimeVersion;
- char runtimeName[XR_MAX_RUNTIME_NAME_SIZE];
-};
-
-struct XrOffset2Di
-{
- int32_t x;
- int32_t y;
-};
-
-struct XrRect2Di
-{
- XrOffset2Di offset;
- XrExtent2Di extent;
-};
-
-struct XrSecondaryViewConfigurationSessionBeginInfoMSFT
+struct XrReferenceSpaceCreateInfo
{
XrStructureType type;
const void *next;
- uint32_t viewConfigurationCount;
- const XrViewConfigurationType *enabledViewConfigurationTypes;
-};
-
-struct XrSpaceLocation
-{
- XrStructureType type;
- void *next;
- XrSpaceLocationFlags locationFlags;
- XrPosef pose;
-};
-
-struct XrSpatialGraphNodeSpaceCreateInfoMSFT
-{
- XrStructureType type;
- const void *next;
- XrSpatialGraphNodeTypeMSFT nodeType;
- uint8_t nodeId[16];
- XrPosef pose;
-};
-
-struct XrSwapchainImageReleaseInfo
-{
- XrStructureType type;
- const void *next;
-};
-
-struct XrSystemGetInfo
-{
- XrStructureType type;
- const void *next;
- XrFormFactor formFactor;
-};
-
-struct XrVector4f
-{
- float x;
- float y;
- float z;
- float w;
-};
-
-struct XrVisibilityMaskKHR
-{
- XrStructureType type;
- void *next;
- uint32_t vertexCapacityInput;
- uint32_t vertexCountOutput;
- XrVector2f *vertices;
- uint32_t indexCapacityInput;
- uint32_t indexCountOutput;
- uint32_t *indices;
-};
-
-struct XrActionStatePose
-{
- XrStructureType type;
- void *next;
- XrBool32 isActive;
-};
-
-struct XrBindingModificationsKHR
-{
- XrStructureType type;
- const void *next;
- uint32_t bindingModificationCount;
- const XrBindingModificationBaseHeaderKHR * const*bindingModifications;
-};
-
-struct XrControllerModelStateMSFT
-{
- XrStructureType type;
- void *next;
- uint32_t nodeCapacityInput;
- uint32_t nodeCountOutput;
- XrControllerModelNodeStateMSFT *nodeStates;
-};
-
-struct XrEventDataReferenceSpaceChangePending
-{
- XrStructureType type;
- const void *next;
- XrSession session;
XrReferenceSpaceType referenceSpaceType;
- XrTime changeTime;
- XrBool32 poseValid;
- XrPosef poseInPreviousSpace;
+ XrPosef poseInReferenceSpace;
};
-struct XrGraphicsBindingOpenGLWin32KHR
-{
- XrStructureType type;
- const void *next;
- HDC hDC;
- HGLRC hGLRC;
-};
-
-struct XrHandJointLocationsEXT
+struct XrSceneComponentLocationsMSFT
{
XrStructureType type;
void *next;
- XrBool32 isActive;
- uint32_t jointCount;
- XrHandJointLocationEXT *jointLocations;
+ uint32_t locationCount;
+ XrSceneComponentLocationMSFT *locations;
};
-struct XrHandMeshVertexBufferMSFT
+struct XrSceneMeshVertexBufferMSFT
{
- XrTime vertexUpdateTime;
+ XrStructureType type;
+ void *next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
- XrHandMeshVertexMSFT *vertices;
+ XrVector3f *vertices;
};
-struct XrInteractionProfileSuggestedBinding
+struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT
{
XrStructureType type;
const void *next;
- XrPath interactionProfile;
- uint32_t countSuggestedBindings;
- const XrActionSuggestedBinding *suggestedBindings;
-};
-
-struct XrSecondaryViewConfigurationFrameEndInfoMSFT
-{
- XrStructureType type;
- const void *next;
- uint32_t viewConfigurationCount;
- const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo;
+ XrViewConfigurationType viewConfigurationType;
};
struct XrSpatialAnchorCreateInfoMSFT
@@ -1828,22 +2273,23 @@ struct XrSwapchainSubImage
uint32_t imageArrayIndex;
};
-struct XrVulkanSwapchainFormatListCreateInfoKHR
+struct XrVulkanInstanceCreateInfoKHR
{
XrStructureType type;
const void *next;
- uint32_t viewFormatCount;
- const VkFormat *viewFormats;
+ XrSystemId systemId;
+ XrVulkanInstanceCreateFlagsKHR createFlags;
+ PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
+ const VkInstanceCreateInfo *vulkanCreateInfo;
+ const VkAllocationCallbacks *vulkanAllocator;
};
-struct XrApiLayerProperties
+struct XrBindingModificationsKHR
{
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];
+ const void *next;
+ uint32_t bindingModificationCount;
+ const XrBindingModificationBaseHeaderKHR * const*bindingModifications;
};
struct XrCompositionLayerDepthInfoKHR
@@ -1871,66 +2317,68 @@ struct XrCompositionLayerEquirectKHR
XrVector2f bias;
};
-struct XrCompositionLayerQuad
+struct XrCompositionLayerProjectionView
{
XrStructureType type;
const void *next;
- XrCompositionLayerFlags layerFlags;
- XrSpace space;
- XrEyeVisibility eyeVisibility;
- XrSwapchainSubImage subImage;
XrPosef pose;
- XrExtent2Df size;
+ XrFovf fov;
+ XrSwapchainSubImage subImage;
};
-struct XrFovf
-{
- float angleLeft;
- float angleRight;
- float angleUp;
- float angleDown;
-};
-
-struct XrHandMeshIndexBufferMSFT
-{
- uint32_t indexBufferKey;
- uint32_t indexCapacityInput;
- uint32_t indexCountOutput;
- uint32_t *indices;
-};
-
-struct XrHolographicWindowAttachmentMSFT
-{
- XrStructureType type;
- const void *next;
- IUnknown *holographicSpace;
- IUnknown *coreWindow;
-};
-
-struct XrSessionBeginInfo
-{
- XrStructureType type;
- const void *next;
- XrViewConfigurationType primaryViewConfigurationType;
-};
-
-struct XrSystemProperties
+struct XrControllerModelStateMSFT
{
XrStructureType type;
void *next;
- XrSystemId systemId;
- uint32_t vendorId;
- char systemName[XR_MAX_SYSTEM_NAME_SIZE];
- XrSystemGraphicsProperties graphicsProperties;
- XrSystemTrackingProperties trackingProperties;
+ uint32_t nodeCapacityInput;
+ uint32_t nodeCountOutput;
+ XrControllerModelNodeStateMSFT *nodeStates;
};
-struct XrViewConfigurationViewFovEPIC
+struct XrHandJointLocationsEXT
+{
+ XrStructureType type;
+ void *next;
+ XrBool32 isActive;
+ uint32_t jointCount;
+ XrHandJointLocationEXT *jointLocations;
+};
+
+struct XrHandMeshVertexBufferMSFT
+{
+ XrTime vertexUpdateTime;
+ uint32_t vertexCapacityInput;
+ uint32_t vertexCountOutput;
+ XrHandMeshVertexMSFT *vertices;
+};
+
+struct XrSceneBoundsMSFT
+{
+ XrSpace space;
+ XrTime time;
+ uint32_t sphereCount;
+ const XrSceneSphereBoundMSFT *spheres;
+ uint32_t boxCount;
+ const XrSceneOrientedBoxBoundMSFT *boxes;
+ uint32_t frustumCount;
+ const XrSceneFrustumBoundMSFT *frustums;
+};
+
+struct XrScenePlanesMSFT
+{
+ XrStructureType type;
+ void *next;
+ uint32_t scenePlaneCount;
+ XrScenePlaneMSFT *scenePlanes;
+};
+
+struct XrSpatialGraphNodeSpaceCreateInfoMSFT
{
XrStructureType type;
const void *next;
- XrFovf recommendedFov;
- XrFovf maxMutableFov;
+ XrSpatialGraphNodeTypeMSFT nodeType;
+ uint8_t nodeId[16];
+ XrPosef pose;
};
struct XrCompositionLayerCylinderKHR
@@ -1947,35 +2395,40 @@ struct XrCompositionLayerCylinderKHR
float aspectRatio;
};
-struct XrCompositionLayerProjectionView
+struct XrCompositionLayerProjection
{
XrStructureType type;
const void *next;
- XrPosef pose;
- XrFovf fov;
- XrSwapchainSubImage subImage;
+ XrCompositionLayerFlags layerFlags;
+ XrSpace space;
+ uint32_t viewCount;
+ const XrCompositionLayerProjectionView *views;
};
-struct XrGraphicsRequirementsVulkanKHR
-{
- XrStructureType type;
- void *next;
- XrVersion minApiVersionSupported;
- XrVersion maxApiVersionSupported;
-};
-
-struct XrRect2Df
-{
- XrOffset2Df offset;
- XrExtent2Df extent;
-};
-
-struct XrView
+struct XrGraphicsBindingOpenGLWin32KHR
+{
+ XrStructureType type;
+ const void *next;
+ HDC hDC;
+ HGLRC hGLRC;
+};
+
+struct XrNewSceneComputeInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ uint32_t requestedFeatureCount;
+ const XrSceneComputeFeatureMSFT *requestedFeatures;
+ XrSceneComputeConsistencyMSFT consistency;
+ XrSceneBoundsMSFT bounds;
+};
+
+struct XrSpaceLocation
{
XrStructureType type;
void *next;
+ XrSpaceLocationFlags locationFlags;
XrPosef pose;
- XrFovf fov;
};
struct XrCompositionLayerEquirect2KHR
@@ -1993,30 +2446,6 @@ struct XrCompositionLayerEquirect2KHR
float lowerVerticalAngle;
};
-struct XrEventDataBuffer
-{
- XrStructureType type;
- const void *next;
- uint8_t varying[4000];
-};
-
-struct XrSwapchainImageD3D11KHR
-{
- XrStructureType type;
- void *next;
- ID3D11Texture2D *texture;
-};
-
-struct XrCompositionLayerProjection
-{
- XrStructureType type;
- const void *next;
- XrCompositionLayerFlags layerFlags;
- XrSpace space;
- uint32_t viewCount;
- const XrCompositionLayerProjectionView *views;
-};
-
struct XrHandMeshMSFT
{
XrStructureType type;
@@ -2028,11 +2457,41 @@ struct XrHandMeshMSFT
XrHandMeshVertexBufferMSFT vertexBuffer;
};
+struct XrView
+{
+ XrStructureType type;
+ void *next;
+ XrPosef pose;
+ XrFovf fov;
+};
+
+struct XrCompositionLayerQuad
+{
+ XrStructureType type;
+ const void *next;
+ XrCompositionLayerFlags layerFlags;
+ XrSpace space;
+ XrEyeVisibility eyeVisibility;
+ XrSwapchainSubImage subImage;
+ XrPosef pose;
+ XrExtent2Df size;
+};
+
+struct XrSceneComponentsMSFT
+{
+ XrStructureType type;
+ void *next;
+ uint32_t componentCapacityInput;
+ uint32_t componentCountOutput;
+ XrSceneComponentMSFT *components;
+};
+
typedef XrResult (XRAPI_PTR *PFN_xrAcquireSwapchainImage)(XrSwapchain, const XrSwapchainImageAcquireInfo *, uint32_t *);
typedef XrResult (XRAPI_PTR *PFN_xrApplyHapticFeedback)(XrSession, const XrHapticActionInfo *, const XrHapticBaseHeader *);
typedef XrResult (XRAPI_PTR *PFN_xrAttachSessionActionSets)(XrSession, const XrSessionActionSetsAttachInfo *);
typedef XrResult (XRAPI_PTR *PFN_xrBeginFrame)(XrSession, const XrFrameBeginInfo *);
typedef XrResult (XRAPI_PTR *PFN_xrBeginSession)(XrSession, const XrSessionBeginInfo *);
+typedef XrResult (XRAPI_PTR *PFN_xrComputeNewSceneMSFT)(XrSceneObserverMSFT, const XrNewSceneComputeInfoMSFT *);
typedef XrResult (XRAPI_PTR *PFN_xrConvertTimeToWin32PerformanceCounterKHR)(XrInstance, XrTime, LARGE_INTEGER *);
typedef XrResult (XRAPI_PTR *PFN_xrConvertWin32PerformanceCounterToTimeKHR)(XrInstance, const LARGE_INTEGER *, XrTime *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateAction)(XrActionSet, const XrActionCreateInfo *, XrAction *);
@@ -2042,6 +2501,8 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateHandMeshSpaceMSFT)(XrHandTrackerEXT, co
typedef XrResult (XRAPI_PTR *PFN_xrCreateHandTrackerEXT)(XrSession, const XrHandTrackerCreateInfoEXT *, XrHandTrackerEXT *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateInstance)(const XrInstanceCreateInfo *, XrInstance *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateReferenceSpace)(XrSession, const XrReferenceSpaceCreateInfo *, XrSpace *);
+typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneMSFT)(XrSceneObserverMSFT, const XrSceneCreateInfoMSFT *, XrSceneMSFT *);
+typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneObserverMSFT)(XrSession, const XrSceneObserverCreateInfoMSFT *, XrSceneObserverMSFT *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateSession)(XrInstance, const XrSessionCreateInfo *, XrSession *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorMSFT)(XrSession, const XrSpatialAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorSpaceMSFT)(XrSession, const XrSpatialAnchorSpaceCreateInfoMSFT *, XrSpace *);
@@ -2049,10 +2510,13 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialGraphNodeSpaceMSFT)(XrSession, c
typedef XrResult (XRAPI_PTR *PFN_xrCreateSwapchain)(XrSession, const XrSwapchainCreateInfo *, XrSwapchain *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanDeviceKHR)(XrInstance, const XrVulkanDeviceCreateInfoKHR *, VkDevice *, VkResult *);
typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanInstanceKHR)(XrInstance, const XrVulkanInstanceCreateInfoKHR *, VkInstance *, VkResult *);
+typedef XrResult (XRAPI_PTR *PFN_xrDeserializeSceneMSFT)(XrSceneObserverMSFT, const XrSceneDeserializeInfoMSFT *);
typedef XrResult (XRAPI_PTR *PFN_xrDestroyAction)(XrAction);
typedef XrResult (XRAPI_PTR *PFN_xrDestroyActionSet)(XrActionSet);
typedef XrResult (XRAPI_PTR *PFN_xrDestroyHandTrackerEXT)(XrHandTrackerEXT);
typedef XrResult (XRAPI_PTR *PFN_xrDestroyInstance)(XrInstance);
+typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneMSFT)(XrSceneMSFT);
+typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT);
typedef XrResult (XRAPI_PTR *PFN_xrDestroySession)(XrSession);
typedef XrResult (XRAPI_PTR *PFN_xrDestroySpace)(XrSpace);
typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT);
@@ -2066,6 +2530,8 @@ typedef XrResult (XRAPI_PTR *PFN_xrEnumerateDisplayRefreshRatesFB)(XrSession, ui
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 *);
+typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReprojectionModesMSFT)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrReprojectionModeMSFT *);
+typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSceneComputeFeatureMSFT *);
typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSwapchainFormats)(XrSession, uint32_t, uint32_t *, int64_t *);
typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSwapchainImages)(XrSwapchain, uint32_t, uint32_t *, XrSwapchainImageBaseHeader *);
typedef XrResult (XRAPI_PTR *PFN_xrEnumerateViewConfigurationViews)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrViewConfigurationView *);
@@ -2074,6 +2540,8 @@ 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_xrGetAudioInputDeviceGuidOculus)(XrInstance, wchar_t[]);
+typedef XrResult (XRAPI_PTR *PFN_xrGetAudioOutputDeviceGuidOculus)(XrInstance, wchar_t[]);
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 *);
@@ -2086,6 +2554,11 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetInstanceProcAddr)(XrInstance, const char *
typedef XrResult (XRAPI_PTR *PFN_xrGetInstanceProperties)(XrInstance, XrInstanceProperties *);
typedef XrResult (XRAPI_PTR *PFN_xrGetOpenGLGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsOpenGLKHR *);
typedef XrResult (XRAPI_PTR *PFN_xrGetReferenceSpaceBoundsRect)(XrSession, XrReferenceSpaceType, XrExtent2Df *);
+typedef XrResult (XRAPI_PTR *PFN_xrGetSceneComponentsMSFT)(XrSceneMSFT, const XrSceneComponentsGetInfoMSFT *, XrSceneComponentsMSFT *);
+typedef XrResult (XRAPI_PTR *PFN_xrGetSceneComputeStateMSFT)(XrSceneObserverMSFT, XrSceneComputeStateMSFT *);
+typedef XrResult (XRAPI_PTR *PFN_xrGetSceneMeshBuffersMSFT)(XrSceneMSFT, const XrSceneMeshBuffersGetInfoMSFT *, XrSceneMeshBuffersMSFT *);
+typedef XrResult (XRAPI_PTR *PFN_xrGetSerializedSceneFragmentDataMSFT)(XrSceneMSFT, const XrSerializedSceneFragmentDataGetInfoMSFT *, uint32_t, uint32_t *, uint8_t *);
+typedef XrResult (XRAPI_PTR *PFN_xrGetSwapchainStateFB)(XrSwapchain, XrSwapchainStateBaseHeaderFB *);
typedef XrResult (XRAPI_PTR *PFN_xrGetSystem)(XrInstance, const XrSystemGetInfo *, XrSystemId *);
typedef XrResult (XRAPI_PTR *PFN_xrGetSystemProperties)(XrInstance, XrSystemId, XrSystemProperties *);
typedef XrResult (XRAPI_PTR *PFN_xrGetViewConfigurationProperties)(XrInstance, XrSystemId, XrViewConfigurationType, XrViewConfigurationProperties *);
@@ -2098,6 +2571,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsRequirementsKHR)(XrInstance,
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_xrLocateSceneComponentsMSFT)(XrSceneMSFT, const XrSceneComponentsLocateInfoMSFT *, XrSceneComponentLocationsMSFT *);
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 *);
typedef XrResult (XRAPI_PTR *PFN_xrPathToString)(XrInstance, XrPath, uint32_t, uint32_t *, char *);
@@ -2121,6 +2595,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrSuggestInteractionProfileBindings)(XrInstance
typedef XrResult (XRAPI_PTR *PFN_xrSyncActions)(XrSession, const XrActionsSyncInfo *);
typedef XrResult (XRAPI_PTR *PFN_xrThermalGetTemperatureTrendEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsNotificationLevelEXT *, float *, float *);
typedef XrResult (XRAPI_PTR *PFN_xrUpdateHandMeshMSFT)(XrHandTrackerEXT, const XrHandMeshUpdateInfoMSFT *, XrHandMeshMSFT *);
+typedef XrResult (XRAPI_PTR *PFN_xrUpdateSwapchainFB)(XrSwapchain, const XrSwapchainStateBaseHeaderFB *);
typedef XrResult (XRAPI_PTR *PFN_xrWaitFrame)(XrSession, const XrFrameWaitInfo *, XrFrameState *);
typedef XrResult (XRAPI_PTR *PFN_xrWaitSwapchainImage)(XrSwapchain, const XrSwapchainImageWaitInfo *);
@@ -2130,6 +2605,7 @@ XrResult XRAPI_CALL xrApplyHapticFeedback(XrSession session, const XrHapticActio
XrResult XRAPI_CALL xrAttachSessionActionSets(XrSession session, const XrSessionActionSetsAttachInfo *attachInfo);
XrResult XRAPI_CALL xrBeginFrame(XrSession session, const XrFrameBeginInfo *frameBeginInfo);
XrResult XRAPI_CALL xrBeginSession(XrSession session, const XrSessionBeginInfo *beginInfo);
+XrResult XRAPI_CALL xrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrNewSceneComputeInfoMSFT *computeInfo);
XrResult XRAPI_CALL xrConvertTimeToWin32PerformanceCounterKHR(XrInstance instance, XrTime time, LARGE_INTEGER *performanceCounter);
XrResult XRAPI_CALL xrConvertWin32PerformanceCounterToTimeKHR(XrInstance instance, const LARGE_INTEGER *performanceCounter, XrTime *time);
XrResult XRAPI_CALL xrCreateAction(XrActionSet actionSet, const XrActionCreateInfo *createInfo, XrAction *action);
@@ -2139,6 +2615,8 @@ XrResult XRAPI_CALL xrCreateHandMeshSpaceMSFT(XrHandTrackerEXT handTracker, cons
XrResult XRAPI_CALL xrCreateHandTrackerEXT(XrSession session, const XrHandTrackerCreateInfoEXT *createInfo, XrHandTrackerEXT *handTracker);
XrResult XRAPI_CALL xrCreateInstance(const XrInstanceCreateInfo *createInfo, XrInstance *instance);
XrResult XRAPI_CALL xrCreateReferenceSpace(XrSession session, const XrReferenceSpaceCreateInfo *createInfo, XrSpace *space);
+XrResult XRAPI_CALL xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene);
+XrResult XRAPI_CALL xrCreateSceneObserverMSFT(XrSession session, const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *sceneObserver);
XrResult XRAPI_CALL xrCreateSession(XrInstance instance, const XrSessionCreateInfo *createInfo, XrSession *session);
XrResult XRAPI_CALL xrCreateSpatialAnchorMSFT(XrSession session, const XrSpatialAnchorCreateInfoMSFT *createInfo, XrSpatialAnchorMSFT *anchor);
XrResult XRAPI_CALL xrCreateSpatialAnchorSpaceMSFT(XrSession session, const XrSpatialAnchorSpaceCreateInfoMSFT *createInfo, XrSpace *space);
@@ -2146,10 +2624,13 @@ XrResult XRAPI_CALL xrCreateSpatialGraphNodeSpaceMSFT(XrSession session, const X
XrResult XRAPI_CALL xrCreateSwapchain(XrSession session, const XrSwapchainCreateInfo *createInfo, XrSwapchain *swapchain);
XrResult XRAPI_CALL xrCreateVulkanDeviceKHR(XrInstance instance, const XrVulkanDeviceCreateInfoKHR *createInfo, VkDevice *vulkanDevice, VkResult *vulkanResult);
XrResult XRAPI_CALL xrCreateVulkanInstanceKHR(XrInstance instance, const XrVulkanInstanceCreateInfoKHR *createInfo, VkInstance *vulkanInstance, VkResult *vulkanResult);
+XrResult XRAPI_CALL xrDeserializeSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneDeserializeInfoMSFT *deserializeInfo);
XrResult XRAPI_CALL xrDestroyAction(XrAction action);
XrResult XRAPI_CALL xrDestroyActionSet(XrActionSet actionSet);
XrResult XRAPI_CALL xrDestroyHandTrackerEXT(XrHandTrackerEXT handTracker);
XrResult XRAPI_CALL xrDestroyInstance(XrInstance instance);
+XrResult XRAPI_CALL xrDestroySceneMSFT(XrSceneMSFT scene);
+XrResult XRAPI_CALL xrDestroySceneObserverMSFT(XrSceneObserverMSFT sceneObserver);
XrResult XRAPI_CALL xrDestroySession(XrSession session);
XrResult XRAPI_CALL xrDestroySpace(XrSpace space);
XrResult XRAPI_CALL xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor);
@@ -2163,6 +2644,8 @@ XrResult XRAPI_CALL xrEnumerateDisplayRefreshRatesFB(XrSession session, uint32_t
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);
+XrResult XRAPI_CALL xrEnumerateReprojectionModesMSFT(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t modeCapacityInput, uint32_t *modeCountOutput, XrReprojectionModeMSFT *modes);
+XrResult XRAPI_CALL xrEnumerateSceneComputeFeaturesMSFT(XrInstance instance, XrSystemId systemId, uint32_t featureCapacityInput, uint32_t *featureCountOutput, XrSceneComputeFeatureMSFT *features);
XrResult XRAPI_CALL xrEnumerateSwapchainFormats(XrSession session, uint32_t formatCapacityInput, uint32_t *formatCountOutput, int64_t *formats);
XrResult XRAPI_CALL xrEnumerateSwapchainImages(XrSwapchain swapchain, uint32_t imageCapacityInput, uint32_t *imageCountOutput, XrSwapchainImageBaseHeader *images);
XrResult XRAPI_CALL xrEnumerateViewConfigurationViews(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrViewConfigurationView *views);
@@ -2171,6 +2654,8 @@ 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 xrGetAudioInputDeviceGuidOculus(XrInstance instance, wchar_t buffer[]);
+XrResult XRAPI_CALL xrGetAudioOutputDeviceGuidOculus(XrInstance instance, wchar_t buffer[]);
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);
@@ -2183,6 +2668,11 @@ XrResult XRAPI_CALL xrGetInstanceProcAddr(XrInstance instance, const char *name,
XrResult XRAPI_CALL xrGetInstanceProperties(XrInstance instance, XrInstanceProperties *instanceProperties);
XrResult XRAPI_CALL xrGetOpenGLGraphicsRequirementsKHR(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLKHR *graphicsRequirements);
XrResult XRAPI_CALL xrGetReferenceSpaceBoundsRect(XrSession session, XrReferenceSpaceType referenceSpaceType, XrExtent2Df *bounds);
+XrResult XRAPI_CALL xrGetSceneComponentsMSFT(XrSceneMSFT scene, const XrSceneComponentsGetInfoMSFT *getInfo, XrSceneComponentsMSFT *components);
+XrResult XRAPI_CALL xrGetSceneComputeStateMSFT(XrSceneObserverMSFT sceneObserver, XrSceneComputeStateMSFT *state);
+XrResult XRAPI_CALL xrGetSceneMeshBuffersMSFT(XrSceneMSFT scene, const XrSceneMeshBuffersGetInfoMSFT *getInfo, XrSceneMeshBuffersMSFT *buffers);
+XrResult XRAPI_CALL xrGetSerializedSceneFragmentDataMSFT(XrSceneMSFT scene, const XrSerializedSceneFragmentDataGetInfoMSFT *getInfo, uint32_t countInput, uint32_t *readOutput, uint8_t *buffer);
+XrResult XRAPI_CALL xrGetSwapchainStateFB(XrSwapchain swapchain, XrSwapchainStateBaseHeaderFB *state);
XrResult XRAPI_CALL xrGetSystem(XrInstance instance, const XrSystemGetInfo *getInfo, XrSystemId *systemId);
XrResult XRAPI_CALL xrGetSystemProperties(XrInstance instance, XrSystemId systemId, XrSystemProperties *properties);
XrResult XRAPI_CALL xrGetViewConfigurationProperties(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, XrViewConfigurationProperties *configurationProperties);
@@ -2195,6 +2685,7 @@ XrResult XRAPI_CALL xrGetVulkanGraphicsRequirementsKHR(XrInstance instance, XrSy
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 xrLocateSceneComponentsMSFT(XrSceneMSFT scene, const XrSceneComponentsLocateInfoMSFT *locateInfo, XrSceneComponentLocationsMSFT *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);
XrResult XRAPI_CALL xrPathToString(XrInstance instance, XrPath path, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer);
@@ -2218,6 +2709,7 @@ XrResult XRAPI_CALL xrSuggestInteractionProfileBindings(XrInstance instance, con
XrResult XRAPI_CALL xrSyncActions(XrSession session, const XrActionsSyncInfo *syncInfo);
XrResult XRAPI_CALL xrThermalGetTemperatureTrendEXT(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsNotificationLevelEXT *notificationLevel, float *tempHeadroom, float *tempSlope);
XrResult XRAPI_CALL xrUpdateHandMeshMSFT(XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT *updateInfo, XrHandMeshMSFT *handMesh);
+XrResult XRAPI_CALL xrUpdateSwapchainFB(XrSwapchain swapchain, const XrSwapchainStateBaseHeaderFB *state);
XrResult XRAPI_CALL xrWaitFrame(XrSession session, const XrFrameWaitInfo *frameWaitInfo, XrFrameState *frameState);
XrResult XRAPI_CALL xrWaitSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageWaitInfo *waitInfo);
#endif /* XR_NO_PROTOTYPES */
diff --git a/wineopenxr/xr.xml b/wineopenxr/xr.xml
index 41c4b5fe..4570a1e7 100644
--- a/wineopenxr/xr.xml
+++ b/wineopenxr/xr.xml
@@ -18,38 +18,38 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -68,6 +68,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
+
@@ -89,14 +90,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
+
+
+
+
#define XR_MAKE_VERSION(major, minor, patch) \
@@ -111,7 +116,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
updates them automatically by processing a line at a time.
-->
// OpenXR current version number.
-#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 15)
+#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 17)
#if !defined(XR_MAY_ALIAS)
-#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4))
+#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4))
#define XR_MAY_ALIAS __attribute__((__may_alias__))
#else
#define XR_MAY_ALIAS
@@ -208,6 +213,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
+
@@ -220,30 +226,30 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
- 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 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 XrVulkanInstanceCreateFlagsKHR;
+ typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR;
- typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
- typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT;
+ typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
+ typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT;
- typedef XrFlags64 XrOverlayMainSessionFlagsEXTX;
- typedef XrFlags64 XrOverlaySessionCreateFlagsEXTX;
+ typedef XrFlags64 XrOverlayMainSessionFlagsEXTX;
+ typedef XrFlags64 XrOverlaySessionCreateFlagsEXTX;
- typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB;
+ typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB;
@@ -1015,15 +1021,15 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
const VkDeviceCreateInfo* vulkanCreateInfo
const VkAllocationCallbacks* vulkanAllocator
-
+
XrStructureType type
const void* next
XrSystemId systemId
VkInstance vulkanInstance
-
-
+
+
@@ -1194,6 +1200,14 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
XrHandJointVelocityEXT* jointVelocities
+
+
+
+ XrStructureType type
+ const void* next
+ XrHandJointsMotionRangeEXT handJointsMotionRange
+
+
@@ -1295,9 +1309,56 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
- XrStructureType type
- const void* next
- XrAndroidSurfaceSwapchainFlagsFB createFlags
+ XrStructureType type
+ const void* next
+ XrAndroidSurfaceSwapchainFlagsFB createFlags
+
+
+
+
+ XrStructureType type
+ void* next
+
+
+
+
+ XrStructureType type
+ void* next
+ uint32_t width
+ uint32_t height
+
+
+
+
+ XrStructureType type
+ void* next
+ EGLenum minFilter
+ EGLenum magFilter
+ EGLenum wrapModeS
+ EGLenum wrapModeT
+ EGLenum swizzleRed
+ EGLenum swizzleGreen
+ EGLenum swizzleBlue
+ EGLenum swizzleAlpha
+ float maxAnisotropy
+ XrColor4f borderColor
+
+
+
+
+ XrStructureType type
+ void* next
+ VkFilter minFilter
+ VkFilter magFilter
+ VkSamplerMipmapMode mipmapMode
+ VkSamplerAddressMode wrapModeS
+ VkSamplerAddressMode wrapModeT
+ VkComponentSwizzle swizzleRed
+ VkComponentSwizzle swizzleGreen
+ VkComponentSwizzle swizzleBlue
+ VkComponentSwizzle swizzleAlpha
+ float maxAnisotropy
+ XrColor4f borderColor
@@ -1369,12 +1430,203 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
XrControllerModelNodeStateMSFT* nodeStates
+
+
+ XR_DEFINE_HANDLE(XrSceneObserverMSFT)
+
+ XR_DEFINE_HANDLE(XrSceneMSFT)
+
+
+
+
+
+
+
+
+ uint8_t bytes[16]
+
+
+ XrStructureType type
+ const void* next
+
+
+ XrStructureType type
+ const void* next
+
+
+ XrStructureType type
+ const void* next
+ uint32_t requestedFeatureCount
+ const XrSceneComputeFeatureMSFT* requestedFeatures
+ XrSceneComputeConsistencyMSFT consistency
+ XrSceneBoundsMSFT bounds
+
+
+ XrStructureType type
+ const void* next
+ XrMeshComputeLodMSFT lod
+
+
+ XrVector3f center
+ float radius
+
+
+ XrPosef pose
+ XrVector3f extents
+
+
+ XrPosef pose
+ XrFovf fov
+ float farDistance
+
+
+ XrSpace space
+ XrTime time
+ uint32_t sphereCount
+ const XrSceneSphereBoundMSFT* spheres
+ uint32_t boxCount
+ const XrSceneOrientedBoxBoundMSFT* boxes
+ uint32_t frustumCount
+ const XrSceneFrustumBoundMSFT* frustums
+
+
+ XrSceneComponentTypeMSFT componentType
+ XrUuidMSFT id
+ XrUuidMSFT parentId
+ XrTime updateTime
+
+
+ XrStructureType type
+ void* next
+ uint32_t componentCapacityInput
+ uint32_t componentCountOutput
+ XrSceneComponentMSFT* components
+
+
+ XrStructureType type
+ const void* next
+ XrSceneComponentTypeMSFT componentType
+
+
+ XrSpaceLocationFlags flags
+ XrPosef pose
+
+
+ XrStructureType type
+ void* next
+ uint32_t locationCount
+ XrSceneComponentLocationMSFT* locations
+
+
+ XrStructureType type
+ const void* next
+ XrSpace baseSpace
+ XrTime time
+ uint32_t componentIdCount
+ const XrUuidMSFT* componentIds
+
+
+ XrSceneObjectTypeMSFT objectType
+
+
+ XrStructureType type
+ void* next
+ uint32_t sceneObjectCount
+ XrSceneObjectMSFT* sceneObjects
+
+
+ XrStructureType type
+ const void* next
+ XrUuidMSFT parentId
+
+
+ XrStructureType type
+ const void* next
+ uint32_t objectTypeCount
+ const XrSceneObjectTypeMSFT* objectTypes
+
+
+ XrScenePlaneAlignmentTypeMSFT alignment
+ XrExtent2Df size
+ uint64_t meshBufferId
+ XrBool32 supportsIndicesUint16
+
+
+ XrStructureType type
+ void* next
+ uint32_t scenePlaneCount
+ XrScenePlaneMSFT* scenePlanes
+
+
+ XrStructureType type
+ const void* next
+ uint32_t alignmentCount
+ const XrScenePlaneAlignmentTypeMSFT* alignments
+
+
+ uint64_t meshBufferId
+ XrBool32 supportsIndicesUint16
+
+
+ XrStructureType type
+ void* next
+ uint32_t sceneMeshCount
+ XrSceneMeshMSFT* sceneMeshes
+
+
+ XrStructureType type
+ const void* next
+ uint64_t meshBufferId
+
+
+ XrStructureType type
+ void* next
+
+
+ XrStructureType type
+ void* next
+ uint32_t vertexCapacityInput
+ uint32_t vertexCountOutput
+ XrVector3f* vertices
+
+
+ XrStructureType type
+ void* next
+ uint32_t indexCapacityInput
+ uint32_t indexCountOutput
+ uint32_t* indices
+
+
+ XrStructureType type
+ void* next
+ uint32_t indexCapacityInput
+ uint32_t indexCountOutput
+ uint16_t* indices
+
+
+
+
+ XrStructureType type
+ const void* next
+ XrUuidMSFT sceneFragmentId
+
+
+ uint32_t bufferSize
+ const uint8_t* buffer
+
+
+ XrStructureType type
+ const void* next
+ uint32_t fragmentCount
+ const XrDeserializeSceneFragmentMSFT* fragments
+
+
- XrStructureType type
- void* next
- XrColorSpaceFB colorSpace
+ XrStructureType type
+ void* next
+ XrColorSpaceFB colorSpace
@@ -1387,12 +1639,12 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
- XrStructureType type
- const void* next
- XrBool32 foveatedRenderingActive
+ XrStructureType type
+ const void* next
+ XrBool32 foveatedRenderingActive
-
+
XrStructureType type
void* next
XrBool32 foveatedRenderingActive
@@ -1404,12 +1656,27 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
XrBool32 supportsFoveatedRendering
+
+
+
+ XrStructureType type
+ const void* next
+ XrReprojectionModeMSFT reprojectionMode
+
+
+ XrStructureType type
+ const void* next
+ XrVector3f position
+ XrVector3f normal
+ XrVector3f velocity
+
+
-
+
@@ -1438,135 +1705,136 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
be generated inside an appropriate definition. -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
@@ -1576,38 +1844,38 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1716,45 +1998,45 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
+
+
+
@@ -1767,59 +2049,105 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
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
@@ -1828,36 +2156,36 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -1870,15 +2198,15 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
XrResult xrDestroySpace
XrSpace space
-
-
+
+
XrResult xrEnumerateSwapchainFormats
XrSession session
uint32_t formatCapacityInput
uint32_t* formatCountOutput
int64_t* formats
-
+
XrResult xrCreateSwapchain
XrSession session
const XrSwapchainCreateInfo* createInfo
@@ -1888,69 +2216,69 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -1958,7 +2286,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* viewConfigurationTypeCountOutput
XrViewConfigurationType* viewConfigurationTypes
-
+
XrResult xrEnumerateEnvironmentBlendModes
XrInstance instance
XrSystemId systemId
@@ -1967,14 +2295,14 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* environmentBlendModeCountOutput
XrEnvironmentBlendMode* environmentBlendModes
-
+
XrResult xrGetViewConfigurationProperties
XrInstance instance
XrSystemId systemId
XrViewConfigurationType viewConfigurationType
XrViewConfigurationProperties* configurationProperties
-
+
XrResult xrEnumerateViewConfigurationViews
XrInstance instance
XrSystemId systemId
@@ -1983,12 +2311,12 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* viewCountOutput
XrViewConfigurationView* views
-
+
XrResult xrBeginFrame
XrSession session
const XrFrameBeginInfo* frameBeginInfo
-
+
XrResult xrLocateViews
XrSession session
const XrViewLocateInfo* viewLocateInfo
@@ -1997,12 +2325,12 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* viewCountOutput
XrView* views
-
+
XrResult xrEndFrame
XrSession session
const XrFrameEndInfo* frameEndInfo
-
+
XrResult xrWaitFrame
XrSession session
const XrFrameWaitInfo* frameWaitInfo
@@ -2011,29 +2339,29 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -2041,50 +2369,50 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -2094,7 +2422,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
XrResult xrDestroyActionSet
XrActionSet actionSet
-
+
XrResult xrCreateAction
XrActionSet actionSet
const XrActionCreateInfo* createInfo
@@ -2104,28 +2432,28 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -2133,7 +2461,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* sourceCountOutput
XrPath* sources
-
+
XrResult xrGetInputSourceLocalizedName
XrSession session
const XrInputSourceLocalizedNameGetInfo* getInfo
@@ -2141,7 +2469,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* bufferCountOutput
char* buffer
-
+
XrResult xrGetVulkanInstanceExtensionsKHR
XrInstance instance
XrSystemId systemId
@@ -2149,7 +2477,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
uint32_t* bufferCountOutput
char* buffer
-
+
XrResult xrGetVulkanDeviceExtensionsKHR
XrInstance instance
XrSystemId systemId
@@ -2157,50 +2485,50 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -2208,54 +2536,54 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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
@@ -2263,36 +2591,36 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
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
@@ -2300,7 +2628,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
XrResult xrGetVisibilityMaskKHR
XrSession session
XrViewConfigurationType viewConfigurationType
@@ -2310,58 +2638,53 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
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
@@ -2371,14 +2694,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
XrResult xrInitializeLoaderKHR
const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo
-
+
XrResult xrCreateSpatialGraphNodeSpaceMSFT
XrSession session
const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo
@@ -2386,18 +2708,17 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
XrResult xrCreateHandTrackerEXT
XrSession session
const XrHandTrackerCreateInfoEXT* createInfo
XrHandTrackerEXT* handTracker
-
+
XrResult xrDestroyHandTrackerEXT
XrHandTrackerEXT handTracker
-
+
XrResult xrLocateHandJointsEXT
XrHandTrackerEXT handTracker
const XrHandJointsLocateInfoEXT* locateInfo
@@ -2405,15 +2726,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
XrResult xrCreateHandMeshSpaceMSFT
XrHandTrackerEXT handTracker
const XrHandMeshSpaceCreateInfoMSFT* createInfo
XrSpace* space
-
+
XrResult xrUpdateHandMeshMSFT
XrHandTrackerEXT handTracker
const XrHandMeshUpdateInfoMSFT* updateInfo
@@ -2421,13 +2740,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
XrResult xrGetControllerModelKeyMSFT
XrSession session
XrPath topLevelUserPath
XrControllerModelKeyStateMSFT* controllerModelKeyState
-
+
XrResult xrLoadControllerModelMSFT
XrSession session
XrControllerModelKeyMSFT modelKey
@@ -2435,72 +2754,182 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
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 xrEnumerateSceneComputeFeaturesMSFT
+ XrInstance instance
+ XrSystemId systemId
+ uint32_t featureCapacityInput
+ uint32_t* featureCountOutput
+ XrSceneComputeFeatureMSFT* features
+
+
+ XrResult xrCreateSceneObserverMSFT
+ XrSession session
+ const XrSceneObserverCreateInfoMSFT* createInfo
+ XrSceneObserverMSFT* sceneObserver
+
+
+ XrResult xrDestroySceneObserverMSFT
+ XrSceneObserverMSFT sceneObserver
+
+
+ XrResult xrCreateSceneMSFT
+ XrSceneObserverMSFT sceneObserver
+ const XrSceneCreateInfoMSFT* createInfo
+ XrSceneMSFT* scene
+
+
+ XrResult xrDestroySceneMSFT
+ XrSceneMSFT scene
+
+
+ XrResult xrComputeNewSceneMSFT
+ XrSceneObserverMSFT sceneObserver
+ const XrNewSceneComputeInfoMSFT* computeInfo
+
+
+ XrResult xrGetSceneComputeStateMSFT
+ XrSceneObserverMSFT sceneObserver
+ XrSceneComputeStateMSFT* state
+
+
+ XrResult xrGetSceneComponentsMSFT
+ XrSceneMSFT scene
+ const XrSceneComponentsGetInfoMSFT* getInfo
+ XrSceneComponentsMSFT* components
+
+
+ XrResult xrLocateSceneComponentsMSFT
+ XrSceneMSFT scene
+ const XrSceneComponentsLocateInfoMSFT* locateInfo
+ XrSceneComponentLocationsMSFT* locations
+
+
+ XrResult xrGetSceneMeshBuffersMSFT
+ XrSceneMSFT scene
+ const XrSceneMeshBuffersGetInfoMSFT* getInfo
+ XrSceneMeshBuffersMSFT* buffers
+
-
-
- XrResult xrCreateSpatialAnchorFromPerceptionAnchorMSFT
- XrSession session
- IUnknown* perceptionAnchor
- XrSpatialAnchorMSFT* anchor
-
-
- XrResult xrTryGetPerceptionAnchorFromSpatialAnchorMSFT
- XrSession session
- XrSpatialAnchorMSFT anchor
- IUnknown** perceptionAnchor
-
+
+
+ XrResult xrDeserializeSceneMSFT
+ XrSceneObserverMSFT sceneObserver
+ const XrSceneDeserializeInfoMSFT* deserializeInfo
+
+
+ XrResult xrGetSerializedSceneFragmentDataMSFT
+ XrSceneMSFT scene
+ const XrSerializedSceneFragmentDataGetInfoMSFT* getInfo
+ uint32_t countInput
+ uint32_t* readOutput
+ uint8_t* buffer
+
-
-
- XrResult xrEnumerateColorSpacesFB
- XrSession session
- uint32_t colorSpaceCapacityInput
- uint32_t* colorSpaceCountOutput
- XrColorSpaceFB* colorSpaces
-
-
- XrResult xrSetColorSpaceFB
- XrSession session
- const XrColorSpaceFB colorspace
-
+
+
+ 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 xrSetEnvironmentDepthEstimationVARJO
- XrSession session
- XrBool32 enabled
-
+
+
+ XrResult xrCreateSpatialAnchorFromPerceptionAnchorMSFT
+ XrSession session
+ IUnknown* perceptionAnchor
+ XrSpatialAnchorMSFT* anchor
+
+
+ XrResult xrTryGetPerceptionAnchorFromSpatialAnchorMSFT
+ XrSession session
+ XrSpatialAnchorMSFT anchor
+ IUnknown** perceptionAnchor
+
+
+
+
+ XrResult xrUpdateSwapchainFB
+ XrSwapchain swapchain
+ const XrSwapchainStateBaseHeaderFB* state
+
+
+
+ XrResult xrGetSwapchainStateFB
+ XrSwapchain swapchain
+ XrSwapchainStateBaseHeaderFB* state
+
+
+
+
+ XrResult xrEnumerateColorSpacesFB
+ XrSession session
+ uint32_t colorSpaceCapacityInput
+ uint32_t* colorSpaceCountOutput
+ XrColorSpaceFB* colorSpaces
+
+
+ XrResult xrSetColorSpaceFB
+ XrSession session
+ const XrColorSpaceFB colorspace
+
+
+
+
+ XrResult xrSetEnvironmentDepthEstimationVARJO
+ XrSession session
+ XrBool32 enabled
+
+
+
+
+ XrResult xrEnumerateReprojectionModesMSFT
+ XrInstance instance
+ XrSystemId systemId
+ XrViewConfigurationType viewConfigurationType
+ uint32_t modeCapacityInput
+ uint32_t* modeCountOutput
+ XrReprojectionModeMSFT* modes
+
+
+
+
+ XrResult xrGetAudioOutputDeviceGuidOculus
+ XrInstance instance
+ wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]
+
+
+
+ XrResult xrGetAudioInputDeviceGuidOculus
+ XrInstance instance
+ wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]
+
@@ -2679,7 +3108,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2708,7 +3137,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2737,7 +3166,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2745,7 +3174,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2760,7 +3189,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2791,7 +3220,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2816,7 +3245,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -2855,9 +3284,9 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
+
+
+
@@ -2931,14 +3360,14 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -2967,9 +3396,9 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
+
+
+
@@ -2981,7 +3410,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -3028,11 +3457,11 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
-
-
+
+
+
+
+
@@ -3089,7 +3518,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -3112,9 +3541,9 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
+
+
+
@@ -3128,7 +3557,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -3189,18 +3618,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -3219,26 +3648,26 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -3264,8 +3693,8 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
+
+
@@ -3289,7 +3718,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -3308,10 +3737,21 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3342,14 +3782,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
-
+
-
-
+
+
+
+
+
+
@@ -3411,10 +3855,15 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
-
-
+
+
+
+
+
+
+
@@ -3481,7 +3930,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -3549,21 +3998,105 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -3583,16 +4116,16 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
@@ -3650,7 +4183,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
@@ -3758,19 +4291,19 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -4019,10 +4552,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
-
-
+
+
+
+
+
@@ -4033,24 +4569,30 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
-
+
-
-
+
+
+
+
-
+
-
-
+
+
+
+
-
+
-
-
+
+
+
+
@@ -4061,6 +4603,83 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+