diff --git a/CMakeLists.txt b/CMakeLists.txt index cc31004ebc..6a3bdff3ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,8 +120,16 @@ if(OPENXR) add_definitions(-DOPENXR) add_library(openxr SHARED IMPORTED) include_directories(ext/openxr) - set_property(TARGET openxr PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/ext/openxr/libs/arm64-v8a/libopenxr_loader.so") - message("OpenXR enabled") + if(OPENXR_PLATFORM_PICO) + add_definitions(-DOPENXR_PLATFORM_PICO) + set_property(TARGET openxr PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/ext/openxr/libs/pico/arm64-v8a/libopenxr_loader.so") + message("OpenXR for Pico enabled") + endif() + if(OPENXR_PLATFORM_QUEST) + add_definitions(-DOPENXR_PLATFORM_QUEST) + set_property(TARGET openxr PROPERTY IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/ext/openxr/libs/quest/arm64-v8a/libopenxr_loader.so") + message("OpenXR for Quest enabled") + endif() endif() if(GOLD) diff --git a/Common/VR/VRBase.cpp b/Common/VR/VRBase.cpp index 9932d09553..4bc4723a11 100644 --- a/Common/VR/VRBase.cpp +++ b/Common/VR/VRBase.cpp @@ -5,6 +5,36 @@ #include #include +#ifdef OPENXR_PLATFORM_PICO +enum ConfigsSetEXT { + UNREAL_VERSION = 0, + TRACKING_ORIGIN, + OPENGL_NOERROR, + ENABLE_SIX_DOF, + PRESENTATION_FLAG, + ENABLE_CPT, + PLATFORM, + FOVEATION_LEVEL, + SET_DISPLAY_RATE = 8, + MRC_TEXTURE_ID = 9, +}; + +enum PxrTrackingDof { + PXR_TRACKING_3DOF = 0, + PXR_TRACKING_6DOF = 1 +}; + +typedef XrResult (XRAPI_PTR *PFN_xrSetEngineVersionPico)(XrInstance instance,const char* version); +typedef XrResult (XRAPI_PTR *PFN_xrStartCVControllerThreadPico)(XrInstance instance,int headSensorState, int handSensorState); +typedef XrResult (XRAPI_PTR *PFN_xrStopCVControllerThreadPico)(XrInstance instance,int headSensorState, int handSensorState); +typedef XrResult (XRAPI_PTR *PFN_xrSetConfigPICO) (XrSession instance, enum ConfigsSetEXT configIndex, char* configData); + +PFN_xrSetConfigPICO pfnXrSetConfigPICO = nullptr; +PFN_xrSetEngineVersionPico pfnXrSetEngineVersionPico = nullptr; +PFN_xrStartCVControllerThreadPico pfnXrStartCVControllerThreadPico = nullptr; +PFN_xrStopCVControllerThreadPico pfnXrStopCVControllerThreadPico = nullptr; +#endif + static engine_t vr_engine; int vr_initialized = 0; @@ -13,6 +43,14 @@ const char* const requiredExtensionNames[] = { #ifdef OPENXR_HAS_PERFORMANCE_EXTENSION XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME, XR_KHR_ANDROID_THREAD_SETTINGS_EXTENSION_NAME, +#endif +#ifdef OPENXR_PLATFORM_PICO + XR_KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME, + "XR_PICO_android_controller_function_ext_enable", + "XR_PICO_view_state_ext_enable", + "XR_PICO_frame_end_info_ext", + "XR_PICO_configs_ext", + "XR_PICO_reset_sensor", #endif XR_KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME}; const uint32_t numRequiredExtensions = @@ -49,7 +87,14 @@ void VR_Init( ovrJava java ) { XrInstanceCreateInfo instanceCreateInfo; memset(&instanceCreateInfo, 0, sizeof(instanceCreateInfo)); instanceCreateInfo.type = XR_TYPE_INSTANCE_CREATE_INFO; +#ifdef OPENXR_PLATFORM_PICO + XrInstanceCreateInfoAndroidKHR instanceCreateInfoAndroid = {XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR}; + instanceCreateInfoAndroid.applicationVM = java.Vm; + instanceCreateInfoAndroid.applicationActivity = java.ActivityObject; + instanceCreateInfo.next = (XrBaseInStructure*)&instanceCreateInfoAndroid; +#else instanceCreateInfo.next = NULL; +#endif instanceCreateInfo.createFlags = 0; instanceCreateInfo.applicationInfo = appInfo; instanceCreateInfo.enabledApiLayerCount = 0; @@ -64,6 +109,15 @@ void VR_Init( ovrJava java ) { exit(1); } +#ifdef OPENXR_PLATFORM_PICO + xrGetInstanceProcAddr(vr_engine.appState.Instance, "xrSetEngineVersionPico", (PFN_xrVoidFunction*)(&pfnXrSetEngineVersionPico)); + xrGetInstanceProcAddr(vr_engine.appState.Instance, "xrStartCVControllerThreadPico", (PFN_xrVoidFunction*)(&pfnXrStartCVControllerThreadPico)); + xrGetInstanceProcAddr(vr_engine.appState.Instance, "xrStopCVControllerThreadPico", (PFN_xrVoidFunction*)(&pfnXrStopCVControllerThreadPico)); + xrGetInstanceProcAddr(vr_engine.appState.Instance,"xrSetConfigPICO", (PFN_xrVoidFunction*)(&pfnXrSetConfigPICO)); + if (pfnXrSetEngineVersionPico != nullptr) pfnXrSetEngineVersionPico(vr_engine.appState.Instance, "2.8.0.1"); + if (pfnXrStartCVControllerThreadPico != nullptr) pfnXrStartCVControllerThreadPico(vr_engine.appState.Instance, PXR_TRACKING_6DOF, PXR_TRACKING_6DOF); +#endif + XrInstanceProperties instanceInfo; instanceInfo.type = XR_TYPE_INSTANCE_PROPERTIES; instanceInfo.next = NULL; @@ -108,6 +162,11 @@ void VR_Init( ovrJava java ) { void VR_Destroy( engine_t* engine ) { if (engine == &vr_engine) { +#ifdef OPENXR_PLATFORM_PICO + if (pfnXrStopCVControllerThreadPico != nullptr) { + pfnXrStopCVControllerThreadPico(engine->appState.Instance, PXR_TRACKING_6DOF, PXR_TRACKING_6DOF); + } +#endif xrDestroyInstance(engine->appState.Instance); ovrApp_Destroy(&engine->appState); } @@ -141,6 +200,9 @@ void VR_EnterVR( engine_t* engine ) { ALOGE("Failed to create XR session: %d.", initResult); exit(1); } +#ifdef OPENXR_PLATFORM_PICO + pfnXrSetConfigPICO(engine->appState.Session, TRACKING_ORIGIN, "1"); +#endif // Create a space to the first path XrReferenceSpaceCreateInfo spaceCreateInfo = {}; diff --git a/Common/VR/VRBase.h b/Common/VR/VRBase.h index fffd234868..a94e3d3fa9 100644 --- a/Common/VR/VRBase.h +++ b/Common/VR/VRBase.h @@ -73,7 +73,9 @@ static void OXR_CheckErrors(XrInstance instance, XrResult result, const char* fu #define OXR(func) func; #endif +#ifdef OPENXR_PLATFORM_QUEST #define OPENXR_HAS_PERFORMANCE_EXTENSION +#endif enum { ovrMaxLayerCount = 1 }; enum { ovrMaxNumEyes = 2 }; diff --git a/Common/VR/VRFramebuffer.cpp b/Common/VR/VRFramebuffer.cpp index 70f2ad02aa..9dab8411e3 100644 --- a/Common/VR/VRFramebuffer.cpp +++ b/Common/VR/VRFramebuffer.cpp @@ -76,7 +76,7 @@ bool ovrFramebuffer_Create(XrSession session, ovrFramebuffer* frameBuffer, int w frameBuffer->DepthSwapChain.Height = swapChainCreateInfo.height; // Create the color swapchain. - swapChainCreateInfo.format = GL_RGBA8; + swapChainCreateInfo.format = GL_SRGB8_ALPHA8; swapChainCreateInfo.usageFlags = XR_SWAPCHAIN_USAGE_COLOR_ATTACHMENT_BIT; OXR(xrCreateSwapchain(session, &swapChainCreateInfo, &frameBuffer->ColorSwapChain.Handle)); OXR(xrEnumerateSwapchainImages(frameBuffer->ColorSwapChain.Handle, 0, &frameBuffer->TextureSwapChainLength, NULL)); diff --git a/Common/VR/VRInput.cpp b/Common/VR/VRInput.cpp index 63fc97a030..2fc8816f61 100644 --- a/Common/VR/VRInput.cpp +++ b/Common/VR/VRInput.cpp @@ -26,7 +26,6 @@ XrActionSet runningActionSet; XrSpace leftControllerAimSpace = XR_NULL_HANDLE; XrSpace rightControllerAimSpace = XR_NULL_HANDLE; int inputInitialized = 0; -int useSimpleProfile = 0; int in_vrEventTime = 0; double lastframetime = 0; @@ -248,182 +247,109 @@ void IN_VRInit( engine_t *engine ) { handPoseRightAction = CreateAction(runningActionSet, XR_ACTION_TYPE_POSE_INPUT, "hand_pose_right", NULL, 1, &rightHandPath); XrPath interactionProfilePath = XR_NULL_PATH; - XrPath interactionProfilePathTouch = XR_NULL_PATH; - XrPath interactionProfilePathKHRSimple = XR_NULL_PATH; +#ifdef OPENXR_PLATFORM_QUEST + OXR(xrStringToPath(engine->appState.Instance, "/interaction_profiles/oculus/touch_controller", &interactionProfilePath)); +#elif OPENXR_PLATFORM_PICO + OXR(xrStringToPath(engine->appState.Instance, "/interaction_profiles/pico/neo3_controller", &interactionProfilePath)); +#endif + // Map bindings + XrActionSuggestedBinding bindings[32]; // large enough for all profiles + int currBinding = 0; - OXR(xrStringToPath(engine->appState.Instance, "/interaction_profiles/oculus/touch_controller", &interactionProfilePathTouch)); - OXR(xrStringToPath(engine->appState.Instance, "/interaction_profiles/khr/simple_controller", &interactionProfilePathKHRSimple)); +#ifdef OPENXR_PLATFORM_QUEST + bindings[currBinding++] = ActionSuggestedBinding(indexLeftAction, "/user/hand/left/input/trigger"); + bindings[currBinding++] = ActionSuggestedBinding(indexRightAction, "/user/hand/right/input/trigger"); + bindings[currBinding++] = ActionSuggestedBinding(menuAction, "/user/hand/left/input/menu/click"); +#elif OPENXR_PLATFORM_PICO + bindings[currBinding++] = ActionSuggestedBinding(indexLeftAction, "/user/hand/left/input/trigger/click"); + bindings[currBinding++] = ActionSuggestedBinding(indexRightAction, "/user/hand/right/input/trigger/click"); + bindings[currBinding++] = ActionSuggestedBinding(menuAction, "/user/hand/left/input/back/click"); + bindings[currBinding++] = ActionSuggestedBinding(menuAction, "/user/hand/right/input/back/click"); +#endif + bindings[currBinding++] = ActionSuggestedBinding(buttonXAction, "/user/hand/left/input/x/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonYAction, "/user/hand/left/input/y/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonAAction, "/user/hand/right/input/a/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonBAction, "/user/hand/right/input/b/click"); + bindings[currBinding++] = ActionSuggestedBinding(gripLeftAction, "/user/hand/left/input/squeeze/value"); + bindings[currBinding++] = ActionSuggestedBinding(gripRightAction, "/user/hand/right/input/squeeze/value"); + bindings[currBinding++] = ActionSuggestedBinding(moveOnLeftJoystickAction, "/user/hand/left/input/thumbstick"); + bindings[currBinding++] = ActionSuggestedBinding(moveOnRightJoystickAction, "/user/hand/right/input/thumbstick"); + bindings[currBinding++] = ActionSuggestedBinding(thumbstickLeftClickAction, "/user/hand/left/input/thumbstick/click"); + bindings[currBinding++] = ActionSuggestedBinding(thumbstickRightClickAction, "/user/hand/right/input/thumbstick/click"); + bindings[currBinding++] = ActionSuggestedBinding(vibrateLeftFeedback, "/user/hand/left/output/haptic"); + bindings[currBinding++] = ActionSuggestedBinding(vibrateRightFeedback, "/user/hand/right/output/haptic"); + bindings[currBinding++] = ActionSuggestedBinding(handPoseLeftAction, "/user/hand/left/input/aim/pose"); + bindings[currBinding++] = ActionSuggestedBinding(handPoseRightAction, "/user/hand/right/input/aim/pose"); - // Toggle this to force simple as a first choice, otherwise use it as a last resort - if (useSimpleProfile) { - ALOGV("xrSuggestInteractionProfileBindings found bindings for Khronos SIMPLE controller"); - interactionProfilePath = interactionProfilePathKHRSimple; - } else { - // Query Set - XrActionSet queryActionSet = CreateActionSet(1, "query_action_set", "Action Set used to query device caps"); - XrAction dummyAction = CreateAction(queryActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "dummy_action", "Dummy Action", 0, NULL); + XrInteractionProfileSuggestedBinding suggestedBindings = {}; + suggestedBindings.type = XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING; + suggestedBindings.next = NULL; + suggestedBindings.interactionProfile = interactionProfilePath; + suggestedBindings.suggestedBindings = bindings; + suggestedBindings.countSuggestedBindings = currBinding; + OXR(xrSuggestInteractionProfileBindings(engine->appState.Instance, &suggestedBindings)); - // Map bindings - XrActionSuggestedBinding bindings[1]; - int currBinding = 0; - bindings[currBinding++] = ActionSuggestedBinding(dummyAction, "/user/hand/right/input/system/click"); + // Attach actions + XrSessionActionSetsAttachInfo attachInfo = {}; + attachInfo.type = XR_TYPE_SESSION_ACTION_SETS_ATTACH_INFO; + attachInfo.next = NULL; + attachInfo.countActionSets = 1; + attachInfo.actionSets = &runningActionSet; + OXR(xrAttachSessionActionSets(engine->appState.Session, &attachInfo)); - XrInteractionProfileSuggestedBinding suggestedBindings = {}; - suggestedBindings.type = XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING; - suggestedBindings.next = NULL; - suggestedBindings.suggestedBindings = bindings; - suggestedBindings.countSuggestedBindings = currBinding; + // Enumerate actions + XrPath actionPathsBuffer[32]; + char stringBuffer[256]; + XrAction actionsToEnumerate[] = { + indexLeftAction, + indexRightAction, + menuAction, + buttonAAction, + buttonBAction, + buttonXAction, + buttonYAction, + gripLeftAction, + gripRightAction, + moveOnLeftJoystickAction, + moveOnRightJoystickAction, + thumbstickLeftClickAction, + thumbstickRightClickAction, + vibrateLeftFeedback, + vibrateRightFeedback, + handPoseLeftAction, + handPoseRightAction + }; + for (XrAction & i : actionsToEnumerate) { + XrBoundSourcesForActionEnumerateInfo enumerateInfo = {}; + enumerateInfo.type = XR_TYPE_BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO; + enumerateInfo.next = NULL; + enumerateInfo.action = i; - // Try all - suggestedBindings.interactionProfile = interactionProfilePathTouch; - XrResult suggestTouchResult = xrSuggestInteractionProfileBindings(engine->appState.Instance, &suggestedBindings); - OXR(suggestTouchResult); + // Get Count + uint32_t countOutput = 0; + OXR(xrEnumerateBoundSourcesForAction(engine->appState.Session, &enumerateInfo, 0 /* request size */, &countOutput, NULL)); + ALOGV("xrEnumerateBoundSourcesForAction action=%lld count=%u", (long long)enumerateInfo.action, countOutput); - if (XR_SUCCESS == suggestTouchResult) { - ALOGV("xrSuggestInteractionProfileBindings found bindings for QUEST controller"); - interactionProfilePath = interactionProfilePathTouch; - } - - if (interactionProfilePath == XR_NULL_PATH) { - // Simple as a fallback - bindings[0] = ActionSuggestedBinding(dummyAction, "/user/hand/right/input/select/click"); - suggestedBindings.interactionProfile = interactionProfilePathKHRSimple; - XrResult suggestKHRSimpleResult = xrSuggestInteractionProfileBindings(engine->appState.Instance, &suggestedBindings); - OXR(suggestKHRSimpleResult); - if (XR_SUCCESS == suggestKHRSimpleResult) { - ALOGV("xrSuggestInteractionProfileBindings found bindings for Khronos SIMPLE controller"); - interactionProfilePath = interactionProfilePathKHRSimple; - } else { - ALOGE("xrSuggestInteractionProfileBindings did NOT find any bindings."); - exit(1); - } - } - } - - // Action creation - { - // Map bindings - XrActionSuggestedBinding bindings[32]; // large enough for all profiles - int currBinding = 0; - - { - if (interactionProfilePath == interactionProfilePathTouch) { - bindings[currBinding++] = ActionSuggestedBinding(indexLeftAction, "/user/hand/left/input/trigger"); - bindings[currBinding++] = ActionSuggestedBinding(indexRightAction, "/user/hand/right/input/trigger"); - bindings[currBinding++] = ActionSuggestedBinding(menuAction, "/user/hand/left/input/menu/click"); - bindings[currBinding++] = ActionSuggestedBinding(buttonXAction, "/user/hand/left/input/x/click"); - bindings[currBinding++] = ActionSuggestedBinding(buttonYAction, "/user/hand/left/input/y/click"); - bindings[currBinding++] = ActionSuggestedBinding(buttonAAction, "/user/hand/right/input/a/click"); - bindings[currBinding++] = ActionSuggestedBinding(buttonBAction, "/user/hand/right/input/b/click"); - bindings[currBinding++] = ActionSuggestedBinding(gripLeftAction, "/user/hand/left/input/squeeze/value"); - bindings[currBinding++] = ActionSuggestedBinding(gripRightAction, "/user/hand/right/input/squeeze/value"); - bindings[currBinding++] = ActionSuggestedBinding(moveOnLeftJoystickAction, "/user/hand/left/input/thumbstick"); - bindings[currBinding++] = ActionSuggestedBinding(moveOnRightJoystickAction, "/user/hand/right/input/thumbstick"); - bindings[currBinding++] = ActionSuggestedBinding(thumbstickLeftClickAction, "/user/hand/left/input/thumbstick/click"); - bindings[currBinding++] = ActionSuggestedBinding(thumbstickRightClickAction, "/user/hand/right/input/thumbstick/click"); - bindings[currBinding++] = ActionSuggestedBinding(vibrateLeftFeedback, "/user/hand/left/output/haptic"); - bindings[currBinding++] = ActionSuggestedBinding(vibrateRightFeedback, "/user/hand/right/output/haptic"); - bindings[currBinding++] = ActionSuggestedBinding(handPoseLeftAction, "/user/hand/left/input/aim/pose"); - bindings[currBinding++] = ActionSuggestedBinding(handPoseRightAction, "/user/hand/right/input/aim/pose"); - } - - if (interactionProfilePath == interactionProfilePathKHRSimple) { - bindings[currBinding++] = ActionSuggestedBinding(indexLeftAction, "/user/hand/left/input/select/click"); - bindings[currBinding++] = ActionSuggestedBinding(indexRightAction, "/user/hand/right/input/select/click"); - bindings[currBinding++] = ActionSuggestedBinding(buttonAAction, "/user/hand/left/input/menu/click"); - bindings[currBinding++] = ActionSuggestedBinding(buttonXAction, "/user/hand/right/input/menu/click"); - bindings[currBinding++] = ActionSuggestedBinding(vibrateLeftFeedback, "/user/hand/left/output/haptic"); - bindings[currBinding++] = ActionSuggestedBinding(vibrateRightFeedback, "/user/hand/right/output/haptic"); - bindings[currBinding++] = ActionSuggestedBinding(handPoseLeftAction, "/user/hand/left/input/aim/pose"); - bindings[currBinding++] = ActionSuggestedBinding(handPoseRightAction, "/user/hand/right/input/aim/pose"); - } - } - - XrInteractionProfileSuggestedBinding suggestedBindings = {}; - suggestedBindings.type = XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING; - suggestedBindings.next = NULL; - suggestedBindings.interactionProfile = interactionProfilePath; - suggestedBindings.suggestedBindings = bindings; - suggestedBindings.countSuggestedBindings = currBinding; - OXR(xrSuggestInteractionProfileBindings(engine->appState.Instance, &suggestedBindings)); - - // Attach actions - XrSessionActionSetsAttachInfo attachInfo = {}; - attachInfo.type = XR_TYPE_SESSION_ACTION_SETS_ATTACH_INFO; - attachInfo.next = NULL; - attachInfo.countActionSets = 1; - attachInfo.actionSets = &runningActionSet; - OXR(xrAttachSessionActionSets(engine->appState.Session, &attachInfo)); - - // Enumerate actions - XrPath actionPathsBuffer[32]; - char stringBuffer[256]; - XrAction actionsToEnumerate[] = { - indexLeftAction, - indexRightAction, - menuAction, - buttonAAction, - buttonBAction, - buttonXAction, - buttonYAction, - gripLeftAction, - gripRightAction, - moveOnLeftJoystickAction, - moveOnRightJoystickAction, - thumbstickLeftClickAction, - thumbstickRightClickAction, - vibrateLeftFeedback, - vibrateRightFeedback, - handPoseLeftAction, - handPoseRightAction - }; - for (XrAction & i : actionsToEnumerate) { - XrBoundSourcesForActionEnumerateInfo enumerateInfo = {}; - enumerateInfo.type = XR_TYPE_BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO; - enumerateInfo.next = NULL; - enumerateInfo.action = i; - - // Get Count - uint32_t countOutput = 0; + if (countOutput < 32) { OXR(xrEnumerateBoundSourcesForAction( - engine->appState.Session, &enumerateInfo, 0 /* request size */, &countOutput, NULL)); - ALOGV( - "xrEnumerateBoundSourcesForAction action=%lld count=%u", - (long long)enumerateInfo.action, - countOutput); + engine->appState.Session, &enumerateInfo, 32, &countOutput, actionPathsBuffer)); + for (uint32_t a = 0; a < countOutput; ++a) { + XrInputSourceLocalizedNameGetInfo nameGetInfo = {}; + nameGetInfo.type = XR_TYPE_INPUT_SOURCE_LOCALIZED_NAME_GET_INFO; + nameGetInfo.next = NULL; + nameGetInfo.sourcePath = actionPathsBuffer[a]; + nameGetInfo.whichComponents = XR_INPUT_SOURCE_LOCALIZED_NAME_USER_PATH_BIT | + XR_INPUT_SOURCE_LOCALIZED_NAME_INTERACTION_PROFILE_BIT | + XR_INPUT_SOURCE_LOCALIZED_NAME_COMPONENT_BIT; - if (countOutput < 32) { - OXR(xrEnumerateBoundSourcesForAction( - engine->appState.Session, &enumerateInfo, 32, &countOutput, actionPathsBuffer)); - for (uint32_t a = 0; a < countOutput; ++a) { - XrInputSourceLocalizedNameGetInfo nameGetInfo = {}; - nameGetInfo.type = XR_TYPE_INPUT_SOURCE_LOCALIZED_NAME_GET_INFO; - nameGetInfo.next = NULL; - nameGetInfo.sourcePath = actionPathsBuffer[a]; - nameGetInfo.whichComponents = XR_INPUT_SOURCE_LOCALIZED_NAME_USER_PATH_BIT | - XR_INPUT_SOURCE_LOCALIZED_NAME_INTERACTION_PROFILE_BIT | - XR_INPUT_SOURCE_LOCALIZED_NAME_COMPONENT_BIT; - - uint32_t stringCount = 0u; - OXR(xrGetInputSourceLocalizedName( - engine->appState.Session, &nameGetInfo, 0, &stringCount, NULL)); - if (stringCount < 256) { - OXR(xrGetInputSourceLocalizedName( - engine->appState.Session, &nameGetInfo, 256, &stringCount, stringBuffer)); - char pathStr[256]; - uint32_t strLen = 0; - OXR(xrPathToString( - engine->appState.Instance, - actionPathsBuffer[a], - (uint32_t)sizeof(pathStr), - &strLen, - pathStr)); - ALOGV( - " -> path = %lld `%s` -> `%s`", - (long long)actionPathsBuffer[a], - pathStr, - stringBuffer); - } + uint32_t stringCount = 0u; + OXR(xrGetInputSourceLocalizedName(engine->appState.Session, &nameGetInfo, 0, &stringCount, NULL)); + if (stringCount < 256) { + OXR(xrGetInputSourceLocalizedName(engine->appState.Session, &nameGetInfo, 256, &stringCount, stringBuffer)); + char pathStr[256]; + uint32_t strLen = 0; + OXR(xrPathToString(engine->appState.Instance, actionPathsBuffer[a], (uint32_t)sizeof(pathStr), &strLen, pathStr)); + ALOGV(" -> path = %lld `%s` -> `%s`", (long long)actionPathsBuffer[a], pathStr, stringBuffer); } } } diff --git a/android/PicoManifest.xml b/android/PicoManifest.xml new file mode 100644 index 0000000000..081b497ec9 --- /dev/null +++ b/android/PicoManifest.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/android/build.gradle b/android/build.gradle index 14b7d5da92..47eef16fd7 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -103,7 +103,10 @@ android { gold { res.srcDirs = ['gold/res'] } - quest { + vr_pico { + manifest.srcFile 'PicoManifest.xml' + } + vr_quest { manifest.srcFile 'QuestManifest.xml' } } @@ -145,7 +148,7 @@ android { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } - quest { + vr_pico { applicationId 'org.ppsspp.ppsspp' dimension "variant" externalNativeBuild { @@ -157,6 +160,27 @@ android { '-DANDROID_CPP_FEATURES=', '-DANDROID_STL=c++_static', '-DANDROID_ARM_NEON=TRUE', + '-DOPENXR_PLATFORM_PICO=TRUE', + '-DOPENXR=TRUE' + } + } + ndk { + abiFilters 'arm64-v8a' + } + } + vr_quest { + applicationId 'org.ppsspp.ppsspp' + dimension "variant" + externalNativeBuild { + cmake { + // Available arguments listed at https://developer.android.com/ndk/guides/cmake.html + arguments '-DANDROID=true', + '-DANDROID_PLATFORM=android-16', + '-DANDROID_TOOLCHAIN=clang', + '-DANDROID_CPP_FEATURES=', + '-DANDROID_STL=c++_static', + '-DANDROID_ARM_NEON=TRUE', + '-DOPENXR_PLATFORM_QUEST=TRUE', '-DOPENXR=TRUE' } } @@ -171,9 +195,12 @@ android { 'normalOptimized', // for testing 'normalRelease', // for Google Play releases 'goldRelease', // for Google Play releases - 'questDebug', // for VR debugging - 'questOptimized', // for VR testing - 'questRelease', // for VR releases + 'vr_picoDebug', // for VR debugging on Pico + 'vr_picoOptimized', // for VR testing on Pico + 'vr_picoRelease', // for VR releases on Pico + 'vr_questDebug', // for VR debugging on Quest + 'vr_questOptimized',// for VR testing on Quest + 'vr_questRelease', // for VR releases on Quest ] variant.setIgnore(!needed) } diff --git a/android/src/org/ppsspp/ppsspp/NativeActivity.java b/android/src/org/ppsspp/ppsspp/NativeActivity.java index 758d7eb6a8..bed2de57e3 100644 --- a/android/src/org/ppsspp/ppsspp/NativeActivity.java +++ b/android/src/org/ppsspp/ppsspp/NativeActivity.java @@ -1547,6 +1547,6 @@ public abstract class NativeActivity extends Activity { } private boolean isVRDevice() { - return BuildConfig.FLAVOR.compareTo("quest") == 0; + return BuildConfig.FLAVOR.startsWith("vr_"); } } diff --git a/ext/openxr/libs/pico/arm64-v8a/libopenxr_loader.so b/ext/openxr/libs/pico/arm64-v8a/libopenxr_loader.so new file mode 100644 index 0000000000..784337e64e Binary files /dev/null and b/ext/openxr/libs/pico/arm64-v8a/libopenxr_loader.so differ diff --git a/ext/openxr/libs/arm64-v8a/libopenxr_loader.so b/ext/openxr/libs/quest/arm64-v8a/libopenxr_loader.so similarity index 100% rename from ext/openxr/libs/arm64-v8a/libopenxr_loader.so rename to ext/openxr/libs/quest/arm64-v8a/libopenxr_loader.so diff --git a/ext/openxr/openxr.h b/ext/openxr/openxr.h old mode 100755 new mode 100644 index 8798e5a6e0..02ec7cfbcb --- a/ext/openxr/openxr.h +++ b/ext/openxr/openxr.h @@ -2,7 +2,7 @@ #define OPENXR_H_ 1 /* -** Copyright (c) 2017-2022, The Khronos Group Inc. +** Copyright (c) 2017-2021, The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 OR MIT */ @@ -25,7 +25,7 @@ extern "C" { ((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL)) // OpenXR current version number. -#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 22) +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 14) #define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL) #define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL) @@ -181,33 +181,13 @@ typedef enum XrResult { XR_ERROR_LOCALIZED_NAME_DUPLICATED = -48, XR_ERROR_LOCALIZED_NAME_INVALID = -49, XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING = -50, - XR_ERROR_RUNTIME_UNAVAILABLE = -51, XR_ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR = -1000003000, XR_ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR = -1000003001, XR_ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT = -1000039001, XR_ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT = -1000053000, XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT = -1000055000, - XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT = -1000066000, - XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT = -1000097000, - XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT = -1000097001, - XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT = -1000097002, - XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT = -1000097003, - XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT = -1000097004, - XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT = -1000097005, XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB = -1000101000, XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB = -1000108000, - XR_ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB = -1000118000, - XR_ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB = -1000118001, - XR_ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB = -1000118002, - XR_ERROR_NOT_PERMITTED_PASSTHROUGH_FB = -1000118003, - XR_ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB = -1000118004, - XR_ERROR_UNKNOWN_PASSTHROUGH_FB = -1000118050, - XR_ERROR_RENDER_MODEL_KEY_INVALID_FB = -1000119000, - XR_RENDER_MODEL_UNAVAILABLE_FB = 1000119020, - XR_ERROR_MARKER_NOT_TRACKED_VARJO = -1000124000, - XR_ERROR_MARKER_ID_INVALID_VARJO = -1000124001, - XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT = -1000142001, - XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT = -1000142002, XR_RESULT_MAX_ENUM = 0x7FFFFFFF } XrResult; @@ -262,6 +242,17 @@ typedef enum XrStructureType { XR_TYPE_ACTIONS_SYNC_INFO = 61, XR_TYPE_BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO = 62, XR_TYPE_INPUT_SOURCE_LOCALIZED_NAME_GET_INFO = 63, + //pico add new type + XR_TYPE_EVENT_CONTROLLER_STATE_CHANGED = 1200006064, + XR_TYPE_EVENT_SEETHROUGH_STATE_CHANGED = 1200006065, + XR_TYPE_EVENT_HARDIPD_STATE_CHANGED = 1200006066, + XR_TYPE_EVENT_KEY_EVENT = 1200006067, + XR_TYPE_EVENT_FOVEATION_LEVEL_CHANGED = 1200006068, + XR_TYPE_EVENT_FRUSTUM_STATE_CHANGED = 1200006069, + XR_TYPE_EVENT_RENDER_TEXTURE_CHANGED = 1200006070, + XR_TYPE_EVENT_TARGET_FRAME_RATE_STATE_CHANGED = 1200006071, + XR_TYPE_EVENT_MRC_STATUS_CHANGED = 1200006072, + XR_TYPE_EVENT_REFRESH_RATE_CHANGE = 1200006073, XR_TYPE_COMPOSITION_LAYER_CUBE_KHR = 1000006000, XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR = 1000008000, XR_TYPE_COMPOSITION_LAYER_DEPTH_INFO_KHR = 1000010000, @@ -300,8 +291,6 @@ typedef enum XrStructureType { XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR = 1000034000, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT = 1000039000, XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT = 1000039001, - XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB = 1000040000, - XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB = 1000041001, XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT = 1000046000, XR_TYPE_GRAPHICS_BINDING_EGL_MNDX = 1000048004, XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT = 1000049000, @@ -328,90 +317,16 @@ 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_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB = 1000070000, - XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB = 1000072000, XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000, - XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT = 1000080000, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR = 1000089000, 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_VIVE_TRACKER_PATHS_HTCX = 1000103000, - XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX = 1000103001, - XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC = 1000104000, - XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC = 1000104001, - XR_TYPE_FACIAL_EXPRESSIONS_HTC = 1000104002, XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000, - XR_TYPE_HAND_TRACKING_MESH_FB = 1000110001, - XR_TYPE_HAND_TRACKING_SCALE_FB = 1000110003, - XR_TYPE_HAND_TRACKING_AIM_STATE_FB = 1000111001, - XR_TYPE_HAND_TRACKING_CAPSULES_STATE_FB = 1000112000, - XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB = 1000114000, - XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB = 1000114001, - XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB = 1000114002, - XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB = 1000115000, - XR_TYPE_KEYBOARD_SPACE_CREATE_INFO_FB = 1000116009, - XR_TYPE_KEYBOARD_TRACKING_QUERY_FB = 1000116004, - XR_TYPE_SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB = 1000116002, - XR_TYPE_TRIANGLE_MESH_CREATE_INFO_FB = 1000117001, - XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES_FB = 1000118000, - XR_TYPE_PASSTHROUGH_CREATE_INFO_FB = 1000118001, - XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_FB = 1000118002, - XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_FB = 1000118003, - XR_TYPE_GEOMETRY_INSTANCE_CREATE_INFO_FB = 1000118004, - XR_TYPE_GEOMETRY_INSTANCE_TRANSFORM_FB = 1000118005, - XR_TYPE_PASSTHROUGH_STYLE_FB = 1000118020, - XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB = 1000118021, - XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB = 1000118022, - XR_TYPE_EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB = 1000118030, - XR_TYPE_RENDER_MODEL_PATH_INFO_FB = 1000119000, - XR_TYPE_RENDER_MODEL_PROPERTIES_FB = 1000119001, - XR_TYPE_RENDER_MODEL_BUFFER_FB = 1000119002, - XR_TYPE_RENDER_MODEL_LOAD_INFO_FB = 1000119003, - XR_TYPE_SYSTEM_RENDER_MODEL_PROPERTIES_FB = 1000119004, XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000, - XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO = 1000121000, - 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_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO = 1000124000, - XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO = 1000124001, - XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO = 1000124002, - XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT = 1000142000, - XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT = 1000142001, - XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB = 1000160000, - XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB = 1000161000, - XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB = 1000162000, - XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB = 1000163000, - XR_TYPE_COMPOSITION_LAYER_SPACE_WARP_INFO_FB = 1000171000, - XR_TYPE_SYSTEM_SPACE_WARP_PROPERTIES_FB = 1000171001, - XR_TYPE_DIGITAL_LENS_CONTROL_ALMALENCE = 1000196000, - XR_TYPE_PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB = 1000203002, 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, @@ -444,7 +359,6 @@ typedef enum XrReferenceSpaceType { XR_REFERENCE_SPACE_TYPE_LOCAL = 2, XR_REFERENCE_SPACE_TYPE_STAGE = 3, XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT = 1000038000, - XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO = 1000121000, XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7FFFFFFF } XrReferenceSpaceType; @@ -488,15 +402,6 @@ typedef enum XrObjectType { XR_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000019000, 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_FACIAL_TRACKER_HTC = 1000104000, - XR_OBJECT_TYPE_FOVEATION_PROFILE_FB = 1000114000, - XR_OBJECT_TYPE_TRIANGLE_MESH_FB = 1000117000, - XR_OBJECT_TYPE_PASSTHROUGH_FB = 1000118000, - XR_OBJECT_TYPE_PASSTHROUGH_LAYER_FB = 1000118002, - XR_OBJECT_TYPE_GEOMETRY_INSTANCE_FB = 1000118004, - XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT = 1000142000, XR_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF } XrObjectType; typedef XrFlags64 XrInstanceCreateFlags; @@ -538,7 +443,6 @@ static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_TRANSFER_DST_BIT = 0x00000 static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_SAMPLED_BIT = 0x00000020; static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_MUTABLE_FORMAT_BIT = 0x00000040; static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND = 0x00000080; -static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR = 0x00000080; // alias of XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND typedef XrFlags64 XrCompositionLayerFlags; @@ -651,7 +555,6 @@ typedef struct XrVector3f { float z; } XrVector3f; -// XrSpaceVelocity extends XrSpaceLocation typedef struct XrSpaceVelocity { XrStructureType type; void* XR_MAY_ALIAS next; @@ -1404,7 +1307,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrApplyHapticFeedback( XRAPI_ATTR XrResult XRAPI_CALL xrStopHapticFeedback( XrSession session, const XrHapticActionInfo* hapticActionInfo); -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_KHR_composition_layer_cube 1 @@ -1426,7 +1329,6 @@ typedef struct XrCompositionLayerCubeKHR { #define XR_KHR_composition_layer_depth 1 #define XR_KHR_composition_layer_depth_SPEC_VERSION 5 #define XR_KHR_COMPOSITION_LAYER_DEPTH_EXTENSION_NAME "XR_KHR_composition_layer_depth" -// XrCompositionLayerDepthInfoKHR extends XrCompositionLayerProjectionView typedef struct XrCompositionLayerDepthInfoKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -1507,21 +1409,18 @@ typedef struct XrEventDataVisibilityMaskChangedKHR { typedef XrResult (XRAPI_PTR *PFN_xrGetVisibilityMaskKHR)(XrSession session, XrViewConfigurationType viewConfigurationType, uint32_t viewIndex, XrVisibilityMaskTypeKHR visibilityMaskType, XrVisibilityMaskKHR* visibilityMask); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetVisibilityMaskKHR( XrSession session, XrViewConfigurationType viewConfigurationType, uint32_t viewIndex, XrVisibilityMaskTypeKHR visibilityMaskType, XrVisibilityMaskKHR* visibilityMask); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_KHR_composition_layer_color_scale_bias 1 #define XR_KHR_composition_layer_color_scale_bias_SPEC_VERSION 5 #define XR_KHR_COMPOSITION_LAYER_COLOR_SCALE_BIAS_EXTENSION_NAME "XR_KHR_composition_layer_color_scale_bias" -// XrCompositionLayerColorScaleBiasKHR extends XrCompositionLayerBaseHeader typedef struct XrCompositionLayerColorScaleBiasKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -1542,11 +1441,9 @@ typedef struct XR_MAY_ALIAS XrLoaderInitInfoBaseHeaderKHR { typedef XrResult (XRAPI_PTR *PFN_xrInitializeLoaderKHR)(const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrInitializeLoaderKHR( const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_KHR_composition_layer_equirect2 1 @@ -1571,12 +1468,11 @@ typedef struct XrCompositionLayerEquirect2KHR { #define XR_KHR_binding_modification 1 #define XR_KHR_binding_modification_SPEC_VERSION 1 #define XR_KHR_BINDING_MODIFICATION_EXTENSION_NAME "XR_KHR_binding_modification" -typedef struct XR_MAY_ALIAS XrBindingModificationBaseHeaderKHR { +typedef struct XrBindingModificationBaseHeaderKHR { XrStructureType type; const void* XR_MAY_ALIAS next; } XrBindingModificationBaseHeaderKHR; -// XrBindingModificationsKHR extends XrInteractionProfileSuggestedBinding typedef struct XrBindingModificationsKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -1586,13 +1482,8 @@ typedef struct XrBindingModificationsKHR { -#define XR_KHR_swapchain_usage_input_attachment_bit 1 -#define XR_KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION 3 -#define XR_KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME "XR_KHR_swapchain_usage_input_attachment_bit" - - #define XR_EXT_performance_settings 1 -#define XR_EXT_performance_settings_SPEC_VERSION 3 +#define XR_EXT_performance_settings_SPEC_VERSION 1 #define XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME "XR_EXT_performance_settings" typedef enum XrPerfSettingsDomainEXT { @@ -1634,35 +1525,31 @@ typedef struct XrEventDataPerfSettingsEXT { typedef XrResult (XRAPI_PTR *PFN_xrPerfSettingsSetPerformanceLevelEXT)(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrPerfSettingsSetPerformanceLevelEXT( XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_EXT_thermal_query 1 -#define XR_EXT_thermal_query_SPEC_VERSION 2 +#define XR_EXT_thermal_query_SPEC_VERSION 1 #define XR_EXT_THERMAL_QUERY_EXTENSION_NAME "XR_EXT_thermal_query" typedef XrResult (XRAPI_PTR *PFN_xrThermalGetTemperatureTrendEXT)(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsNotificationLevelEXT* notificationLevel, float* tempHeadroom, float* tempSlope); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrThermalGetTemperatureTrendEXT( XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsNotificationLevelEXT* notificationLevel, float* tempHeadroom, float* tempSlope); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_EXT_debug_utils 1 XR_DEFINE_HANDLE(XrDebugUtilsMessengerEXT) -#define XR_EXT_debug_utils_SPEC_VERSION 4 +#define XR_EXT_debug_utils_SPEC_VERSION 3 #define XR_EXT_DEBUG_UTILS_EXTENSION_NAME "XR_EXT_debug_utils" typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT; @@ -1713,7 +1600,6 @@ typedef XrBool32 (XRAPI_PTR *PFN_xrDebugUtilsMessengerCallbackEXT)( void* userData); -// XrDebugUtilsMessengerCreateInfoEXT extends XrInstanceCreateInfo typedef struct XrDebugUtilsMessengerCreateInfoEXT { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -1732,7 +1618,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrSessionEndDebugUtilsLabelRegionEXT)(XrSession typedef XrResult (XRAPI_PTR *PFN_xrSessionInsertDebugUtilsLabelEXT)(XrSession session, const XrDebugUtilsLabelEXT* labelInfo); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrSetDebugUtilsObjectNameEXT( XrInstance instance, const XrDebugUtilsObjectNameInfoEXT* nameInfo); @@ -1761,21 +1646,18 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSessionEndDebugUtilsLabelRegionEXT( XRAPI_ATTR XrResult XRAPI_CALL xrSessionInsertDebugUtilsLabelEXT( XrSession session, const XrDebugUtilsLabelEXT* labelInfo); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_EXT_eye_gaze_interaction 1 #define XR_EXT_eye_gaze_interaction_SPEC_VERSION 1 #define XR_EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME "XR_EXT_eye_gaze_interaction" -// XrSystemEyeGazeInteractionPropertiesEXT extends XrSystemProperties typedef struct XrSystemEyeGazeInteractionPropertiesEXT { XrStructureType type; void* XR_MAY_ALIAS next; XrBool32 supportsEyeGazeInteraction; } XrSystemEyeGazeInteractionPropertiesEXT; -// XrEyeGazeSampleTimeEXT extends XrSpaceLocation typedef struct XrEyeGazeSampleTimeEXT { XrStructureType type; void* XR_MAY_ALIAS next; @@ -1785,18 +1667,18 @@ typedef struct XrEyeGazeSampleTimeEXT { #define XR_EXTX_overlay 1 -#define XR_EXTX_overlay_SPEC_VERSION 5 +#define XR_EXTX_overlay_SPEC_VERSION 4 #define XR_EXTX_OVERLAY_EXTENSION_NAME "XR_EXTX_overlay" typedef XrFlags64 XrOverlaySessionCreateFlagsEXTX; // Flag bits for XrOverlaySessionCreateFlagsEXTX +static const XrOverlaySessionCreateFlagsEXTX XR_OVERLAY_SESSION_CREATE_RELAXED_DISPLAY_TIME_BIT_EXTX = 0x00000001; typedef XrFlags64 XrOverlayMainSessionFlagsEXTX; // Flag bits for XrOverlayMainSessionFlagsEXTX static const XrOverlayMainSessionFlagsEXTX XR_OVERLAY_MAIN_SESSION_ENABLED_COMPOSITION_LAYER_INFO_DEPTH_BIT_EXTX = 0x00000001; -// XrSessionCreateInfoOverlayEXTX extends XrSessionCreateInfo typedef struct XrSessionCreateInfoOverlayEXTX { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -1825,7 +1707,7 @@ typedef struct XrEventDataMainSessionVisibilityChangedEXTX { #define XR_MSFT_spatial_anchor 1 XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) -#define XR_MSFT_spatial_anchor_SPEC_VERSION 2 +#define XR_MSFT_spatial_anchor_SPEC_VERSION 1 #define XR_MSFT_SPATIAL_ANCHOR_EXTENSION_NAME "XR_MSFT_spatial_anchor" typedef struct XrSpatialAnchorCreateInfoMSFT { XrStructureType type; @@ -1847,7 +1729,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorSpaceMSFT)(XrSession sessi typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT anchor); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorMSFT( XrSession session, const XrSpatialAnchorCreateInfoMSFT* createInfo, @@ -1860,50 +1741,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorSpaceMSFT( XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialAnchorMSFT( XrSpatialAnchorMSFT anchor); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_composition_layer_image_layout 1 -#define XR_FB_composition_layer_image_layout_SPEC_VERSION 1 -#define XR_FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME "XR_FB_composition_layer_image_layout" -typedef XrFlags64 XrCompositionLayerImageLayoutFlagsFB; - -// Flag bits for XrCompositionLayerImageLayoutFlagsFB -static const XrCompositionLayerImageLayoutFlagsFB XR_COMPOSITION_LAYER_IMAGE_LAYOUT_VERTICAL_FLIP_BIT_FB = 0x00000001; - -// XrCompositionLayerImageLayoutFB extends XrCompositionLayerBaseHeader -typedef struct XrCompositionLayerImageLayoutFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrCompositionLayerImageLayoutFlagsFB flags; -} XrCompositionLayerImageLayoutFB; - - - -#define XR_FB_composition_layer_alpha_blend 1 -#define XR_FB_composition_layer_alpha_blend_SPEC_VERSION 2 -#define XR_FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME "XR_FB_composition_layer_alpha_blend" - -typedef enum XrBlendFactorFB { - XR_BLEND_FACTOR_ZERO_FB = 0, - XR_BLEND_FACTOR_ONE_FB = 1, - XR_BLEND_FACTOR_SRC_ALPHA_FB = 2, - XR_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA_FB = 3, - XR_BLEND_FACTOR_DST_ALPHA_FB = 4, - XR_BLEND_FACTOR_ONE_MINUS_DST_ALPHA_FB = 5, - XR_BLEND_FACTOR_MAX_ENUM_FB = 0x7FFFFFFF -} XrBlendFactorFB; -// XrCompositionLayerAlphaBlendFB extends XrCompositionLayerBaseHeader -typedef struct XrCompositionLayerAlphaBlendFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBlendFactorFB srcFactorColor; - XrBlendFactorFB dstFactorColor; - XrBlendFactorFB srcFactorAlpha; - XrBlendFactorFB dstFactorAlpha; -} XrCompositionLayerAlphaBlendFB; - +#endif #define XR_MND_headless 1 @@ -1919,7 +1757,6 @@ typedef struct XrCompositionLayerAlphaBlendFB { #define XR_EXT_view_configuration_depth_range 1 #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" -// XrViewConfigurationDepthRangeEXT extends XrViewConfigurationView typedef struct XrViewConfigurationDepthRangeEXT { XrStructureType type; void* XR_MAY_ALIAS next; @@ -1932,7 +1769,7 @@ typedef struct XrViewConfigurationDepthRangeEXT { #define XR_EXT_conformance_automation 1 -#define XR_EXT_conformance_automation_SPEC_VERSION 3 +#define XR_EXT_conformance_automation_SPEC_VERSION 1 #define XR_EXT_CONFORMANCE_AUTOMATION_EXTENSION_NAME "XR_EXT_conformance_automation" typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceActiveEXT)(XrSession session, XrPath interactionProfile, XrPath topLevelPath, XrBool32 isActive); typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceStateBoolEXT)(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrBool32 state); @@ -1941,7 +1778,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceStateVector2fEXT)(XrSession ses typedef XrResult (XRAPI_PTR *PFN_xrSetInputDeviceLocationEXT)(XrSession session, XrPath topLevelPath, XrPath inputSourcePath, XrSpace space, XrPosef pose); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrSetInputDeviceActiveEXT( XrSession session, XrPath interactionProfile, @@ -1972,8 +1808,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSetInputDeviceLocationEXT( XrPath inputSourcePath, XrSpace space, XrPosef pose); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_MSFT_spatial_graph_bridge 1 @@ -1996,13 +1831,11 @@ typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT { typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialGraphNodeSpaceMSFT)(XrSession session, const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo, XrSpace* space); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialGraphNodeSpaceMSFT( XrSession session, const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo, XrSpace* space); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_MSFT_hand_interaction 1 @@ -2015,7 +1848,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialGraphNodeSpaceMSFT( #define XR_HAND_JOINT_COUNT_EXT 26 XR_DEFINE_HANDLE(XrHandTrackerEXT) -#define XR_EXT_hand_tracking_SPEC_VERSION 4 +#define XR_EXT_hand_tracking_SPEC_VERSION 2 #define XR_EXT_HAND_TRACKING_EXTENSION_NAME "XR_EXT_hand_tracking" typedef enum XrHandEXT { @@ -2058,7 +1891,6 @@ typedef enum XrHandJointSetEXT { XR_HAND_JOINT_SET_DEFAULT_EXT = 0, XR_HAND_JOINT_SET_MAX_ENUM_EXT = 0x7FFFFFFF } XrHandJointSetEXT; -// XrSystemHandTrackingPropertiesEXT extends XrSystemProperties typedef struct XrSystemHandTrackingPropertiesEXT { XrStructureType type; void* XR_MAY_ALIAS next; @@ -2099,7 +1931,6 @@ typedef struct XrHandJointLocationsEXT { XrHandJointLocationEXT* jointLocations; } XrHandJointLocationsEXT; -// XrHandJointVelocitiesEXT extends XrHandJointLocationsEXT typedef struct XrHandJointVelocitiesEXT { XrStructureType type; void* XR_MAY_ALIAS next; @@ -2112,7 +1943,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrDestroyHandTrackerEXT)(XrHandTrackerEXT handT typedef XrResult (XRAPI_PTR *PFN_xrLocateHandJointsEXT)(XrHandTrackerEXT handTracker, const XrHandJointsLocateInfoEXT* locateInfo, XrHandJointLocationsEXT* locations); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateHandTrackerEXT( XrSession session, const XrHandTrackerCreateInfoEXT* createInfo, @@ -2125,12 +1955,11 @@ XRAPI_ATTR XrResult XRAPI_CALL xrLocateHandJointsEXT( XrHandTrackerEXT handTracker, const XrHandJointsLocateInfoEXT* locateInfo, XrHandJointLocationsEXT* locations); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_MSFT_hand_tracking_mesh 1 -#define XR_MSFT_hand_tracking_mesh_SPEC_VERSION 4 +#define XR_MSFT_hand_tracking_mesh_SPEC_VERSION 2 #define XR_MSFT_HAND_TRACKING_MESH_EXTENSION_NAME "XR_MSFT_hand_tracking_mesh" typedef enum XrHandPoseTypeMSFT { @@ -2138,7 +1967,6 @@ typedef enum XrHandPoseTypeMSFT { XR_HAND_POSE_TYPE_REFERENCE_OPEN_PALM_MSFT = 1, XR_HAND_POSE_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF } XrHandPoseTypeMSFT; -// XrSystemHandTrackingMeshPropertiesMSFT extends XrSystemProperties typedef struct XrSystemHandTrackingMeshPropertiesMSFT { XrStructureType type; void* XR_MAY_ALIAS next; @@ -2190,7 +2018,6 @@ typedef struct XrHandMeshMSFT { XrHandMeshVertexBufferMSFT vertexBuffer; } XrHandMeshMSFT; -// XrHandPoseTypeInfoMSFT extends XrHandTrackerCreateInfoEXT typedef struct XrHandPoseTypeInfoMSFT { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -2201,7 +2028,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateHandMeshSpaceMSFT)(XrHandTrackerEXT han typedef XrResult (XRAPI_PTR *PFN_xrUpdateHandMeshMSFT)(XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT* updateInfo, XrHandMeshMSFT* handMesh); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateHandMeshSpaceMSFT( XrHandTrackerEXT handTracker, const XrHandMeshSpaceCreateInfoMSFT* createInfo, @@ -2211,14 +2037,12 @@ XRAPI_ATTR XrResult XRAPI_CALL xrUpdateHandMeshMSFT( XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT* updateInfo, XrHandMeshMSFT* handMesh); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_MSFT_secondary_view_configuration 1 #define XR_MSFT_secondary_view_configuration_SPEC_VERSION 1 #define XR_MSFT_SECONDARY_VIEW_CONFIGURATION_EXTENSION_NAME "XR_MSFT_secondary_view_configuration" -// XrSecondaryViewConfigurationSessionBeginInfoMSFT extends XrSessionBeginInfo typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -2233,7 +2057,6 @@ typedef struct XrSecondaryViewConfigurationStateMSFT { XrBool32 active; } XrSecondaryViewConfigurationStateMSFT; -// XrSecondaryViewConfigurationFrameStateMSFT extends XrFrameState typedef struct XrSecondaryViewConfigurationFrameStateMSFT { XrStructureType type; void* XR_MAY_ALIAS next; @@ -2250,7 +2073,6 @@ typedef struct XrSecondaryViewConfigurationLayerInfoMSFT { const XrCompositionLayerBaseHeader* const* layers; } XrSecondaryViewConfigurationLayerInfoMSFT; -// XrSecondaryViewConfigurationFrameEndInfoMSFT extends XrFrameEndInfo typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -2258,7 +2080,6 @@ typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT { const XrSecondaryViewConfigurationLayerInfoMSFT* viewConfigurationLayersInfo; } XrSecondaryViewConfigurationFrameEndInfoMSFT; -// XrSecondaryViewConfigurationSwapchainCreateInfoMSFT extends XrSwapchainCreateInfo typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -2321,7 +2142,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelPropertiesMSFT)(XrSession s typedef XrResult (XRAPI_PTR *PFN_xrGetControllerModelStateMSFT)(XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelStateMSFT* state); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetControllerModelKeyMSFT( XrSession session, XrPath topLevelUserPath, @@ -2343,8 +2163,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetControllerModelStateMSFT( XrSession session, XrControllerModelKeyMSFT modelKey, XrControllerModelStateMSFT* state); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_EXT_win32_appcontainer_compatible 1 @@ -2355,7 +2174,6 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetControllerModelStateMSFT( #define XR_EPIC_view_configuration_fov 1 #define XR_EPIC_view_configuration_fov_SPEC_VERSION 2 #define XR_EPIC_VIEW_CONFIGURATION_FOV_EXTENSION_NAME "XR_EPIC_view_configuration_fov" -// XrViewConfigurationViewFovEPIC extends XrViewConfigurationView typedef struct XrViewConfigurationViewFovEPIC { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -2365,97 +2183,13 @@ typedef struct XrViewConfigurationViewFovEPIC { -#define XR_MSFT_composition_layer_reprojection 1 -#define XR_MSFT_composition_layer_reprojection_SPEC_VERSION 1 -#define XR_MSFT_COMPOSITION_LAYER_REPROJECTION_EXTENSION_NAME "XR_MSFT_composition_layer_reprojection" - -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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrReprojectionModeMSFT; -// XrCompositionLayerReprojectionInfoMSFT extends XrCompositionLayerProjection -typedef struct XrCompositionLayerReprojectionInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrReprojectionModeMSFT reprojectionMode; -} XrCompositionLayerReprojectionInfoMSFT; - -// XrCompositionLayerReprojectionPlaneOverrideMSFT extends XrCompositionLayerProjection -typedef struct XrCompositionLayerReprojectionPlaneOverrideMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrVector3f position; - XrVector3f normal; - XrVector3f velocity; -} XrCompositionLayerReprojectionPlaneOverrideMSFT; - -typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReprojectionModesMSFT)(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t modeCapacityInput, uint32_t* modeCountOutput, XrReprojectionModeMSFT* modes); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateReprojectionModesMSFT( - XrInstance instance, - XrSystemId systemId, - XrViewConfigurationType viewConfigurationType, - uint32_t modeCapacityInput, - uint32_t* modeCountOutput, - XrReprojectionModeMSFT* modes); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - #define XR_HUAWEI_controller_interaction 1 #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 1 -#define XR_FB_swapchain_update_state_SPEC_VERSION 3 -#define XR_FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME "XR_FB_swapchain_update_state" -typedef struct XR_MAY_ALIAS XrSwapchainStateBaseHeaderFB { - XrStructureType type; - void* XR_MAY_ALIAS next; -} XrSwapchainStateBaseHeaderFB; - -typedef XrResult (XRAPI_PTR *PFN_xrUpdateSwapchainFB)(XrSwapchain swapchain, const XrSwapchainStateBaseHeaderFB* state); -typedef XrResult (XRAPI_PTR *PFN_xrGetSwapchainStateFB)(XrSwapchain swapchain, XrSwapchainStateBaseHeaderFB* state); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrUpdateSwapchainFB( - XrSwapchain swapchain, - const XrSwapchainStateBaseHeaderFB* state); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetSwapchainStateFB( - XrSwapchain swapchain, - XrSwapchainStateBaseHeaderFB* state); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_composition_layer_secure_content 1 -#define XR_FB_composition_layer_secure_content_SPEC_VERSION 1 -#define XR_FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME "XR_FB_composition_layer_secure_content" -typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB; - -// Flag bits for XrCompositionLayerSecureContentFlagsFB -static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB = 0x00000001; -static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB = 0x00000002; - -// XrCompositionLayerSecureContentFB extends XrCompositionLayerBaseHeader -typedef struct XrCompositionLayerSecureContentFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrCompositionLayerSecureContentFlagsFB flags; -} XrCompositionLayerSecureContentFB; - - - #define XR_VALVE_analog_threshold 1 -#define XR_VALVE_analog_threshold_SPEC_VERSION 2 +#define XR_VALVE_analog_threshold_SPEC_VERSION 1 #define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold" typedef struct XrInteractionProfileAnalogThresholdVALVE { XrStructureType type; @@ -2470,24 +2204,6 @@ typedef struct XrInteractionProfileAnalogThresholdVALVE { -#define XR_EXT_hand_joints_motion_range 1 -#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" - -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_MAX_ENUM_EXT = 0x7FFFFFFF -} XrHandJointsMotionRangeEXT; -// XrHandJointsMotionRangeInfoEXT extends XrHandJointsLocateInfoEXT -typedef struct XrHandJointsMotionRangeInfoEXT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrHandJointsMotionRangeEXT handJointsMotionRange; -} XrHandJointsMotionRangeInfoEXT; - - - #define XR_EXT_samsung_odyssey_controller 1 #define XR_EXT_samsung_odyssey_controller_SPEC_VERSION 1 #define XR_EXT_SAMSUNG_ODYSSEY_CONTROLLER_EXTENSION_NAME "XR_EXT_samsung_odyssey_controller" @@ -2503,374 +2219,6 @@ typedef struct XrHandJointsMotionRangeInfoEXT { #define XR_MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME "XR_MND_swapchain_usage_input_attachment_bit" -#define XR_MSFT_scene_understanding 1 - - XR_DEFINE_HANDLE(XrSceneObserverMSFT) - - - XR_DEFINE_HANDLE(XrSceneMSFT) - -#define XR_MSFT_scene_understanding_SPEC_VERSION 1 -#define XR_MSFT_SCENE_UNDERSTANDING_EXTENSION_NAME "XR_MSFT_scene_understanding" - -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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrSceneComputeFeatureMSFT; - -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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrSceneComputeConsistencyMSFT; - -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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrMeshComputeLodMSFT; - -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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrSceneComponentTypeMSFT; - -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_MAX_ENUM_MSFT = 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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrScenePlaneAlignmentTypeMSFT; - -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_MAX_ENUM_MSFT = 0x7FFFFFFF -} XrSceneComputeStateMSFT; -typedef struct XrUuidMSFT { - uint8_t bytes[16]; -} XrUuidMSFT; - -typedef struct XrSceneObserverCreateInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; -} XrSceneObserverCreateInfoMSFT; - -typedef struct XrSceneCreateInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; -} XrSceneCreateInfoMSFT; - -typedef struct XrSceneSphereBoundMSFT { - XrVector3f center; - float radius; -} XrSceneSphereBoundMSFT; - -typedef struct XrSceneOrientedBoxBoundMSFT { - XrPosef pose; - XrVector3f extents; -} XrSceneOrientedBoxBoundMSFT; - -typedef struct XrSceneFrustumBoundMSFT { - XrPosef pose; - XrFovf fov; - float farDistance; -} XrSceneFrustumBoundMSFT; - -typedef struct XrSceneBoundsMSFT { - XrSpace space; - XrTime time; - uint32_t sphereCount; - const XrSceneSphereBoundMSFT* spheres; - uint32_t boxCount; - const XrSceneOrientedBoxBoundMSFT* boxes; - uint32_t frustumCount; - const XrSceneFrustumBoundMSFT* frustums; -} XrSceneBoundsMSFT; - -typedef struct XrNewSceneComputeInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint32_t requestedFeatureCount; - const XrSceneComputeFeatureMSFT* requestedFeatures; - XrSceneComputeConsistencyMSFT consistency; - XrSceneBoundsMSFT bounds; -} XrNewSceneComputeInfoMSFT; - -// XrVisualMeshComputeLodInfoMSFT extends XrNewSceneComputeInfoMSFT -typedef struct XrVisualMeshComputeLodInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrMeshComputeLodMSFT lod; -} XrVisualMeshComputeLodInfoMSFT; - -typedef struct XrSceneComponentMSFT { - XrSceneComponentTypeMSFT componentType; - XrUuidMSFT id; - XrUuidMSFT parentId; - XrTime updateTime; -} XrSceneComponentMSFT; - -typedef struct XrSceneComponentsMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t componentCapacityInput; - uint32_t componentCountOutput; - XrSceneComponentMSFT* components; -} XrSceneComponentsMSFT; - -typedef struct XrSceneComponentsGetInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrSceneComponentTypeMSFT componentType; -} XrSceneComponentsGetInfoMSFT; - -typedef struct XrSceneComponentLocationMSFT { - XrSpaceLocationFlags flags; - XrPosef pose; -} XrSceneComponentLocationMSFT; - -typedef struct XrSceneComponentLocationsMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t locationCount; - XrSceneComponentLocationMSFT* locations; -} XrSceneComponentLocationsMSFT; - -typedef struct XrSceneComponentsLocateInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrSpace baseSpace; - XrTime time; - uint32_t componentIdCount; - const XrUuidMSFT* componentIds; -} XrSceneComponentsLocateInfoMSFT; - -typedef struct XrSceneObjectMSFT { - XrSceneObjectTypeMSFT objectType; -} XrSceneObjectMSFT; - -// XrSceneObjectsMSFT extends XrSceneComponentsMSFT -typedef struct XrSceneObjectsMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t sceneObjectCount; - XrSceneObjectMSFT* sceneObjects; -} XrSceneObjectsMSFT; - -// XrSceneComponentParentFilterInfoMSFT extends XrSceneComponentsGetInfoMSFT -typedef struct XrSceneComponentParentFilterInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrUuidMSFT parentId; -} XrSceneComponentParentFilterInfoMSFT; - -// XrSceneObjectTypesFilterInfoMSFT extends XrSceneComponentsGetInfoMSFT -typedef struct XrSceneObjectTypesFilterInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint32_t objectTypeCount; - const XrSceneObjectTypeMSFT* objectTypes; -} XrSceneObjectTypesFilterInfoMSFT; - -typedef struct XrScenePlaneMSFT { - XrScenePlaneAlignmentTypeMSFT alignment; - XrExtent2Df size; - uint64_t meshBufferId; - XrBool32 supportsIndicesUint16; -} XrScenePlaneMSFT; - -// XrScenePlanesMSFT extends XrSceneComponentsMSFT -typedef struct XrScenePlanesMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t scenePlaneCount; - XrScenePlaneMSFT* scenePlanes; -} XrScenePlanesMSFT; - -// XrScenePlaneAlignmentFilterInfoMSFT extends XrSceneComponentsGetInfoMSFT -typedef struct XrScenePlaneAlignmentFilterInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint32_t alignmentCount; - const XrScenePlaneAlignmentTypeMSFT* alignments; -} XrScenePlaneAlignmentFilterInfoMSFT; - -typedef struct XrSceneMeshMSFT { - uint64_t meshBufferId; - XrBool32 supportsIndicesUint16; -} XrSceneMeshMSFT; - -// XrSceneMeshesMSFT extends XrSceneComponentsMSFT -typedef struct XrSceneMeshesMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t sceneMeshCount; - XrSceneMeshMSFT* sceneMeshes; -} XrSceneMeshesMSFT; - -typedef struct XrSceneMeshBuffersGetInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint64_t meshBufferId; -} XrSceneMeshBuffersGetInfoMSFT; - -typedef struct XrSceneMeshBuffersMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; -} XrSceneMeshBuffersMSFT; - -typedef struct XrSceneMeshVertexBufferMSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t vertexCapacityInput; - uint32_t vertexCountOutput; - XrVector3f* vertices; -} XrSceneMeshVertexBufferMSFT; - -typedef struct XrSceneMeshIndicesUint32MSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - uint32_t* indices; -} XrSceneMeshIndicesUint32MSFT; - -typedef struct XrSceneMeshIndicesUint16MSFT { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - uint16_t* indices; -} XrSceneMeshIndicesUint16MSFT; - -typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance instance, XrSystemId systemId, uint32_t featureCapacityInput, uint32_t* featureCountOutput, XrSceneComputeFeatureMSFT* features); -typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneObserverMSFT)(XrSession session, const XrSceneObserverCreateInfoMSFT* createInfo, XrSceneObserverMSFT* sceneObserver); -typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT sceneObserver); -typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneMSFT)(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT* createInfo, XrSceneMSFT* scene); -typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneMSFT)(XrSceneMSFT scene); -typedef XrResult (XRAPI_PTR *PFN_xrComputeNewSceneMSFT)(XrSceneObserverMSFT sceneObserver, const XrNewSceneComputeInfoMSFT* computeInfo); -typedef XrResult (XRAPI_PTR *PFN_xrGetSceneComputeStateMSFT)(XrSceneObserverMSFT sceneObserver, XrSceneComputeStateMSFT* state); -typedef XrResult (XRAPI_PTR *PFN_xrGetSceneComponentsMSFT)(XrSceneMSFT scene, const XrSceneComponentsGetInfoMSFT* getInfo, XrSceneComponentsMSFT* components); -typedef XrResult (XRAPI_PTR *PFN_xrLocateSceneComponentsMSFT)(XrSceneMSFT scene, const XrSceneComponentsLocateInfoMSFT* locateInfo, XrSceneComponentLocationsMSFT* locations); -typedef XrResult (XRAPI_PTR *PFN_xrGetSceneMeshBuffersMSFT)(XrSceneMSFT scene, const XrSceneMeshBuffersGetInfoMSFT* getInfo, XrSceneMeshBuffersMSFT* buffers); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSceneComputeFeaturesMSFT( - XrInstance instance, - XrSystemId systemId, - uint32_t featureCapacityInput, - uint32_t* featureCountOutput, - XrSceneComputeFeatureMSFT* features); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreateSceneObserverMSFT( - XrSession session, - const XrSceneObserverCreateInfoMSFT* createInfo, - XrSceneObserverMSFT* sceneObserver); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroySceneObserverMSFT( - XrSceneObserverMSFT sceneObserver); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreateSceneMSFT( - XrSceneObserverMSFT sceneObserver, - const XrSceneCreateInfoMSFT* createInfo, - XrSceneMSFT* scene); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroySceneMSFT( - XrSceneMSFT scene); - -XRAPI_ATTR XrResult XRAPI_CALL xrComputeNewSceneMSFT( - XrSceneObserverMSFT sceneObserver, - const XrNewSceneComputeInfoMSFT* computeInfo); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetSceneComputeStateMSFT( - XrSceneObserverMSFT sceneObserver, - XrSceneComputeStateMSFT* state); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetSceneComponentsMSFT( - XrSceneMSFT scene, - const XrSceneComponentsGetInfoMSFT* getInfo, - XrSceneComponentsMSFT* components); - -XRAPI_ATTR XrResult XRAPI_CALL xrLocateSceneComponentsMSFT( - XrSceneMSFT scene, - const XrSceneComponentsLocateInfoMSFT* locateInfo, - XrSceneComponentLocationsMSFT* locations); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetSceneMeshBuffersMSFT( - XrSceneMSFT scene, - const XrSceneMeshBuffersGetInfoMSFT* getInfo, - XrSceneMeshBuffersMSFT* buffers); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_MSFT_scene_understanding_serialization 1 -#define XR_MSFT_scene_understanding_serialization_SPEC_VERSION 1 -#define XR_MSFT_SCENE_UNDERSTANDING_SERIALIZATION_EXTENSION_NAME "XR_MSFT_scene_understanding_serialization" -typedef struct XrSerializedSceneFragmentDataGetInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrUuidMSFT sceneFragmentId; -} XrSerializedSceneFragmentDataGetInfoMSFT; - -typedef struct XrDeserializeSceneFragmentMSFT { - uint32_t bufferSize; - const uint8_t* buffer; -} XrDeserializeSceneFragmentMSFT; - -typedef struct XrSceneDeserializeInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint32_t fragmentCount; - const XrDeserializeSceneFragmentMSFT* fragments; -} XrSceneDeserializeInfoMSFT; - -typedef XrResult (XRAPI_PTR *PFN_xrDeserializeSceneMSFT)(XrSceneObserverMSFT sceneObserver, const XrSceneDeserializeInfoMSFT* deserializeInfo); -typedef XrResult (XRAPI_PTR *PFN_xrGetSerializedSceneFragmentDataMSFT)(XrSceneMSFT scene, const XrSerializedSceneFragmentDataGetInfoMSFT* getInfo, uint32_t countInput, uint32_t* readOutput, uint8_t* buffer); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrDeserializeSceneMSFT( - XrSceneObserverMSFT sceneObserver, - const XrSceneDeserializeInfoMSFT* deserializeInfo); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetSerializedSceneFragmentDataMSFT( - XrSceneMSFT scene, - const XrSerializedSceneFragmentDataGetInfoMSFT* getInfo, - uint32_t countInput, - uint32_t* readOutput, - uint8_t* buffer); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - #define XR_FB_display_refresh_rate 1 #define XR_FB_display_refresh_rate_SPEC_VERSION 1 #define XR_FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME "XR_FB_display_refresh_rate" @@ -2886,7 +2234,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetDisplayRefreshRateFB)(XrSession session, f typedef XrResult (XRAPI_PTR *PFN_xrRequestDisplayRefreshRateFB)(XrSession session, float displayRefreshRate); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateDisplayRefreshRatesFB( XrSession session, uint32_t displayRefreshRateCapacityInput, @@ -2900,8 +2247,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetDisplayRefreshRateFB( XRAPI_ATTR XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB( XrSession session, float displayRefreshRate); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #define XR_HTC_vive_cosmos_controller_interaction 1 @@ -2909,161 +2255,8 @@ XRAPI_ATTR XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB( #define XR_HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HTC_vive_cosmos_controller_interaction" -#define XR_HTCX_vive_tracker_interaction 1 -#define XR_HTCX_vive_tracker_interaction_SPEC_VERSION 1 -#define XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME "XR_HTCX_vive_tracker_interaction" -typedef struct XrViveTrackerPathsHTCX { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrPath persistentPath; - XrPath rolePath; -} XrViveTrackerPathsHTCX; - -typedef struct XrEventDataViveTrackerConnectedHTCX { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrViveTrackerPathsHTCX* paths; -} XrEventDataViveTrackerConnectedHTCX; - -typedef XrResult (XRAPI_PTR *PFN_xrEnumerateViveTrackerPathsHTCX)(XrInstance instance, uint32_t pathCapacityInput, uint32_t* pathCountOutput, XrViveTrackerPathsHTCX* paths); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateViveTrackerPathsHTCX( - XrInstance instance, - uint32_t pathCapacityInput, - uint32_t* pathCountOutput, - XrViveTrackerPathsHTCX* paths); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_HTC_facial_tracking 1 - -#define XR_FACIAL_EXPRESSION_EYE_COUNT_HTC 14 - - -#define XR_FACIAL_EXPRESSION_LIP_COUNT_HTC 37 - -XR_DEFINE_HANDLE(XrFacialTrackerHTC) -#define XR_HTC_facial_tracking_SPEC_VERSION 1 -#define XR_HTC_FACIAL_TRACKING_EXTENSION_NAME "XR_HTC_facial_tracking" - -typedef enum XrEyeExpressionHTC { - XR_EYE_EXPRESSION_LEFT_BLINK_HTC = 0, - XR_EYE_EXPRESSION_LEFT_WIDE_HTC = 1, - XR_EYE_EXPRESSION_RIGHT_BLINK_HTC = 2, - XR_EYE_EXPRESSION_RIGHT_WIDE_HTC = 3, - XR_EYE_EXPRESSION_LEFT_SQUEEZE_HTC = 4, - XR_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC = 5, - XR_EYE_EXPRESSION_LEFT_DOWN_HTC = 6, - XR_EYE_EXPRESSION_RIGHT_DOWN_HTC = 7, - XR_EYE_EXPRESSION_LEFT_OUT_HTC = 8, - XR_EYE_EXPRESSION_RIGHT_IN_HTC = 9, - XR_EYE_EXPRESSION_LEFT_IN_HTC = 10, - XR_EYE_EXPRESSION_RIGHT_OUT_HTC = 11, - XR_EYE_EXPRESSION_LEFT_UP_HTC = 12, - XR_EYE_EXPRESSION_RIGHT_UP_HTC = 13, - XR_EYE_EXPRESSION_MAX_ENUM_HTC = 0x7FFFFFFF -} XrEyeExpressionHTC; - -typedef enum XrLipExpressionHTC { - XR_LIP_EXPRESSION_JAW_RIGHT_HTC = 0, - XR_LIP_EXPRESSION_JAW_LEFT_HTC = 1, - XR_LIP_EXPRESSION_JAW_FORWARD_HTC = 2, - XR_LIP_EXPRESSION_JAW_OPEN_HTC = 3, - XR_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC = 4, - XR_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC = 5, - XR_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC = 6, - XR_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC = 7, - XR_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC = 8, - XR_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC = 9, - XR_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC = 10, - XR_LIP_EXPRESSION_MOUTH_POUT_HTC = 11, - XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC = 12, - XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC = 13, - XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC = 14, - XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC = 15, - XR_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC = 16, - XR_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC = 17, - XR_LIP_EXPRESSION_CHEEK_SUCK_HTC = 18, - XR_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC = 19, - XR_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC = 20, - XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC = 21, - XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC = 22, - XR_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC = 23, - XR_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC = 24, - XR_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC = 25, - XR_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC = 26, - XR_LIP_EXPRESSION_TONGUE_LEFT_HTC = 27, - XR_LIP_EXPRESSION_TONGUE_RIGHT_HTC = 28, - XR_LIP_EXPRESSION_TONGUE_UP_HTC = 29, - XR_LIP_EXPRESSION_TONGUE_DOWN_HTC = 30, - XR_LIP_EXPRESSION_TONGUE_ROLL_HTC = 31, - XR_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC = 32, - XR_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC = 33, - XR_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC = 34, - XR_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC = 35, - XR_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC = 36, - XR_LIP_EXPRESSION_MAX_ENUM_HTC = 0x7FFFFFFF -} XrLipExpressionHTC; - -typedef enum XrFacialTrackingTypeHTC { - XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC = 1, - XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC = 2, - XR_FACIAL_TRACKING_TYPE_MAX_ENUM_HTC = 0x7FFFFFFF -} XrFacialTrackingTypeHTC; -// XrSystemFacialTrackingPropertiesHTC extends XrSystemProperties -typedef struct XrSystemFacialTrackingPropertiesHTC { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBool32 supportEyeFacialTracking; - XrBool32 supportLipFacialTracking; -} XrSystemFacialTrackingPropertiesHTC; - -typedef struct XrFacialExpressionsHTC { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrBool32 isActive; - XrTime sampleTime; - uint32_t expressionCount; - float* expressionWeightings; -} XrFacialExpressionsHTC; - -typedef struct XrFacialTrackerCreateInfoHTC { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrFacialTrackingTypeHTC facialTrackingType; -} XrFacialTrackerCreateInfoHTC; - -typedef XrResult (XRAPI_PTR *PFN_xrCreateFacialTrackerHTC)(XrSession session, const XrFacialTrackerCreateInfoHTC* createInfo, XrFacialTrackerHTC* facialTracker); -typedef XrResult (XRAPI_PTR *PFN_xrDestroyFacialTrackerHTC)(XrFacialTrackerHTC facialTracker); -typedef XrResult (XRAPI_PTR *PFN_xrGetFacialExpressionsHTC)(XrFacialTrackerHTC facialTracker, XrFacialExpressionsHTC* facialExpressions); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrCreateFacialTrackerHTC( - XrSession session, - const XrFacialTrackerCreateInfoHTC* createInfo, - XrFacialTrackerHTC* facialTracker); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroyFacialTrackerHTC( - XrFacialTrackerHTC facialTracker); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetFacialExpressionsHTC( - XrFacialTrackerHTC facialTracker, - XrFacialExpressionsHTC* facialExpressions); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_HTC_vive_focus3_controller_interaction 1 -#define XR_HTC_vive_focus3_controller_interaction_SPEC_VERSION 1 -#define XR_HTC_VIVE_FOCUS3_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HTC_vive_focus3_controller_interaction" - - #define XR_FB_color_space 1 -#define XR_FB_color_space_SPEC_VERSION 2 +#define XR_FB_color_space_SPEC_VERSION 1 #define XR_FB_COLOR_SPACE_EXTENSION_NAME "XR_FB_color_space" typedef enum XrColorSpaceFB { @@ -3077,7 +2270,6 @@ typedef enum XrColorSpaceFB { XR_COLOR_SPACE_ADOBE_RGB_FB = 7, XR_COLOR_SPACE_MAX_ENUM_FB = 0x7FFFFFFF } XrColorSpaceFB; -// XrSystemColorSpacePropertiesFB extends XrSystemProperties typedef struct XrSystemColorSpacePropertiesFB { XrStructureType type; void* XR_MAY_ALIAS next; @@ -3088,7 +2280,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrEnumerateColorSpacesFB)(XrSession session, ui typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession session, const XrColorSpaceFB colorspace); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateColorSpacesFB( XrSession session, uint32_t colorSpaceCapacityInput, @@ -3098,825 +2289,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateColorSpacesFB( XRAPI_ATTR XrResult XRAPI_CALL xrSetColorSpaceFB( XrSession session, const XrColorSpaceFB colorspace); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_hand_tracking_mesh 1 -#define XR_FB_hand_tracking_mesh_SPEC_VERSION 1 -#define XR_FB_HAND_TRACKING_MESH_EXTENSION_NAME "XR_FB_hand_tracking_mesh" -typedef struct XrVector4sFB { - int16_t x; - int16_t y; - int16_t z; - int16_t w; -} XrVector4sFB; - -typedef struct XrHandTrackingMeshFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t jointCapacityInput; - uint32_t jointCountOutput; - XrPosef* jointBindPoses; - float* jointRadii; - XrHandJointEXT* jointParents; - uint32_t vertexCapacityInput; - uint32_t vertexCountOutput; - XrVector3f* vertexPositions; - XrVector3f* vertexNormals; - XrVector2f* vertexUVs; - XrVector4sFB* vertexBlendIndices; - XrVector4f* vertexBlendWeights; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - int16_t* indices; -} XrHandTrackingMeshFB; - -// XrHandTrackingScaleFB extends XrHandJointsLocateInfoEXT -typedef struct XrHandTrackingScaleFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - float sensorOutput; - float currentOutput; - XrBool32 overrideHandScale; - float overrideValueInput; -} XrHandTrackingScaleFB; - -typedef XrResult (XRAPI_PTR *PFN_xrGetHandMeshFB)(XrHandTrackerEXT handTracker, XrHandTrackingMeshFB* mesh); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrGetHandMeshFB( - XrHandTrackerEXT handTracker, - XrHandTrackingMeshFB* mesh); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_hand_tracking_aim 1 -#define XR_FB_hand_tracking_aim_SPEC_VERSION 1 -#define XR_FB_HAND_TRACKING_AIM_EXTENSION_NAME "XR_FB_hand_tracking_aim" -typedef XrFlags64 XrHandTrackingAimFlagsFB; - -// Flag bits for XrHandTrackingAimFlagsFB -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_COMPUTED_BIT_FB = 0x00000001; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_VALID_BIT_FB = 0x00000002; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_INDEX_PINCHING_BIT_FB = 0x00000004; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_MIDDLE_PINCHING_BIT_FB = 0x00000008; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_RING_PINCHING_BIT_FB = 0x00000010; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_LITTLE_PINCHING_BIT_FB = 0x00000020; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_SYSTEM_GESTURE_BIT_FB = 0x00000040; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_DOMINANT_HAND_BIT_FB = 0x00000080; -static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_MENU_PRESSED_BIT_FB = 0x00000100; - -// XrHandTrackingAimStateFB extends XrHandJointsLocateInfoEXT -typedef struct XrHandTrackingAimStateFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrHandTrackingAimFlagsFB status; - XrPosef aimPose; - float pinchStrengthIndex; - float pinchStrengthMiddle; - float pinchStrengthRing; - float pinchStrengthLittle; -} XrHandTrackingAimStateFB; - - - -#define XR_FB_hand_tracking_capsules 1 -#define XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB 2 -#define XR_FB_HAND_TRACKING_CAPSULE_POINT_COUNT XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB -#define XR_HAND_TRACKING_CAPSULE_COUNT_FB 19 -#define XR_FB_HAND_TRACKING_CAPSULE_COUNT XR_HAND_TRACKING_CAPSULE_COUNT_FB -#define XR_FB_hand_tracking_capsules_SPEC_VERSION 2 -#define XR_FB_HAND_TRACKING_CAPSULES_EXTENSION_NAME "XR_FB_hand_tracking_capsules" -typedef struct XrHandCapsuleFB { - XrVector3f points[XR_FB_HAND_TRACKING_CAPSULE_POINT_COUNT]; - float radius; - XrHandJointEXT joint; -} XrHandCapsuleFB; - -// XrHandTrackingCapsulesStateFB extends XrHandJointsLocateInfoEXT -typedef struct XrHandTrackingCapsulesStateFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrHandCapsuleFB capsules[XR_FB_HAND_TRACKING_CAPSULE_COUNT]; -} XrHandTrackingCapsulesStateFB; - - - -#define XR_FB_foveation 1 -XR_DEFINE_HANDLE(XrFoveationProfileFB) -#define XR_FB_foveation_SPEC_VERSION 1 -#define XR_FB_FOVEATION_EXTENSION_NAME "XR_FB_foveation" -typedef XrFlags64 XrSwapchainCreateFoveationFlagsFB; - -// Flag bits for XrSwapchainCreateFoveationFlagsFB -static const XrSwapchainCreateFoveationFlagsFB XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB = 0x00000001; -static const XrSwapchainCreateFoveationFlagsFB XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB = 0x00000002; - -typedef XrFlags64 XrSwapchainStateFoveationFlagsFB; - -// Flag bits for XrSwapchainStateFoveationFlagsFB - -typedef struct XrFoveationProfileCreateInfoFB { - XrStructureType type; - void* XR_MAY_ALIAS next; -} XrFoveationProfileCreateInfoFB; - -// XrSwapchainCreateInfoFoveationFB extends XrSwapchainCreateInfo -typedef struct XrSwapchainCreateInfoFoveationFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrSwapchainCreateFoveationFlagsFB flags; -} XrSwapchainCreateInfoFoveationFB; - -typedef struct XrSwapchainStateFoveationFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrSwapchainStateFoveationFlagsFB flags; - XrFoveationProfileFB profile; -} XrSwapchainStateFoveationFB; - -typedef XrResult (XRAPI_PTR *PFN_xrCreateFoveationProfileFB)(XrSession session, const XrFoveationProfileCreateInfoFB* createInfo, XrFoveationProfileFB* profile); -typedef XrResult (XRAPI_PTR *PFN_xrDestroyFoveationProfileFB)(XrFoveationProfileFB profile); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrCreateFoveationProfileFB( - XrSession session, - const XrFoveationProfileCreateInfoFB* createInfo, - XrFoveationProfileFB* profile); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroyFoveationProfileFB( - XrFoveationProfileFB profile); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_foveation_configuration 1 -#define XR_FB_foveation_configuration_SPEC_VERSION 1 -#define XR_FB_FOVEATION_CONFIGURATION_EXTENSION_NAME "XR_FB_foveation_configuration" - -typedef enum XrFoveationLevelFB { - XR_FOVEATION_LEVEL_NONE_FB = 0, - XR_FOVEATION_LEVEL_LOW_FB = 1, - XR_FOVEATION_LEVEL_MEDIUM_FB = 2, - XR_FOVEATION_LEVEL_HIGH_FB = 3, - XR_FOVEATION_LEVEL_MAX_ENUM_FB = 0x7FFFFFFF -} XrFoveationLevelFB; - -typedef enum XrFoveationDynamicFB { - XR_FOVEATION_DYNAMIC_DISABLED_FB = 0, - XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_FB = 1, - XR_FOVEATION_DYNAMIC_MAX_ENUM_FB = 0x7FFFFFFF -} XrFoveationDynamicFB; -// XrFoveationLevelProfileCreateInfoFB extends XrFoveationProfileCreateInfoFB -typedef struct XrFoveationLevelProfileCreateInfoFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrFoveationLevelFB level; - float verticalOffset; - XrFoveationDynamicFB dynamic; -} XrFoveationLevelProfileCreateInfoFB; - - - -#define XR_FB_keyboard_tracking 1 -#define XR_FB_keyboard_tracking_SPEC_VERSION 1 -#define XR_FB_KEYBOARD_TRACKING_EXTENSION_NAME "XR_FB_keyboard_tracking" -#define XR_MAX_KEYBOARD_TRACKING_NAME_SIZE_FB 128 -typedef XrFlags64 XrKeyboardTrackingFlagsFB; - -// Flag bits for XrKeyboardTrackingFlagsFB -static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_EXISTS_BIT_FB = 0x00000001; -static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_LOCAL_BIT_FB = 0x00000002; -static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_REMOTE_BIT_FB = 0x00000004; -static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_CONNECTED_BIT_FB = 0x00000008; - -typedef XrFlags64 XrKeyboardTrackingQueryFlagsFB; - -// Flag bits for XrKeyboardTrackingQueryFlagsFB -static const XrKeyboardTrackingQueryFlagsFB XR_KEYBOARD_TRACKING_QUERY_LOCAL_BIT_FB = 0x00000002; -static const XrKeyboardTrackingQueryFlagsFB XR_KEYBOARD_TRACKING_QUERY_REMOTE_BIT_FB = 0x00000004; - -// XrSystemKeyboardTrackingPropertiesFB extends XrSystemProperties -typedef struct XrSystemKeyboardTrackingPropertiesFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBool32 supportsKeyboardTracking; -} XrSystemKeyboardTrackingPropertiesFB; - -typedef struct XrKeyboardTrackingDescriptionFB { - uint64_t trackedKeyboardId; - XrVector3f size; - XrKeyboardTrackingFlagsFB flags; - char name[XR_MAX_KEYBOARD_TRACKING_NAME_SIZE_FB]; -} XrKeyboardTrackingDescriptionFB; - -typedef struct XrKeyboardSpaceCreateInfoFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint64_t trackedKeyboardId; -} XrKeyboardSpaceCreateInfoFB; - -typedef struct XrKeyboardTrackingQueryFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrKeyboardTrackingQueryFlagsFB flags; -} XrKeyboardTrackingQueryFB; - -typedef XrResult (XRAPI_PTR *PFN_xrQuerySystemTrackedKeyboardFB)(XrSession session, const XrKeyboardTrackingQueryFB* queryInfo, XrKeyboardTrackingDescriptionFB* keyboard); -typedef XrResult (XRAPI_PTR *PFN_xrCreateKeyboardSpaceFB)(XrSession session, const XrKeyboardSpaceCreateInfoFB* createInfo, XrSpace* keyboardSpace); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrQuerySystemTrackedKeyboardFB( - XrSession session, - const XrKeyboardTrackingQueryFB* queryInfo, - XrKeyboardTrackingDescriptionFB* keyboard); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreateKeyboardSpaceFB( - XrSession session, - const XrKeyboardSpaceCreateInfoFB* createInfo, - XrSpace* keyboardSpace); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_triangle_mesh 1 -XR_DEFINE_HANDLE(XrTriangleMeshFB) -#define XR_FB_triangle_mesh_SPEC_VERSION 1 -#define XR_FB_TRIANGLE_MESH_EXTENSION_NAME "XR_FB_triangle_mesh" - -typedef enum XrWindingOrderFB { - XR_WINDING_ORDER_UNKNOWN_FB = 0, - XR_WINDING_ORDER_CW_FB = 1, - XR_WINDING_ORDER_CCW_FB = 2, - XR_WINDING_ORDER_MAX_ENUM_FB = 0x7FFFFFFF -} XrWindingOrderFB; -typedef XrFlags64 XrTriangleMeshFlagsFB; - -// Flag bits for XrTriangleMeshFlagsFB -static const XrTriangleMeshFlagsFB XR_TRIANGLE_MESH_MUTABLE_BIT_FB = 0x00000001; - -typedef struct XrTriangleMeshCreateInfoFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrTriangleMeshFlagsFB flags; - XrWindingOrderFB windingOrder; - uint32_t vertexCount; - const XrVector3f* vertexBuffer; - uint32_t triangleCount; - const uint32_t* indexBuffer; -} XrTriangleMeshCreateInfoFB; - -typedef XrResult (XRAPI_PTR *PFN_xrCreateTriangleMeshFB)(XrSession session, const XrTriangleMeshCreateInfoFB* createInfo, XrTriangleMeshFB* outTriangleMesh); -typedef XrResult (XRAPI_PTR *PFN_xrDestroyTriangleMeshFB)(XrTriangleMeshFB mesh); -typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshGetVertexBufferFB)(XrTriangleMeshFB mesh, XrVector3f** outVertexBuffer); -typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshGetIndexBufferFB)(XrTriangleMeshFB mesh, uint32_t** outIndexBuffer); -typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshBeginUpdateFB)(XrTriangleMeshFB mesh); -typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshEndUpdateFB)(XrTriangleMeshFB mesh, uint32_t vertexCount, uint32_t triangleCount); -typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshBeginVertexBufferUpdateFB)(XrTriangleMeshFB mesh, uint32_t* outVertexCount); -typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshEndVertexBufferUpdateFB)(XrTriangleMeshFB mesh); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrCreateTriangleMeshFB( - XrSession session, - const XrTriangleMeshCreateInfoFB* createInfo, - XrTriangleMeshFB* outTriangleMesh); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroyTriangleMeshFB( - XrTriangleMeshFB mesh); - -XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshGetVertexBufferFB( - XrTriangleMeshFB mesh, - XrVector3f** outVertexBuffer); - -XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshGetIndexBufferFB( - XrTriangleMeshFB mesh, - uint32_t** outIndexBuffer); - -XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshBeginUpdateFB( - XrTriangleMeshFB mesh); - -XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshEndUpdateFB( - XrTriangleMeshFB mesh, - uint32_t vertexCount, - uint32_t triangleCount); - -XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshBeginVertexBufferUpdateFB( - XrTriangleMeshFB mesh, - uint32_t* outVertexCount); - -XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshEndVertexBufferUpdateFB( - XrTriangleMeshFB mesh); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_passthrough 1 -XR_DEFINE_HANDLE(XrPassthroughFB) -XR_DEFINE_HANDLE(XrPassthroughLayerFB) -XR_DEFINE_HANDLE(XrGeometryInstanceFB) -#define XR_FB_passthrough_SPEC_VERSION 1 -#define XR_FB_PASSTHROUGH_EXTENSION_NAME "XR_FB_passthrough" -#define XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB 256 - -typedef enum XrPassthroughLayerPurposeFB { - XR_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION_FB = 0, - XR_PASSTHROUGH_LAYER_PURPOSE_PROJECTED_FB = 1, - XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS_FB = 1000203001, - XR_PASSTHROUGH_LAYER_PURPOSE_MAX_ENUM_FB = 0x7FFFFFFF -} XrPassthroughLayerPurposeFB; -typedef XrFlags64 XrPassthroughFlagsFB; - -// Flag bits for XrPassthroughFlagsFB -static const XrPassthroughFlagsFB XR_PASSTHROUGH_IS_RUNNING_AT_CREATION_BIT_FB = 0x00000001; - -typedef XrFlags64 XrPassthroughStateChangedFlagsFB; - -// Flag bits for XrPassthroughStateChangedFlagsFB -static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_REINIT_REQUIRED_BIT_FB = 0x00000001; -static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_NON_RECOVERABLE_ERROR_BIT_FB = 0x00000002; -static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_RECOVERABLE_ERROR_BIT_FB = 0x00000004; -static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_RESTORED_ERROR_BIT_FB = 0x00000008; - -// XrSystemPassthroughPropertiesFB extends XrSystemProperties -typedef struct XrSystemPassthroughPropertiesFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrBool32 supportsPassthrough; -} XrSystemPassthroughPropertiesFB; - -typedef struct XrPassthroughCreateInfoFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrPassthroughFlagsFB flags; -} XrPassthroughCreateInfoFB; - -typedef struct XrPassthroughLayerCreateInfoFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrPassthroughFB passthrough; - XrPassthroughFlagsFB flags; - XrPassthroughLayerPurposeFB purpose; -} XrPassthroughLayerCreateInfoFB; - -// XrCompositionLayerPassthroughFB extends XrCompositionLayerBaseHeader -typedef struct XrCompositionLayerPassthroughFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrCompositionLayerFlags flags; - XrSpace space; - XrPassthroughLayerFB layerHandle; -} XrCompositionLayerPassthroughFB; - -typedef struct XrGeometryInstanceCreateInfoFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrPassthroughLayerFB layer; - XrTriangleMeshFB mesh; - XrSpace baseSpace; - XrPosef pose; - XrVector3f scale; -} XrGeometryInstanceCreateInfoFB; - -typedef struct XrGeometryInstanceTransformFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrSpace baseSpace; - XrTime time; - XrPosef pose; - XrVector3f scale; -} XrGeometryInstanceTransformFB; - -typedef struct XrPassthroughStyleFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - float textureOpacityFactor; - XrColor4f edgeColor; -} XrPassthroughStyleFB; - -typedef struct XrPassthroughColorMapMonoToRgbaFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrColor4f textureColorMap[XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB]; -} XrPassthroughColorMapMonoToRgbaFB; - -typedef struct XrPassthroughColorMapMonoToMonoFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint8_t textureColorMap[XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB]; -} XrPassthroughColorMapMonoToMonoFB; - -typedef struct XrEventDataPassthroughStateChangedFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrPassthroughStateChangedFlagsFB flags; -} XrEventDataPassthroughStateChangedFB; - -typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughFB)(XrSession session, const XrPassthroughCreateInfoFB* createInfo, XrPassthroughFB* outPassthrough); -typedef XrResult (XRAPI_PTR *PFN_xrDestroyPassthroughFB)(XrPassthroughFB passthrough); -typedef XrResult (XRAPI_PTR *PFN_xrPassthroughStartFB)(XrPassthroughFB passthrough); -typedef XrResult (XRAPI_PTR *PFN_xrPassthroughPauseFB)(XrPassthroughFB passthrough); -typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughLayerFB)(XrSession session, const XrPassthroughLayerCreateInfoFB* createInfo, XrPassthroughLayerFB* outLayer); -typedef XrResult (XRAPI_PTR *PFN_xrDestroyPassthroughLayerFB)(XrPassthroughLayerFB layer); -typedef XrResult (XRAPI_PTR *PFN_xrPassthroughLayerPauseFB)(XrPassthroughLayerFB layer); -typedef XrResult (XRAPI_PTR *PFN_xrPassthroughLayerResumeFB)(XrPassthroughLayerFB layer); -typedef XrResult (XRAPI_PTR *PFN_xrPassthroughLayerSetStyleFB)(XrPassthroughLayerFB layer, const XrPassthroughStyleFB* style); -typedef XrResult (XRAPI_PTR *PFN_xrCreateGeometryInstanceFB)(XrSession session, const XrGeometryInstanceCreateInfoFB* createInfo, XrGeometryInstanceFB* outGeometryInstance); -typedef XrResult (XRAPI_PTR *PFN_xrDestroyGeometryInstanceFB)(XrGeometryInstanceFB instance); -typedef XrResult (XRAPI_PTR *PFN_xrGeometryInstanceSetTransformFB)(XrGeometryInstanceFB instance, const XrGeometryInstanceTransformFB* transformation); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrCreatePassthroughFB( - XrSession session, - const XrPassthroughCreateInfoFB* createInfo, - XrPassthroughFB* outPassthrough); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroyPassthroughFB( - XrPassthroughFB passthrough); - -XRAPI_ATTR XrResult XRAPI_CALL xrPassthroughStartFB( - XrPassthroughFB passthrough); - -XRAPI_ATTR XrResult XRAPI_CALL xrPassthroughPauseFB( - XrPassthroughFB passthrough); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreatePassthroughLayerFB( - XrSession session, - const XrPassthroughLayerCreateInfoFB* createInfo, - XrPassthroughLayerFB* outLayer); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroyPassthroughLayerFB( - XrPassthroughLayerFB layer); - -XRAPI_ATTR XrResult XRAPI_CALL xrPassthroughLayerPauseFB( - XrPassthroughLayerFB layer); - -XRAPI_ATTR XrResult XRAPI_CALL xrPassthroughLayerResumeFB( - XrPassthroughLayerFB layer); - -XRAPI_ATTR XrResult XRAPI_CALL xrPassthroughLayerSetStyleFB( - XrPassthroughLayerFB layer, - const XrPassthroughStyleFB* style); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreateGeometryInstanceFB( - XrSession session, - const XrGeometryInstanceCreateInfoFB* createInfo, - XrGeometryInstanceFB* outGeometryInstance); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroyGeometryInstanceFB( - XrGeometryInstanceFB instance); - -XRAPI_ATTR XrResult XRAPI_CALL xrGeometryInstanceSetTransformFB( - XrGeometryInstanceFB instance, - const XrGeometryInstanceTransformFB* transformation); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_render_model 1 - -#define XR_NULL_RENDER_MODEL_KEY_FB 0 - -XR_DEFINE_ATOM(XrRenderModelKeyFB) -#define XR_FB_render_model_SPEC_VERSION 1 -#define XR_FB_RENDER_MODEL_EXTENSION_NAME "XR_FB_render_model" -#define XR_MAX_RENDER_MODEL_NAME_SIZE_FB 64 -typedef XrFlags64 XrRenderModelFlagsFB; - -// Flag bits for XrRenderModelFlagsFB - -typedef struct XrRenderModelPathInfoFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrPath path; -} XrRenderModelPathInfoFB; - -typedef struct XrRenderModelPropertiesFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t vendorId; - char modelName[XR_MAX_RENDER_MODEL_NAME_SIZE_FB]; - XrRenderModelKeyFB modelKey; - uint32_t modelVersion; - XrRenderModelFlagsFB flags; -} XrRenderModelPropertiesFB; - -typedef struct XrRenderModelBufferFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t bufferCapacityInput; - uint32_t bufferCountOutput; - uint8_t* buffer; -} XrRenderModelBufferFB; - -typedef struct XrRenderModelLoadInfoFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrRenderModelKeyFB modelKey; -} XrRenderModelLoadInfoFB; - -// XrSystemRenderModelPropertiesFB extends XrSystemProperties -typedef struct XrSystemRenderModelPropertiesFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBool32 supportsRenderModelLoading; -} XrSystemRenderModelPropertiesFB; - -typedef XrResult (XRAPI_PTR *PFN_xrEnumerateRenderModelPathsFB)(XrSession session, uint32_t pathCapacityInput, uint32_t* pathCountOutput, XrRenderModelPathInfoFB* paths); -typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelPropertiesFB)(XrSession session, XrPath path, XrRenderModelPropertiesFB* properties); -typedef XrResult (XRAPI_PTR *PFN_xrLoadRenderModelFB)(XrSession session, const XrRenderModelLoadInfoFB* info, XrRenderModelBufferFB* buffer); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateRenderModelPathsFB( - XrSession session, - uint32_t pathCapacityInput, - uint32_t* pathCountOutput, - XrRenderModelPathInfoFB* paths); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetRenderModelPropertiesFB( - XrSession session, - XrPath path, - XrRenderModelPropertiesFB* properties); - -XRAPI_ATTR XrResult XRAPI_CALL xrLoadRenderModelFB( - XrSession session, - const XrRenderModelLoadInfoFB* info, - XrRenderModelBufferFB* buffer); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_VARJO_foveated_rendering 1 -#define XR_VARJO_foveated_rendering_SPEC_VERSION 2 -#define XR_VARJO_FOVEATED_RENDERING_EXTENSION_NAME "XR_VARJO_foveated_rendering" -// XrViewLocateFoveatedRenderingVARJO extends XrViewLocateInfo -typedef struct XrViewLocateFoveatedRenderingVARJO { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrBool32 foveatedRenderingActive; -} XrViewLocateFoveatedRenderingVARJO; - -// XrFoveatedViewConfigurationViewVARJO extends XrViewConfigurationView -typedef struct XrFoveatedViewConfigurationViewVARJO { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBool32 foveatedRenderingActive; -} XrFoveatedViewConfigurationViewVARJO; - -// XrSystemFoveatedRenderingPropertiesVARJO extends XrSystemProperties -typedef struct XrSystemFoveatedRenderingPropertiesVARJO { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBool32 supportsFoveatedRendering; -} XrSystemFoveatedRenderingPropertiesVARJO; - - - -#define XR_VARJO_composition_layer_depth_test 1 -#define XR_VARJO_composition_layer_depth_test_SPEC_VERSION 2 -#define XR_VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME "XR_VARJO_composition_layer_depth_test" -// XrCompositionLayerDepthTestVARJO extends XrCompositionLayerProjection -typedef struct XrCompositionLayerDepthTestVARJO { - XrStructureType type; - const void* XR_MAY_ALIAS next; - float depthTestRangeNearZ; - float depthTestRangeFarZ; -} XrCompositionLayerDepthTestVARJO; - - - -#define XR_VARJO_environment_depth_estimation 1 -#define XR_VARJO_environment_depth_estimation_SPEC_VERSION 1 -#define XR_VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME "XR_VARJO_environment_depth_estimation" -typedef XrResult (XRAPI_PTR *PFN_xrSetEnvironmentDepthEstimationVARJO)(XrSession session, XrBool32 enabled); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrSetEnvironmentDepthEstimationVARJO( - XrSession session, - XrBool32 enabled); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_VARJO_marker_tracking 1 -#define XR_VARJO_marker_tracking_SPEC_VERSION 1 -#define XR_VARJO_MARKER_TRACKING_EXTENSION_NAME "XR_VARJO_marker_tracking" -// XrSystemMarkerTrackingPropertiesVARJO extends XrSystemProperties -typedef struct XrSystemMarkerTrackingPropertiesVARJO { - XrStructureType type; - void* XR_MAY_ALIAS next; - XrBool32 supportsMarkerTracking; -} XrSystemMarkerTrackingPropertiesVARJO; - -typedef struct XrEventDataMarkerTrackingUpdateVARJO { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint64_t markerId; - XrBool32 isActive; - XrBool32 isPredicted; - XrTime time; -} XrEventDataMarkerTrackingUpdateVARJO; - -typedef struct XrMarkerSpaceCreateInfoVARJO { - XrStructureType type; - const void* XR_MAY_ALIAS next; - uint64_t markerId; - XrPosef poseInMarkerSpace; -} XrMarkerSpaceCreateInfoVARJO; - -typedef XrResult (XRAPI_PTR *PFN_xrSetMarkerTrackingVARJO)(XrSession session, XrBool32 enabled); -typedef XrResult (XRAPI_PTR *PFN_xrSetMarkerTrackingTimeoutVARJO)(XrSession session, uint64_t markerId, XrDuration timeout); -typedef XrResult (XRAPI_PTR *PFN_xrSetMarkerTrackingPredictionVARJO)(XrSession session, uint64_t markerId, XrBool32 enabled); -typedef XrResult (XRAPI_PTR *PFN_xrGetMarkerSizeVARJO)(XrSession session, uint64_t markerId, XrExtent2Df* size); -typedef XrResult (XRAPI_PTR *PFN_xrCreateMarkerSpaceVARJO)(XrSession session, const XrMarkerSpaceCreateInfoVARJO* createInfo, XrSpace* space); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrSetMarkerTrackingVARJO( - XrSession session, - XrBool32 enabled); - -XRAPI_ATTR XrResult XRAPI_CALL xrSetMarkerTrackingTimeoutVARJO( - XrSession session, - uint64_t markerId, - XrDuration timeout); - -XRAPI_ATTR XrResult XRAPI_CALL xrSetMarkerTrackingPredictionVARJO( - XrSession session, - uint64_t markerId, - XrBool32 enabled); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetMarkerSizeVARJO( - XrSession session, - uint64_t markerId, - XrExtent2Df* size); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreateMarkerSpaceVARJO( - XrSession session, - const XrMarkerSpaceCreateInfoVARJO* createInfo, - XrSpace* space); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_MSFT_spatial_anchor_persistence 1 -XR_DEFINE_HANDLE(XrSpatialAnchorStoreConnectionMSFT) -#define XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT 256 -#define XR_MSFT_spatial_anchor_persistence_SPEC_VERSION 2 -#define XR_MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME "XR_MSFT_spatial_anchor_persistence" -typedef struct XrSpatialAnchorPersistenceNameMSFT { - char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT]; -} XrSpatialAnchorPersistenceNameMSFT; - -typedef struct XrSpatialAnchorPersistenceInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName; - XrSpatialAnchorMSFT spatialAnchor; -} XrSpatialAnchorPersistenceInfoMSFT; - -typedef struct XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore; - XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName; -} XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT; - -typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorStoreConnectionMSFT)(XrSession session, XrSpatialAnchorStoreConnectionMSFT* spatialAnchorStore); -typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorStoreConnectionMSFT)(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); -typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceInfoMSFT* spatialAnchorPersistenceInfo); -typedef XrResult (XRAPI_PTR *PFN_xrEnumeratePersistedSpatialAnchorNamesMSFT)(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, uint32_t spatialAnchorNamesCapacityInput, uint32_t* spatialAnchorNamesCountOutput, XrSpatialAnchorPersistenceNameMSFT* persistedAnchorNames); -typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorFromPersistedNameMSFT)(XrSession session, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT* spatialAnchorCreateInfo, XrSpatialAnchorMSFT* spatialAnchor); -typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceNameMSFT* spatialAnchorPersistenceName); -typedef XrResult (XRAPI_PTR *PFN_xrClearSpatialAnchorStoreMSFT)(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorStoreConnectionMSFT( - XrSession session, - XrSpatialAnchorStoreConnectionMSFT* spatialAnchorStore); - -XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialAnchorStoreConnectionMSFT( - XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); - -XRAPI_ATTR XrResult XRAPI_CALL xrPersistSpatialAnchorMSFT( - XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, - const XrSpatialAnchorPersistenceInfoMSFT* spatialAnchorPersistenceInfo); - -XRAPI_ATTR XrResult XRAPI_CALL xrEnumeratePersistedSpatialAnchorNamesMSFT( - XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, - uint32_t spatialAnchorNamesCapacityInput, - uint32_t* spatialAnchorNamesCountOutput, - XrSpatialAnchorPersistenceNameMSFT* persistedAnchorNames); - -XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorFromPersistedNameMSFT( - XrSession session, - const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT* spatialAnchorCreateInfo, - XrSpatialAnchorMSFT* spatialAnchor); - -XRAPI_ATTR XrResult XRAPI_CALL xrUnpersistSpatialAnchorMSFT( - XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, - const XrSpatialAnchorPersistenceNameMSFT* spatialAnchorPersistenceName); - -XRAPI_ATTR XrResult XRAPI_CALL xrClearSpatialAnchorStoreMSFT( - XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_space_warp 1 -#define XR_FB_space_warp_SPEC_VERSION 1 -#define XR_FB_SPACE_WARP_EXTENSION_NAME "XR_FB_space_warp" -typedef XrFlags64 XrCompositionLayerSpaceWarpInfoFlagsFB; - -// Flag bits for XrCompositionLayerSpaceWarpInfoFlagsFB - -// XrCompositionLayerSpaceWarpInfoFB extends XrCompositionLayerProjectionView -typedef struct XrCompositionLayerSpaceWarpInfoFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrCompositionLayerSpaceWarpInfoFlagsFB layerFlags; - XrSwapchainSubImage motionVectorSubImage; - XrPosef appSpaceDeltaPose; - XrSwapchainSubImage depthSubImage; - float minDepth; - float maxDepth; - float nearZ; - float farZ; -} XrCompositionLayerSpaceWarpInfoFB; - -// XrSystemSpaceWarpPropertiesFB extends XrSystemProperties -typedef struct XrSystemSpaceWarpPropertiesFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t recommendedMotionVectorImageRectWidth; - uint32_t recommendedMotionVectorImageRectHeight; -} XrSystemSpaceWarpPropertiesFB; - - - -#define XR_ALMALENCE_digital_lens_control 1 -#define XR_ALMALENCE_digital_lens_control_SPEC_VERSION 1 -#define XR_ALMALENCE_DIGITAL_LENS_CONTROL_EXTENSION_NAME "XR_ALMALENCE_digital_lens_control" -typedef XrFlags64 XrDigitalLensControlFlagsALMALENCE; - -// Flag bits for XrDigitalLensControlFlagsALMALENCE -static const XrDigitalLensControlFlagsALMALENCE XR_DIGITAL_LENS_CONTROL_PROCESSING_DISABLE_BIT_ALMALENCE = 0x00000001; - -typedef struct XrDigitalLensControlALMALENCE { - XrStructureType type; - const void* XR_MAY_ALIAS next; - XrDigitalLensControlFlagsALMALENCE flags; -} XrDigitalLensControlALMALENCE; - -typedef XrResult (XRAPI_PTR *PFN_xrSetDigitalLensControlALMALENCE)(XrSession session, const XrDigitalLensControlALMALENCE* digitalLensControl); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrSetDigitalLensControlALMALENCE( - XrSession session, - const XrDigitalLensControlALMALENCE* digitalLensControl); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_FB_passthrough_keyboard_hands 1 -#define XR_FB_passthrough_keyboard_hands_SPEC_VERSION 1 -#define XR_FB_PASSTHROUGH_KEYBOARD_HANDS_EXTENSION_NAME "XR_FB_passthrough_keyboard_hands" -typedef struct XrPassthroughKeyboardHandsIntensityFB { - XrStructureType type; - const void* XR_MAY_ALIAS next; - float leftHandIntensity; - float rightHandIntensity; -} XrPassthroughKeyboardHandsIntensityFB; - -typedef XrResult (XRAPI_PTR *PFN_xrPassthroughLayerSetKeyboardHandsIntensityFB)(XrPassthroughLayerFB layer, const XrPassthroughKeyboardHandsIntensityFB* intensity); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrPassthroughLayerSetKeyboardHandsIntensityFB( - XrPassthroughLayerFB layer, - const XrPassthroughKeyboardHandsIntensityFB* intensity); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ - - -#define XR_EXT_uuid 1 -#define XR_EXT_uuid_SPEC_VERSION 1 -#define XR_EXT_UUID_EXTENSION_NAME "XR_EXT_uuid" -#define XR_UUID_SIZE_EXT 16 -typedef struct XrUuidEXT { - uint8_t data[XR_UUID_SIZE_EXT]; -} XrUuidEXT; - +#endif #ifdef __cplusplus } diff --git a/ext/openxr/openxr_platform.h b/ext/openxr/openxr_platform.h old mode 100755 new mode 100644 index eb5e5f8c4b..f7e6338064 --- a/ext/openxr/openxr_platform.h +++ b/ext/openxr/openxr_platform.h @@ -2,7 +2,7 @@ #define OPENXR_PLATFORM_H_ 1 /* -** Copyright (c) 2017-2022, The Khronos Group Inc. +** Copyright (c) 2017-2021, The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 OR MIT */ @@ -35,13 +35,11 @@ typedef enum XrAndroidThreadTypeKHR { typedef XrResult (XRAPI_PTR *PFN_xrSetAndroidApplicationThreadKHR)(XrSession session, XrAndroidThreadTypeKHR threadType, uint32_t threadId); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrSetAndroidApplicationThreadKHR( XrSession session, XrAndroidThreadTypeKHR threadType, uint32_t threadId); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_PLATFORM_ANDROID */ #ifdef XR_USE_PLATFORM_ANDROID @@ -52,14 +50,12 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSetAndroidApplicationThreadKHR( typedef XrResult (XRAPI_PTR *PFN_xrCreateSwapchainAndroidSurfaceKHR)(XrSession session, const XrSwapchainCreateInfo* info, XrSwapchain* swapchain, jobject* surface); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateSwapchainAndroidSurfaceKHR( XrSession session, const XrSwapchainCreateInfo* info, XrSwapchain* swapchain, jobject* surface); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_PLATFORM_ANDROID */ #ifdef XR_USE_PLATFORM_ANDROID @@ -67,7 +63,6 @@ XRAPI_ATTR XrResult XRAPI_CALL xrCreateSwapchainAndroidSurfaceKHR( #define XR_KHR_android_create_instance 1 #define XR_KHR_android_create_instance_SPEC_VERSION 3 #define XR_KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME "XR_KHR_android_create_instance" -// XrInstanceCreateInfoAndroidKHR extends XrInstanceCreateInfo typedef struct XrInstanceCreateInfoAndroidKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -80,7 +75,7 @@ typedef struct XrInstanceCreateInfoAndroidKHR { #ifdef XR_USE_GRAPHICS_API_VULKAN #define XR_KHR_vulkan_swapchain_format_list 1 -#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 4 +#define XR_KHR_vulkan_swapchain_format_list_SPEC_VERSION 3 #define XR_KHR_VULKAN_SWAPCHAIN_FORMAT_LIST_EXTENSION_NAME "XR_KHR_vulkan_swapchain_format_list" typedef struct XrVulkanSwapchainFormatListCreateInfoKHR { XrStructureType type; @@ -94,10 +89,9 @@ typedef struct XrVulkanSwapchainFormatListCreateInfoKHR { #ifdef XR_USE_GRAPHICS_API_OPENGL #define XR_KHR_opengl_enable 1 -#define XR_KHR_opengl_enable_SPEC_VERSION 10 +#define XR_KHR_opengl_enable_SPEC_VERSION 9 #define XR_KHR_OPENGL_ENABLE_EXTENSION_NAME "XR_KHR_opengl_enable" #ifdef XR_USE_PLATFORM_WIN32 -// XrGraphicsBindingOpenGLWin32KHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingOpenGLWin32KHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -107,7 +101,6 @@ typedef struct XrGraphicsBindingOpenGLWin32KHR { #endif // XR_USE_PLATFORM_WIN32 #ifdef XR_USE_PLATFORM_XLIB -// XrGraphicsBindingOpenGLXlibKHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingOpenGLXlibKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -120,7 +113,6 @@ typedef struct XrGraphicsBindingOpenGLXlibKHR { #endif // XR_USE_PLATFORM_XLIB #ifdef XR_USE_PLATFORM_XCB -// XrGraphicsBindingOpenGLXcbKHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingOpenGLXcbKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -134,7 +126,6 @@ typedef struct XrGraphicsBindingOpenGLXcbKHR { #endif // XR_USE_PLATFORM_XCB #ifdef XR_USE_PLATFORM_WAYLAND -// XrGraphicsBindingOpenGLWaylandKHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingOpenGLWaylandKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -158,22 +149,19 @@ typedef struct XrGraphicsRequirementsOpenGLKHR { typedef XrResult (XRAPI_PTR *PFN_xrGetOpenGLGraphicsRequirementsKHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLKHR* graphicsRequirements); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetOpenGLGraphicsRequirementsKHR( XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLKHR* graphicsRequirements); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_GRAPHICS_API_OPENGL */ #ifdef XR_USE_GRAPHICS_API_OPENGL_ES #define XR_KHR_opengl_es_enable 1 -#define XR_KHR_opengl_es_enable_SPEC_VERSION 8 +#define XR_KHR_opengl_es_enable_SPEC_VERSION 7 #define XR_KHR_OPENGL_ES_ENABLE_EXTENSION_NAME "XR_KHR_opengl_es_enable" #ifdef XR_USE_PLATFORM_ANDROID -// XrGraphicsBindingOpenGLESAndroidKHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingOpenGLESAndroidKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -199,21 +187,18 @@ typedef struct XrGraphicsRequirementsOpenGLESKHR { typedef XrResult (XRAPI_PTR *PFN_xrGetOpenGLESGraphicsRequirementsKHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLESKHR* graphicsRequirements); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetOpenGLESGraphicsRequirementsKHR( XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLESKHR* graphicsRequirements); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_GRAPHICS_API_OPENGL_ES */ #ifdef XR_USE_GRAPHICS_API_VULKAN #define XR_KHR_vulkan_enable 1 -#define XR_KHR_vulkan_enable_SPEC_VERSION 8 +#define XR_KHR_vulkan_enable_SPEC_VERSION 7 #define XR_KHR_VULKAN_ENABLE_EXTENSION_NAME "XR_KHR_vulkan_enable" -// XrGraphicsBindingVulkanKHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingVulkanKHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -243,7 +228,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsDeviceKHR)(XrInstance instan typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsRequirementsKHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR* graphicsRequirements); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanInstanceExtensionsKHR( XrInstance instance, XrSystemId systemId, @@ -268,16 +252,14 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirementsKHR( XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR* graphicsRequirements); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_GRAPHICS_API_VULKAN */ #ifdef XR_USE_GRAPHICS_API_D3D11 #define XR_KHR_D3D11_enable 1 -#define XR_KHR_D3D11_enable_SPEC_VERSION 8 +#define XR_KHR_D3D11_enable_SPEC_VERSION 5 #define XR_KHR_D3D11_ENABLE_EXTENSION_NAME "XR_KHR_D3D11_enable" -// XrGraphicsBindingD3D11KHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingD3D11KHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -300,21 +282,18 @@ typedef struct XrGraphicsRequirementsD3D11KHR { typedef XrResult (XRAPI_PTR *PFN_xrGetD3D11GraphicsRequirementsKHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsD3D11KHR* graphicsRequirements); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetD3D11GraphicsRequirementsKHR( XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsD3D11KHR* graphicsRequirements); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_GRAPHICS_API_D3D11 */ #ifdef XR_USE_GRAPHICS_API_D3D12 #define XR_KHR_D3D12_enable 1 -#define XR_KHR_D3D12_enable_SPEC_VERSION 8 +#define XR_KHR_D3D12_enable_SPEC_VERSION 7 #define XR_KHR_D3D12_ENABLE_EXTENSION_NAME "XR_KHR_D3D12_enable" -// XrGraphicsBindingD3D12KHR extends XrSessionCreateInfo typedef struct XrGraphicsBindingD3D12KHR { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -338,13 +317,11 @@ typedef struct XrGraphicsRequirementsD3D12KHR { typedef XrResult (XRAPI_PTR *PFN_xrGetD3D12GraphicsRequirementsKHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsD3D12KHR* graphicsRequirements); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrGetD3D12GraphicsRequirementsKHR( XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsD3D12KHR* graphicsRequirements); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_GRAPHICS_API_D3D12 */ #ifdef XR_USE_PLATFORM_WIN32 @@ -356,7 +333,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrConvertWin32PerformanceCounterToTimeKHR)(XrIn typedef XrResult (XRAPI_PTR *PFN_xrConvertTimeToWin32PerformanceCounterKHR)(XrInstance instance, XrTime time, LARGE_INTEGER* performanceCounter); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrConvertWin32PerformanceCounterToTimeKHR( XrInstance instance, const LARGE_INTEGER* performanceCounter, @@ -366,8 +342,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimeToWin32PerformanceCounterKHR( XrInstance instance, XrTime time, LARGE_INTEGER* performanceCounter); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_PLATFORM_WIN32 */ #ifdef XR_USE_TIMESPEC @@ -379,7 +354,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrConvertTimespecTimeToTimeKHR)(XrInstance inst typedef XrResult (XRAPI_PTR *PFN_xrConvertTimeToTimespecTimeKHR)(XrInstance instance, XrTime time, struct timespec* timespecTime); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimespecTimeToTimeKHR( XrInstance instance, const struct timespec* timespecTime, @@ -389,8 +363,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrConvertTimeToTimespecTimeKHR( XrInstance instance, XrTime time, struct timespec* timespecTime); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_TIMESPEC */ #ifdef XR_USE_PLATFORM_ANDROID @@ -410,7 +383,7 @@ typedef struct XrLoaderInitInfoAndroidKHR { #ifdef XR_USE_GRAPHICS_API_VULKAN #define XR_KHR_vulkan_enable2 1 -#define XR_KHR_vulkan_enable2_SPEC_VERSION 2 +#define XR_KHR_vulkan_enable2_SPEC_VERSION 1 #define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2" typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR; @@ -454,13 +427,12 @@ typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR; typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR; -typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanInstanceKHR)(XrInstance instance, const XrVulkanInstanceCreateInfoKHR* createInfo, VkInstance* vulkanInstance, VkResult* vulkanResult); +typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanInstanceKHR)(XrInstance instance, const XrVulkanInstanceCreateInfoKHR*createInfo, VkInstance* vulkanInstance, VkResult* vulkanResult); typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanDeviceKHR)(XrInstance instance, const XrVulkanDeviceCreateInfoKHR* createInfo, VkDevice* vulkanDevice, VkResult* vulkanResult); typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsDevice2KHR)(XrInstance instance, const XrVulkanGraphicsDeviceGetInfoKHR* getInfo, VkPhysicalDevice* vulkanPhysicalDevice); typedef XrResult (XRAPI_PTR *PFN_xrGetVulkanGraphicsRequirements2KHR)(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR* graphicsRequirements); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateVulkanInstanceKHR( XrInstance instance, const XrVulkanInstanceCreateInfoKHR* createInfo, @@ -482,8 +454,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirements2KHR( XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR* graphicsRequirements); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_GRAPHICS_API_VULKAN */ #ifdef XR_USE_PLATFORM_EGL @@ -491,7 +462,6 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetVulkanGraphicsRequirements2KHR( #define XR_MNDX_egl_enable 1 #define XR_MNDX_egl_enable_SPEC_VERSION 1 #define XR_MNDX_EGL_ENABLE_EXTENSION_NAME "XR_MNDX_egl_enable" -// XrGraphicsBindingEGLMNDX extends XrSessionCreateInfo typedef struct XrGraphicsBindingEGLMNDX { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -512,7 +482,6 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorFromPerceptionAnchorMSFT)( typedef XrResult (XRAPI_PTR *PFN_xrTryGetPerceptionAnchorFromSpatialAnchorMSFT)(XrSession session, XrSpatialAnchorMSFT anchor, IUnknown** perceptionAnchor); #ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorFromPerceptionAnchorMSFT( XrSession session, IUnknown* perceptionAnchor, @@ -522,8 +491,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrTryGetPerceptionAnchorFromSpatialAnchorMSFT( XrSession session, XrSpatialAnchorMSFT anchor, IUnknown** perceptionAnchor); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ +#endif #endif /* XR_USE_PLATFORM_WIN32 */ #ifdef XR_USE_PLATFORM_WIN32 @@ -532,7 +500,6 @@ XRAPI_ATTR XrResult XRAPI_CALL xrTryGetPerceptionAnchorFromSpatialAnchorMSFT( #define XR_MSFT_holographic_window_attachment_SPEC_VERSION 1 #define XR_MSFT_HOLOGRAPHIC_WINDOW_ATTACHMENT_EXTENSION_NAME "XR_MSFT_holographic_window_attachment" #ifdef XR_USE_PLATFORM_WIN32 -// XrHolographicWindowAttachmentMSFT extends XrSessionCreateInfo typedef struct XrHolographicWindowAttachmentMSFT { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -555,7 +522,6 @@ static const XrAndroidSurfaceSwapchainFlagsFB XR_ANDROID_SURFACE_SWAPCHAIN_SYNCH static const XrAndroidSurfaceSwapchainFlagsFB XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB = 0x00000002; #ifdef XR_USE_PLATFORM_ANDROID -// XrAndroidSurfaceSwapchainCreateInfoFB extends XrSwapchainCreateInfo typedef struct XrAndroidSurfaceSwapchainCreateInfoFB { XrStructureType type; const void* XR_MAY_ALIAS next; @@ -565,109 +531,6 @@ typedef struct XrAndroidSurfaceSwapchainCreateInfoFB { #endif /* XR_USE_PLATFORM_ANDROID */ -#ifdef XR_USE_PLATFORM_WIN32 - -#define XR_OCULUS_audio_device_guid 1 -#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 -typedef XrResult (XRAPI_PTR *PFN_xrGetAudioOutputDeviceGuidOculus)(XrInstance instance, wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]); -typedef XrResult (XRAPI_PTR *PFN_xrGetAudioInputDeviceGuidOculus)(XrInstance instance, wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]); - -#ifndef XR_NO_PROTOTYPES -#ifdef XR_EXTENSION_PROTOTYPES -XRAPI_ATTR XrResult XRAPI_CALL xrGetAudioOutputDeviceGuidOculus( - XrInstance instance, - wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]); - -XRAPI_ATTR XrResult XRAPI_CALL xrGetAudioInputDeviceGuidOculus( - XrInstance instance, - wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]); -#endif /* XR_EXTENSION_PROTOTYPES */ -#endif /* !XR_NO_PROTOTYPES */ -#endif /* XR_USE_PLATFORM_WIN32 */ - -#ifdef XR_USE_GRAPHICS_API_VULKAN - -#define XR_FB_foveation_vulkan 1 -#define XR_FB_foveation_vulkan_SPEC_VERSION 1 -#define XR_FB_FOVEATION_VULKAN_EXTENSION_NAME "XR_FB_foveation_vulkan" -// XrSwapchainImageFoveationVulkanFB extends XrSwapchainImageVulkanKHR -typedef struct XrSwapchainImageFoveationVulkanFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - VkImage image; - uint32_t width; - uint32_t height; -} XrSwapchainImageFoveationVulkanFB; - -#endif /* XR_USE_GRAPHICS_API_VULKAN */ - -#ifdef XR_USE_PLATFORM_ANDROID - -#define XR_FB_swapchain_update_state_android_surface 1 -#define XR_FB_swapchain_update_state_android_surface_SPEC_VERSION 1 -#define XR_FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME "XR_FB_swapchain_update_state_android_surface" -#ifdef XR_USE_PLATFORM_ANDROID -typedef struct XrSwapchainStateAndroidSurfaceDimensionsFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - uint32_t width; - uint32_t height; -} XrSwapchainStateAndroidSurfaceDimensionsFB; -#endif // XR_USE_PLATFORM_ANDROID - -#endif /* XR_USE_PLATFORM_ANDROID */ - -#ifdef XR_USE_GRAPHICS_API_OPENGL_ES - -#define XR_FB_swapchain_update_state_opengl_es 1 -#define XR_FB_swapchain_update_state_opengl_es_SPEC_VERSION 1 -#define XR_FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME "XR_FB_swapchain_update_state_opengl_es" -#ifdef XR_USE_GRAPHICS_API_OPENGL_ES -typedef struct XrSwapchainStateSamplerOpenGLESFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - EGLenum minFilter; - EGLenum magFilter; - EGLenum wrapModeS; - EGLenum wrapModeT; - EGLenum swizzleRed; - EGLenum swizzleGreen; - EGLenum swizzleBlue; - EGLenum swizzleAlpha; - float maxAnisotropy; - XrColor4f borderColor; -} XrSwapchainStateSamplerOpenGLESFB; -#endif // XR_USE_GRAPHICS_API_OPENGL_ES - -#endif /* XR_USE_GRAPHICS_API_OPENGL_ES */ - -#ifdef XR_USE_GRAPHICS_API_VULKAN - -#define XR_FB_swapchain_update_state_vulkan 1 -#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" -#ifdef XR_USE_GRAPHICS_API_VULKAN -typedef struct XrSwapchainStateSamplerVulkanFB { - XrStructureType type; - void* XR_MAY_ALIAS next; - VkFilter minFilter; - VkFilter magFilter; - VkSamplerMipmapMode mipmapMode; - VkSamplerAddressMode wrapModeS; - VkSamplerAddressMode wrapModeT; - VkComponentSwizzle swizzleRed; - VkComponentSwizzle swizzleGreen; - VkComponentSwizzle swizzleBlue; - VkComponentSwizzle swizzleAlpha; - float maxAnisotropy; - XrColor4f borderColor; -} XrSwapchainStateSamplerVulkanFB; -#endif // XR_USE_GRAPHICS_API_VULKAN - -#endif /* XR_USE_GRAPHICS_API_VULKAN */ - #ifdef __cplusplus } #endif diff --git a/ext/openxr/openxr_platform_defines.h b/ext/openxr/openxr_platform_defines.h old mode 100755 new mode 100644 index 31fa05a0c8..a7ffcb459e --- a/ext/openxr/openxr_platform_defines.h +++ b/ext/openxr/openxr_platform_defines.h @@ -1,5 +1,5 @@ /* -** Copyright (c) 2017-2022, The Khronos Group Inc. +** Copyright (c) 2017-2021, The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 OR MIT */ diff --git a/ext/openxr/openxr_reflection.h b/ext/openxr/openxr_reflection.h old mode 100755 new mode 100644 index 8d8e36377d..5597c94a6e --- a/ext/openxr/openxr_reflection.h +++ b/ext/openxr/openxr_reflection.h @@ -2,7 +2,7 @@ #define OPENXR_REFLECTION_H_ 1 /* -** Copyright (c) 2017-2022, The Khronos Group Inc. +** Copyright (c) 2017-2021, The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 OR MIT */ @@ -85,33 +85,13 @@ XR_ENUM_STR(XrResult); _(XR_ERROR_LOCALIZED_NAME_DUPLICATED, -48) \ _(XR_ERROR_LOCALIZED_NAME_INVALID, -49) \ _(XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING, -50) \ - _(XR_ERROR_RUNTIME_UNAVAILABLE, -51) \ _(XR_ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR, -1000003000) \ _(XR_ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR, -1000003001) \ _(XR_ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT, -1000039001) \ _(XR_ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT, -1000053000) \ _(XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT, -1000055000) \ - _(XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT, -1000066000) \ - _(XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT, -1000097000) \ - _(XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT, -1000097001) \ - _(XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT, -1000097002) \ - _(XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT, -1000097003) \ - _(XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT, -1000097004) \ - _(XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT, -1000097005) \ _(XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB, -1000101000) \ _(XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB, -1000108000) \ - _(XR_ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB, -1000118000) \ - _(XR_ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB, -1000118001) \ - _(XR_ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB, -1000118002) \ - _(XR_ERROR_NOT_PERMITTED_PASSTHROUGH_FB, -1000118003) \ - _(XR_ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB, -1000118004) \ - _(XR_ERROR_UNKNOWN_PASSTHROUGH_FB, -1000118050) \ - _(XR_ERROR_RENDER_MODEL_KEY_INVALID_FB, -1000119000) \ - _(XR_RENDER_MODEL_UNAVAILABLE_FB, 1000119020) \ - _(XR_ERROR_MARKER_NOT_TRACKED_VARJO, -1000124000) \ - _(XR_ERROR_MARKER_ID_INVALID_VARJO, -1000124001) \ - _(XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT, -1000142001) \ - _(XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT, -1000142002) \ _(XR_RESULT_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrStructureType(_) \ @@ -203,8 +183,6 @@ XR_ENUM_STR(XrResult); _(XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR, 1000034000) \ _(XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT, 1000039000) \ _(XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT, 1000039001) \ - _(XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB, 1000040000) \ - _(XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB, 1000041001) \ _(XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT, 1000046000) \ _(XR_TYPE_GRAPHICS_BINDING_EGL_MNDX, 1000048004) \ _(XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT, 1000049000) \ @@ -231,90 +209,16 @@ XR_ENUM_STR(XrResult); _(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_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB, 1000070000) \ - _(XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB, 1000072000) \ _(XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE, 1000079000) \ - _(XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT, 1000080000) \ _(XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR, 1000089000) \ _(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_VIVE_TRACKER_PATHS_HTCX, 1000103000) \ - _(XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX, 1000103001) \ - _(XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC, 1000104000) \ - _(XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC, 1000104001) \ - _(XR_TYPE_FACIAL_EXPRESSIONS_HTC, 1000104002) \ _(XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB, 1000108000) \ - _(XR_TYPE_HAND_TRACKING_MESH_FB, 1000110001) \ - _(XR_TYPE_HAND_TRACKING_SCALE_FB, 1000110003) \ - _(XR_TYPE_HAND_TRACKING_AIM_STATE_FB, 1000111001) \ - _(XR_TYPE_HAND_TRACKING_CAPSULES_STATE_FB, 1000112000) \ - _(XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB, 1000114000) \ - _(XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB, 1000114001) \ - _(XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB, 1000114002) \ - _(XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB, 1000115000) \ - _(XR_TYPE_KEYBOARD_SPACE_CREATE_INFO_FB, 1000116009) \ - _(XR_TYPE_KEYBOARD_TRACKING_QUERY_FB, 1000116004) \ - _(XR_TYPE_SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB, 1000116002) \ - _(XR_TYPE_TRIANGLE_MESH_CREATE_INFO_FB, 1000117001) \ - _(XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES_FB, 1000118000) \ - _(XR_TYPE_PASSTHROUGH_CREATE_INFO_FB, 1000118001) \ - _(XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_FB, 1000118002) \ - _(XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_FB, 1000118003) \ - _(XR_TYPE_GEOMETRY_INSTANCE_CREATE_INFO_FB, 1000118004) \ - _(XR_TYPE_GEOMETRY_INSTANCE_TRANSFORM_FB, 1000118005) \ - _(XR_TYPE_PASSTHROUGH_STYLE_FB, 1000118020) \ - _(XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB, 1000118021) \ - _(XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB, 1000118022) \ - _(XR_TYPE_EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB, 1000118030) \ - _(XR_TYPE_RENDER_MODEL_PATH_INFO_FB, 1000119000) \ - _(XR_TYPE_RENDER_MODEL_PROPERTIES_FB, 1000119001) \ - _(XR_TYPE_RENDER_MODEL_BUFFER_FB, 1000119002) \ - _(XR_TYPE_RENDER_MODEL_LOAD_INFO_FB, 1000119003) \ - _(XR_TYPE_SYSTEM_RENDER_MODEL_PROPERTIES_FB, 1000119004) \ _(XR_TYPE_BINDING_MODIFICATIONS_KHR, 1000120000) \ - _(XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO, 1000121000) \ - _(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_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO, 1000124000) \ - _(XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO, 1000124001) \ - _(XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO, 1000124002) \ - _(XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT, 1000142000) \ - _(XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT, 1000142001) \ - _(XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB, 1000160000) \ - _(XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB, 1000161000) \ - _(XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB, 1000162000) \ - _(XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB, 1000163000) \ - _(XR_TYPE_COMPOSITION_LAYER_SPACE_WARP_INFO_FB, 1000171000) \ - _(XR_TYPE_SYSTEM_SPACE_WARP_PROPERTIES_FB, 1000171001) \ - _(XR_TYPE_DIGITAL_LENS_CONTROL_ALMALENCE, 1000196000) \ - _(XR_TYPE_PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB, 1000203002) \ _(XR_STRUCTURE_TYPE_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrFormFactor(_) \ @@ -340,7 +244,6 @@ XR_ENUM_STR(XrResult); _(XR_REFERENCE_SPACE_TYPE_LOCAL, 2) \ _(XR_REFERENCE_SPACE_TYPE_STAGE, 3) \ _(XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT, 1000038000) \ - _(XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO, 1000121000) \ _(XR_REFERENCE_SPACE_TYPE_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrActionType(_) \ @@ -380,15 +283,6 @@ XR_ENUM_STR(XrResult); _(XR_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT, 1000019000) \ _(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_FACIAL_TRACKER_HTC, 1000104000) \ - _(XR_OBJECT_TYPE_FOVEATION_PROFILE_FB, 1000114000) \ - _(XR_OBJECT_TYPE_TRIANGLE_MESH_FB, 1000117000) \ - _(XR_OBJECT_TYPE_PASSTHROUGH_FB, 1000118000) \ - _(XR_OBJECT_TYPE_PASSTHROUGH_LAYER_FB, 1000118002) \ - _(XR_OBJECT_TYPE_GEOMETRY_INSTANCE_FB, 1000118004) \ - _(XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT, 1000142000) \ _(XR_OBJECT_TYPE_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrAndroidThreadTypeKHR(_) \ @@ -428,15 +322,6 @@ XR_ENUM_STR(XrResult); _(XR_PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT, 75) \ _(XR_PERF_SETTINGS_NOTIFICATION_LEVEL_MAX_ENUM_EXT, 0x7FFFFFFF) -#define XR_LIST_ENUM_XrBlendFactorFB(_) \ - _(XR_BLEND_FACTOR_ZERO_FB, 0) \ - _(XR_BLEND_FACTOR_ONE_FB, 1) \ - _(XR_BLEND_FACTOR_SRC_ALPHA_FB, 2) \ - _(XR_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA_FB, 3) \ - _(XR_BLEND_FACTOR_DST_ALPHA_FB, 4) \ - _(XR_BLEND_FACTOR_ONE_MINUS_DST_ALPHA_FB, 5) \ - _(XR_BLEND_FACTOR_MAX_ENUM_FB, 0x7FFFFFFF) - #define XR_LIST_ENUM_XrSpatialGraphNodeTypeMSFT(_) \ _(XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT, 1) \ _(XR_SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT, 2) \ @@ -485,133 +370,6 @@ XR_ENUM_STR(XrResult); _(XR_HAND_POSE_TYPE_REFERENCE_OPEN_PALM_MSFT, 1) \ _(XR_HAND_POSE_TYPE_MAX_ENUM_MSFT, 0x7FFFFFFF) -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_EXT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_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_MAX_ENUM_MSFT, 0x7FFFFFFF) - -#define XR_LIST_ENUM_XrEyeExpressionHTC(_) \ - _(XR_EYE_EXPRESSION_LEFT_BLINK_HTC, 0) \ - _(XR_EYE_EXPRESSION_LEFT_WIDE_HTC, 1) \ - _(XR_EYE_EXPRESSION_RIGHT_BLINK_HTC, 2) \ - _(XR_EYE_EXPRESSION_RIGHT_WIDE_HTC, 3) \ - _(XR_EYE_EXPRESSION_LEFT_SQUEEZE_HTC, 4) \ - _(XR_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC, 5) \ - _(XR_EYE_EXPRESSION_LEFT_DOWN_HTC, 6) \ - _(XR_EYE_EXPRESSION_RIGHT_DOWN_HTC, 7) \ - _(XR_EYE_EXPRESSION_LEFT_OUT_HTC, 8) \ - _(XR_EYE_EXPRESSION_RIGHT_IN_HTC, 9) \ - _(XR_EYE_EXPRESSION_LEFT_IN_HTC, 10) \ - _(XR_EYE_EXPRESSION_RIGHT_OUT_HTC, 11) \ - _(XR_EYE_EXPRESSION_LEFT_UP_HTC, 12) \ - _(XR_EYE_EXPRESSION_RIGHT_UP_HTC, 13) \ - _(XR_EYE_EXPRESSION_MAX_ENUM_HTC, 0x7FFFFFFF) - -#define XR_LIST_ENUM_XrLipExpressionHTC(_) \ - _(XR_LIP_EXPRESSION_JAW_RIGHT_HTC, 0) \ - _(XR_LIP_EXPRESSION_JAW_LEFT_HTC, 1) \ - _(XR_LIP_EXPRESSION_JAW_FORWARD_HTC, 2) \ - _(XR_LIP_EXPRESSION_JAW_OPEN_HTC, 3) \ - _(XR_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC, 4) \ - _(XR_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC, 5) \ - _(XR_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC, 6) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC, 7) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC, 8) \ - _(XR_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC, 9) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC, 10) \ - _(XR_LIP_EXPRESSION_MOUTH_POUT_HTC, 11) \ - _(XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC, 12) \ - _(XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC, 13) \ - _(XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC, 14) \ - _(XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC, 15) \ - _(XR_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC, 16) \ - _(XR_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC, 17) \ - _(XR_LIP_EXPRESSION_CHEEK_SUCK_HTC, 18) \ - _(XR_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC, 19) \ - _(XR_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC, 20) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC, 21) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC, 22) \ - _(XR_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC, 23) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC, 24) \ - _(XR_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC, 25) \ - _(XR_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC, 26) \ - _(XR_LIP_EXPRESSION_TONGUE_LEFT_HTC, 27) \ - _(XR_LIP_EXPRESSION_TONGUE_RIGHT_HTC, 28) \ - _(XR_LIP_EXPRESSION_TONGUE_UP_HTC, 29) \ - _(XR_LIP_EXPRESSION_TONGUE_DOWN_HTC, 30) \ - _(XR_LIP_EXPRESSION_TONGUE_ROLL_HTC, 31) \ - _(XR_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC, 32) \ - _(XR_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC, 33) \ - _(XR_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC, 34) \ - _(XR_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC, 35) \ - _(XR_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC, 36) \ - _(XR_LIP_EXPRESSION_MAX_ENUM_HTC, 0x7FFFFFFF) - -#define XR_LIST_ENUM_XrFacialTrackingTypeHTC(_) \ - _(XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC, 1) \ - _(XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC, 2) \ - _(XR_FACIAL_TRACKING_TYPE_MAX_ENUM_HTC, 0x7FFFFFFF) - #define XR_LIST_ENUM_XrColorSpaceFB(_) \ _(XR_COLOR_SPACE_UNMANAGED_FB, 0) \ _(XR_COLOR_SPACE_REC2020_FB, 1) \ @@ -623,30 +381,6 @@ XR_ENUM_STR(XrResult); _(XR_COLOR_SPACE_ADOBE_RGB_FB, 7) \ _(XR_COLOR_SPACE_MAX_ENUM_FB, 0x7FFFFFFF) -#define XR_LIST_ENUM_XrFoveationLevelFB(_) \ - _(XR_FOVEATION_LEVEL_NONE_FB, 0) \ - _(XR_FOVEATION_LEVEL_LOW_FB, 1) \ - _(XR_FOVEATION_LEVEL_MEDIUM_FB, 2) \ - _(XR_FOVEATION_LEVEL_HIGH_FB, 3) \ - _(XR_FOVEATION_LEVEL_MAX_ENUM_FB, 0x7FFFFFFF) - -#define XR_LIST_ENUM_XrFoveationDynamicFB(_) \ - _(XR_FOVEATION_DYNAMIC_DISABLED_FB, 0) \ - _(XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_FB, 1) \ - _(XR_FOVEATION_DYNAMIC_MAX_ENUM_FB, 0x7FFFFFFF) - -#define XR_LIST_ENUM_XrWindingOrderFB(_) \ - _(XR_WINDING_ORDER_UNKNOWN_FB, 0) \ - _(XR_WINDING_ORDER_CW_FB, 1) \ - _(XR_WINDING_ORDER_CCW_FB, 2) \ - _(XR_WINDING_ORDER_MAX_ENUM_FB, 0x7FFFFFFF) - -#define XR_LIST_ENUM_XrPassthroughLayerPurposeFB(_) \ - _(XR_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION_FB, 0) \ - _(XR_PASSTHROUGH_LAYER_PURPOSE_PROJECTED_FB, 1) \ - _(XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS_FB, 1000203001) \ - _(XR_PASSTHROUGH_LAYER_PURPOSE_MAX_ENUM_FB, 0x7FFFFFFF) - #define XR_LIST_BITS_XrInstanceCreateFlags(_) #define XR_LIST_BITS_XrSessionCreateFlags(_) @@ -674,7 +408,6 @@ XR_ENUM_STR(XrResult); _(XR_SWAPCHAIN_USAGE_SAMPLED_BIT, 0x00000020) \ _(XR_SWAPCHAIN_USAGE_MUTABLE_FORMAT_BIT, 0x00000040) \ _(XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND, 0x00000080) \ - _(XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR, XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND) \ #define XR_LIST_BITS_XrCompositionLayerFlags(_) \ _(XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT, 0x00000001) \ @@ -708,68 +441,16 @@ XR_ENUM_STR(XrResult); _(XR_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, 0x00000004) \ _(XR_DEBUG_UTILS_MESSAGE_TYPE_CONFORMANCE_BIT_EXT, 0x00000008) \ -#define XR_LIST_BITS_XrOverlaySessionCreateFlagsEXTX(_) +#define XR_LIST_BITS_XrOverlaySessionCreateFlagsEXTX(_) \ + _(XR_OVERLAY_SESSION_CREATE_RELAXED_DISPLAY_TIME_BIT_EXTX, 0x00000001) \ #define XR_LIST_BITS_XrOverlayMainSessionFlagsEXTX(_) \ _(XR_OVERLAY_MAIN_SESSION_ENABLED_COMPOSITION_LAYER_INFO_DEPTH_BIT_EXTX, 0x00000001) \ -#define XR_LIST_BITS_XrCompositionLayerImageLayoutFlagsFB(_) \ - _(XR_COMPOSITION_LAYER_IMAGE_LAYOUT_VERTICAL_FLIP_BIT_FB, 0x00000001) \ - #define XR_LIST_BITS_XrAndroidSurfaceSwapchainFlagsFB(_) \ _(XR_ANDROID_SURFACE_SWAPCHAIN_SYNCHRONOUS_BIT_FB, 0x00000001) \ _(XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB, 0x00000002) \ -#define XR_LIST_BITS_XrCompositionLayerSecureContentFlagsFB(_) \ - _(XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB, 0x00000001) \ - _(XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB, 0x00000002) \ - -#define XR_LIST_BITS_XrHandTrackingAimFlagsFB(_) \ - _(XR_HAND_TRACKING_AIM_COMPUTED_BIT_FB, 0x00000001) \ - _(XR_HAND_TRACKING_AIM_VALID_BIT_FB, 0x00000002) \ - _(XR_HAND_TRACKING_AIM_INDEX_PINCHING_BIT_FB, 0x00000004) \ - _(XR_HAND_TRACKING_AIM_MIDDLE_PINCHING_BIT_FB, 0x00000008) \ - _(XR_HAND_TRACKING_AIM_RING_PINCHING_BIT_FB, 0x00000010) \ - _(XR_HAND_TRACKING_AIM_LITTLE_PINCHING_BIT_FB, 0x00000020) \ - _(XR_HAND_TRACKING_AIM_SYSTEM_GESTURE_BIT_FB, 0x00000040) \ - _(XR_HAND_TRACKING_AIM_DOMINANT_HAND_BIT_FB, 0x00000080) \ - _(XR_HAND_TRACKING_AIM_MENU_PRESSED_BIT_FB, 0x00000100) \ - -#define XR_LIST_BITS_XrSwapchainCreateFoveationFlagsFB(_) \ - _(XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB, 0x00000001) \ - _(XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB, 0x00000002) \ - -#define XR_LIST_BITS_XrSwapchainStateFoveationFlagsFB(_) - -#define XR_LIST_BITS_XrKeyboardTrackingFlagsFB(_) \ - _(XR_KEYBOARD_TRACKING_EXISTS_BIT_FB, 0x00000001) \ - _(XR_KEYBOARD_TRACKING_LOCAL_BIT_FB, 0x00000002) \ - _(XR_KEYBOARD_TRACKING_REMOTE_BIT_FB, 0x00000004) \ - _(XR_KEYBOARD_TRACKING_CONNECTED_BIT_FB, 0x00000008) \ - -#define XR_LIST_BITS_XrKeyboardTrackingQueryFlagsFB(_) \ - _(XR_KEYBOARD_TRACKING_QUERY_LOCAL_BIT_FB, 0x00000002) \ - _(XR_KEYBOARD_TRACKING_QUERY_REMOTE_BIT_FB, 0x00000004) \ - -#define XR_LIST_BITS_XrTriangleMeshFlagsFB(_) \ - _(XR_TRIANGLE_MESH_MUTABLE_BIT_FB, 0x00000001) \ - -#define XR_LIST_BITS_XrPassthroughFlagsFB(_) \ - _(XR_PASSTHROUGH_IS_RUNNING_AT_CREATION_BIT_FB, 0x00000001) \ - -#define XR_LIST_BITS_XrPassthroughStateChangedFlagsFB(_) \ - _(XR_PASSTHROUGH_STATE_CHANGED_REINIT_REQUIRED_BIT_FB, 0x00000001) \ - _(XR_PASSTHROUGH_STATE_CHANGED_NON_RECOVERABLE_ERROR_BIT_FB, 0x00000002) \ - _(XR_PASSTHROUGH_STATE_CHANGED_RECOVERABLE_ERROR_BIT_FB, 0x00000004) \ - _(XR_PASSTHROUGH_STATE_CHANGED_RESTORED_ERROR_BIT_FB, 0x00000008) \ - -#define XR_LIST_BITS_XrRenderModelFlagsFB(_) - -#define XR_LIST_BITS_XrCompositionLayerSpaceWarpInfoFlagsFB(_) - -#define XR_LIST_BITS_XrDigitalLensControlFlagsALMALENCE(_) \ - _(XR_DIGITAL_LENS_CONTROL_PROCESSING_DISABLE_BIT_ALMALENCE, 0x00000001) \ - #define XR_LIST_STRUCT_XrApiLayerProperties(_) \ _(type) \ _(next) \ @@ -1532,19 +1213,6 @@ XR_ENUM_STR(XrResult); _(anchor) \ _(poseInAnchorSpace) \ -#define XR_LIST_STRUCT_XrCompositionLayerImageLayoutFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrCompositionLayerAlphaBlendFB(_) \ - _(type) \ - _(next) \ - _(srcFactorColor) \ - _(dstFactorColor) \ - _(srcFactorAlpha) \ - _(dstFactorAlpha) \ - #define XR_LIST_STRUCT_XrViewConfigurationDepthRangeEXT(_) \ _(type) \ _(next) \ @@ -1736,32 +1404,11 @@ XR_ENUM_STR(XrResult); _(holographicSpace) \ _(coreWindow) \ -#define XR_LIST_STRUCT_XrCompositionLayerReprojectionInfoMSFT(_) \ - _(type) \ - _(next) \ - _(reprojectionMode) \ - -#define XR_LIST_STRUCT_XrCompositionLayerReprojectionPlaneOverrideMSFT(_) \ - _(type) \ - _(next) \ - _(position) \ - _(normal) \ - _(velocity) \ - #define XR_LIST_STRUCT_XrAndroidSurfaceSwapchainCreateInfoFB(_) \ _(type) \ _(next) \ _(createFlags) \ -#define XR_LIST_STRUCT_XrSwapchainStateBaseHeaderFB(_) \ - _(type) \ - _(next) \ - -#define XR_LIST_STRUCT_XrCompositionLayerSecureContentFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - #define XR_LIST_STRUCT_XrInteractionProfileAnalogThresholdVALVE(_) \ _(type) \ _(next) \ @@ -1772,556 +1419,17 @@ XR_ENUM_STR(XrResult); _(onHaptic) \ _(offHaptic) \ -#define XR_LIST_STRUCT_XrHandJointsMotionRangeInfoEXT(_) \ - _(type) \ - _(next) \ - _(handJointsMotionRange) \ - -#define XR_LIST_STRUCT_XrUuidMSFT(_) \ - _(bytes) \ - -#define XR_LIST_STRUCT_XrSceneObserverCreateInfoMSFT(_) \ - _(type) \ - _(next) \ - -#define XR_LIST_STRUCT_XrSceneCreateInfoMSFT(_) \ - _(type) \ - _(next) \ - -#define XR_LIST_STRUCT_XrSceneSphereBoundMSFT(_) \ - _(center) \ - _(radius) \ - -#define XR_LIST_STRUCT_XrSceneOrientedBoxBoundMSFT(_) \ - _(pose) \ - _(extents) \ - -#define XR_LIST_STRUCT_XrSceneFrustumBoundMSFT(_) \ - _(pose) \ - _(fov) \ - _(farDistance) \ - -#define XR_LIST_STRUCT_XrSceneBoundsMSFT(_) \ - _(space) \ - _(time) \ - _(sphereCount) \ - _(spheres) \ - _(boxCount) \ - _(boxes) \ - _(frustumCount) \ - _(frustums) \ - -#define XR_LIST_STRUCT_XrNewSceneComputeInfoMSFT(_) \ - _(type) \ - _(next) \ - _(requestedFeatureCount) \ - _(requestedFeatures) \ - _(consistency) \ - _(bounds) \ - -#define XR_LIST_STRUCT_XrVisualMeshComputeLodInfoMSFT(_) \ - _(type) \ - _(next) \ - _(lod) \ - -#define XR_LIST_STRUCT_XrSceneComponentMSFT(_) \ - _(componentType) \ - _(id) \ - _(parentId) \ - _(updateTime) \ - -#define XR_LIST_STRUCT_XrSceneComponentsMSFT(_) \ - _(type) \ - _(next) \ - _(componentCapacityInput) \ - _(componentCountOutput) \ - _(components) \ - -#define XR_LIST_STRUCT_XrSceneComponentsGetInfoMSFT(_) \ - _(type) \ - _(next) \ - _(componentType) \ - -#define XR_LIST_STRUCT_XrSceneComponentLocationMSFT(_) \ - _(flags) \ - _(pose) \ - -#define XR_LIST_STRUCT_XrSceneComponentLocationsMSFT(_) \ - _(type) \ - _(next) \ - _(locationCount) \ - _(locations) \ - -#define XR_LIST_STRUCT_XrSceneComponentsLocateInfoMSFT(_) \ - _(type) \ - _(next) \ - _(baseSpace) \ - _(time) \ - _(componentIdCount) \ - _(componentIds) \ - -#define XR_LIST_STRUCT_XrSceneObjectMSFT(_) \ - _(objectType) \ - -#define XR_LIST_STRUCT_XrSceneObjectsMSFT(_) \ - _(type) \ - _(next) \ - _(sceneObjectCount) \ - _(sceneObjects) \ - -#define XR_LIST_STRUCT_XrSceneComponentParentFilterInfoMSFT(_) \ - _(type) \ - _(next) \ - _(parentId) \ - -#define XR_LIST_STRUCT_XrSceneObjectTypesFilterInfoMSFT(_) \ - _(type) \ - _(next) \ - _(objectTypeCount) \ - _(objectTypes) \ - -#define XR_LIST_STRUCT_XrScenePlaneMSFT(_) \ - _(alignment) \ - _(size) \ - _(meshBufferId) \ - _(supportsIndicesUint16) \ - -#define XR_LIST_STRUCT_XrScenePlanesMSFT(_) \ - _(type) \ - _(next) \ - _(scenePlaneCount) \ - _(scenePlanes) \ - -#define XR_LIST_STRUCT_XrScenePlaneAlignmentFilterInfoMSFT(_) \ - _(type) \ - _(next) \ - _(alignmentCount) \ - _(alignments) \ - -#define XR_LIST_STRUCT_XrSceneMeshMSFT(_) \ - _(meshBufferId) \ - _(supportsIndicesUint16) \ - -#define XR_LIST_STRUCT_XrSceneMeshesMSFT(_) \ - _(type) \ - _(next) \ - _(sceneMeshCount) \ - _(sceneMeshes) \ - -#define XR_LIST_STRUCT_XrSceneMeshBuffersGetInfoMSFT(_) \ - _(type) \ - _(next) \ - _(meshBufferId) \ - -#define XR_LIST_STRUCT_XrSceneMeshBuffersMSFT(_) \ - _(type) \ - _(next) \ - -#define XR_LIST_STRUCT_XrSceneMeshVertexBufferMSFT(_) \ - _(type) \ - _(next) \ - _(vertexCapacityInput) \ - _(vertexCountOutput) \ - _(vertices) \ - -#define XR_LIST_STRUCT_XrSceneMeshIndicesUint32MSFT(_) \ - _(type) \ - _(next) \ - _(indexCapacityInput) \ - _(indexCountOutput) \ - _(indices) \ - -#define XR_LIST_STRUCT_XrSceneMeshIndicesUint16MSFT(_) \ - _(type) \ - _(next) \ - _(indexCapacityInput) \ - _(indexCountOutput) \ - _(indices) \ - -#define XR_LIST_STRUCT_XrSerializedSceneFragmentDataGetInfoMSFT(_) \ - _(type) \ - _(next) \ - _(sceneFragmentId) \ - -#define XR_LIST_STRUCT_XrDeserializeSceneFragmentMSFT(_) \ - _(bufferSize) \ - _(buffer) \ - -#define XR_LIST_STRUCT_XrSceneDeserializeInfoMSFT(_) \ - _(type) \ - _(next) \ - _(fragmentCount) \ - _(fragments) \ - #define XR_LIST_STRUCT_XrEventDataDisplayRefreshRateChangedFB(_) \ _(type) \ _(next) \ _(fromDisplayRefreshRate) \ _(toDisplayRefreshRate) \ -#define XR_LIST_STRUCT_XrViveTrackerPathsHTCX(_) \ - _(type) \ - _(next) \ - _(persistentPath) \ - _(rolePath) \ - -#define XR_LIST_STRUCT_XrEventDataViveTrackerConnectedHTCX(_) \ - _(type) \ - _(next) \ - _(paths) \ - -#define XR_LIST_STRUCT_XrSystemFacialTrackingPropertiesHTC(_) \ - _(type) \ - _(next) \ - _(supportEyeFacialTracking) \ - _(supportLipFacialTracking) \ - -#define XR_LIST_STRUCT_XrFacialExpressionsHTC(_) \ - _(type) \ - _(next) \ - _(isActive) \ - _(sampleTime) \ - _(expressionCount) \ - _(expressionWeightings) \ - -#define XR_LIST_STRUCT_XrFacialTrackerCreateInfoHTC(_) \ - _(type) \ - _(next) \ - _(facialTrackingType) \ - #define XR_LIST_STRUCT_XrSystemColorSpacePropertiesFB(_) \ _(type) \ _(next) \ _(colorSpace) \ -#define XR_LIST_STRUCT_XrVector4sFB(_) \ - _(x) \ - _(y) \ - _(z) \ - _(w) \ - -#define XR_LIST_STRUCT_XrHandTrackingMeshFB(_) \ - _(type) \ - _(next) \ - _(jointCapacityInput) \ - _(jointCountOutput) \ - _(jointBindPoses) \ - _(jointRadii) \ - _(jointParents) \ - _(vertexCapacityInput) \ - _(vertexCountOutput) \ - _(vertexPositions) \ - _(vertexNormals) \ - _(vertexUVs) \ - _(vertexBlendIndices) \ - _(vertexBlendWeights) \ - _(indexCapacityInput) \ - _(indexCountOutput) \ - _(indices) \ - -#define XR_LIST_STRUCT_XrHandTrackingScaleFB(_) \ - _(type) \ - _(next) \ - _(sensorOutput) \ - _(currentOutput) \ - _(overrideHandScale) \ - _(overrideValueInput) \ - -#define XR_LIST_STRUCT_XrHandTrackingAimStateFB(_) \ - _(type) \ - _(next) \ - _(status) \ - _(aimPose) \ - _(pinchStrengthIndex) \ - _(pinchStrengthMiddle) \ - _(pinchStrengthRing) \ - _(pinchStrengthLittle) \ - -#define XR_LIST_STRUCT_XrHandCapsuleFB(_) \ - _(points) \ - _(radius) \ - _(joint) \ - -#define XR_LIST_STRUCT_XrHandTrackingCapsulesStateFB(_) \ - _(type) \ - _(next) \ - _(capsules) \ - -#define XR_LIST_STRUCT_XrFoveationProfileCreateInfoFB(_) \ - _(type) \ - _(next) \ - -#define XR_LIST_STRUCT_XrSwapchainCreateInfoFoveationFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrSwapchainStateFoveationFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - _(profile) \ - -#define XR_LIST_STRUCT_XrFoveationLevelProfileCreateInfoFB(_) \ - _(type) \ - _(next) \ - _(level) \ - _(verticalOffset) \ - _(dynamic) \ - -#define XR_LIST_STRUCT_XrSystemKeyboardTrackingPropertiesFB(_) \ - _(type) \ - _(next) \ - _(supportsKeyboardTracking) \ - -#define XR_LIST_STRUCT_XrKeyboardTrackingDescriptionFB(_) \ - _(trackedKeyboardId) \ - _(size) \ - _(flags) \ - _(name) \ - -#define XR_LIST_STRUCT_XrKeyboardSpaceCreateInfoFB(_) \ - _(type) \ - _(next) \ - _(trackedKeyboardId) \ - -#define XR_LIST_STRUCT_XrKeyboardTrackingQueryFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrTriangleMeshCreateInfoFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - _(windingOrder) \ - _(vertexCount) \ - _(vertexBuffer) \ - _(triangleCount) \ - _(indexBuffer) \ - -#define XR_LIST_STRUCT_XrSystemPassthroughPropertiesFB(_) \ - _(type) \ - _(next) \ - _(supportsPassthrough) \ - -#define XR_LIST_STRUCT_XrPassthroughCreateInfoFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrPassthroughLayerCreateInfoFB(_) \ - _(type) \ - _(next) \ - _(passthrough) \ - _(flags) \ - _(purpose) \ - -#define XR_LIST_STRUCT_XrCompositionLayerPassthroughFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - _(space) \ - _(layerHandle) \ - -#define XR_LIST_STRUCT_XrGeometryInstanceCreateInfoFB(_) \ - _(type) \ - _(next) \ - _(layer) \ - _(mesh) \ - _(baseSpace) \ - _(pose) \ - _(scale) \ - -#define XR_LIST_STRUCT_XrGeometryInstanceTransformFB(_) \ - _(type) \ - _(next) \ - _(baseSpace) \ - _(time) \ - _(pose) \ - _(scale) \ - -#define XR_LIST_STRUCT_XrPassthroughStyleFB(_) \ - _(type) \ - _(next) \ - _(textureOpacityFactor) \ - _(edgeColor) \ - -#define XR_LIST_STRUCT_XrPassthroughColorMapMonoToRgbaFB(_) \ - _(type) \ - _(next) \ - _(textureColorMap) \ - -#define XR_LIST_STRUCT_XrPassthroughColorMapMonoToMonoFB(_) \ - _(type) \ - _(next) \ - _(textureColorMap) \ - -#define XR_LIST_STRUCT_XrEventDataPassthroughStateChangedFB(_) \ - _(type) \ - _(next) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrRenderModelPathInfoFB(_) \ - _(type) \ - _(next) \ - _(path) \ - -#define XR_LIST_STRUCT_XrRenderModelPropertiesFB(_) \ - _(type) \ - _(next) \ - _(vendorId) \ - _(modelName) \ - _(modelKey) \ - _(modelVersion) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrRenderModelBufferFB(_) \ - _(type) \ - _(next) \ - _(bufferCapacityInput) \ - _(bufferCountOutput) \ - _(buffer) \ - -#define XR_LIST_STRUCT_XrRenderModelLoadInfoFB(_) \ - _(type) \ - _(next) \ - _(modelKey) \ - -#define XR_LIST_STRUCT_XrSystemRenderModelPropertiesFB(_) \ - _(type) \ - _(next) \ - _(supportsRenderModelLoading) \ - -#define XR_LIST_STRUCT_XrViewLocateFoveatedRenderingVARJO(_) \ - _(type) \ - _(next) \ - _(foveatedRenderingActive) \ - -#define XR_LIST_STRUCT_XrFoveatedViewConfigurationViewVARJO(_) \ - _(type) \ - _(next) \ - _(foveatedRenderingActive) \ - -#define XR_LIST_STRUCT_XrSystemFoveatedRenderingPropertiesVARJO(_) \ - _(type) \ - _(next) \ - _(supportsFoveatedRendering) \ - -#define XR_LIST_STRUCT_XrCompositionLayerDepthTestVARJO(_) \ - _(type) \ - _(next) \ - _(depthTestRangeNearZ) \ - _(depthTestRangeFarZ) \ - -#define XR_LIST_STRUCT_XrSystemMarkerTrackingPropertiesVARJO(_) \ - _(type) \ - _(next) \ - _(supportsMarkerTracking) \ - -#define XR_LIST_STRUCT_XrEventDataMarkerTrackingUpdateVARJO(_) \ - _(type) \ - _(next) \ - _(markerId) \ - _(isActive) \ - _(isPredicted) \ - _(time) \ - -#define XR_LIST_STRUCT_XrMarkerSpaceCreateInfoVARJO(_) \ - _(type) \ - _(next) \ - _(markerId) \ - _(poseInMarkerSpace) \ - -#define XR_LIST_STRUCT_XrSpatialAnchorPersistenceNameMSFT(_) \ - _(name) \ - -#define XR_LIST_STRUCT_XrSpatialAnchorPersistenceInfoMSFT(_) \ - _(type) \ - _(next) \ - _(spatialAnchorPersistenceName) \ - _(spatialAnchor) \ - -#define XR_LIST_STRUCT_XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT(_) \ - _(type) \ - _(next) \ - _(spatialAnchorStore) \ - _(spatialAnchorPersistenceName) \ - -#define XR_LIST_STRUCT_XrSwapchainImageFoveationVulkanFB(_) \ - _(type) \ - _(next) \ - _(image) \ - _(width) \ - _(height) \ - -#define XR_LIST_STRUCT_XrSwapchainStateAndroidSurfaceDimensionsFB(_) \ - _(type) \ - _(next) \ - _(width) \ - _(height) \ - -#define XR_LIST_STRUCT_XrSwapchainStateSamplerOpenGLESFB(_) \ - _(type) \ - _(next) \ - _(minFilter) \ - _(magFilter) \ - _(wrapModeS) \ - _(wrapModeT) \ - _(swizzleRed) \ - _(swizzleGreen) \ - _(swizzleBlue) \ - _(swizzleAlpha) \ - _(maxAnisotropy) \ - _(borderColor) \ - -#define XR_LIST_STRUCT_XrSwapchainStateSamplerVulkanFB(_) \ - _(type) \ - _(next) \ - _(minFilter) \ - _(magFilter) \ - _(mipmapMode) \ - _(wrapModeS) \ - _(wrapModeT) \ - _(swizzleRed) \ - _(swizzleGreen) \ - _(swizzleBlue) \ - _(swizzleAlpha) \ - _(maxAnisotropy) \ - _(borderColor) \ - -#define XR_LIST_STRUCT_XrCompositionLayerSpaceWarpInfoFB(_) \ - _(type) \ - _(next) \ - _(layerFlags) \ - _(motionVectorSubImage) \ - _(appSpaceDeltaPose) \ - _(depthSubImage) \ - _(minDepth) \ - _(maxDepth) \ - _(nearZ) \ - _(farZ) \ - -#define XR_LIST_STRUCT_XrSystemSpaceWarpPropertiesFB(_) \ - _(type) \ - _(next) \ - _(recommendedMotionVectorImageRectWidth) \ - _(recommendedMotionVectorImageRectHeight) \ - -#define XR_LIST_STRUCT_XrDigitalLensControlALMALENCE(_) \ - _(type) \ - _(next) \ - _(flags) \ - -#define XR_LIST_STRUCT_XrPassthroughKeyboardHandsIntensityFB(_) \ - _(type) \ - _(next) \ - _(leftHandIntensity) \ - _(rightHandIntensity) \ - -#define XR_LIST_STRUCT_XrUuidEXT(_) \ - _(data) \ - #define XR_LIST_STRUCTURE_TYPES_CORE(_) \ @@ -2394,8 +1502,6 @@ XR_ENUM_STR(XrResult); _(XrEventDataMainSessionVisibilityChangedEXTX, XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX) \ _(XrSpatialAnchorCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT) \ _(XrSpatialAnchorSpaceCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT) \ - _(XrCompositionLayerImageLayoutFB, XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB) \ - _(XrCompositionLayerAlphaBlendFB, XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB) \ _(XrViewConfigurationDepthRangeEXT, XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT) \ _(XrSpatialGraphNodeSpaceCreateInfoMSFT, XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT) \ _(XrSystemHandTrackingPropertiesEXT, XR_TYPE_SYSTEM_HAND_TRACKING_PROPERTIES_EXT) \ @@ -2420,79 +1526,9 @@ XR_ENUM_STR(XrResult); _(XrControllerModelNodeStateMSFT, XR_TYPE_CONTROLLER_MODEL_NODE_STATE_MSFT) \ _(XrControllerModelStateMSFT, XR_TYPE_CONTROLLER_MODEL_STATE_MSFT) \ _(XrViewConfigurationViewFovEPIC, XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC) \ - _(XrCompositionLayerReprojectionInfoMSFT, XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT) \ - _(XrCompositionLayerReprojectionPlaneOverrideMSFT, XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT) \ - _(XrCompositionLayerSecureContentFB, XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB) \ _(XrInteractionProfileAnalogThresholdVALVE, XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE) \ - _(XrHandJointsMotionRangeInfoEXT, XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT) \ - _(XrSceneObserverCreateInfoMSFT, XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFT) \ - _(XrSceneCreateInfoMSFT, XR_TYPE_SCENE_CREATE_INFO_MSFT) \ - _(XrNewSceneComputeInfoMSFT, XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFT) \ - _(XrVisualMeshComputeLodInfoMSFT, XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFT) \ - _(XrSceneComponentsMSFT, XR_TYPE_SCENE_COMPONENTS_MSFT) \ - _(XrSceneComponentsGetInfoMSFT, XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFT) \ - _(XrSceneComponentLocationsMSFT, XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFT) \ - _(XrSceneComponentsLocateInfoMSFT, XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFT) \ - _(XrSceneObjectsMSFT, XR_TYPE_SCENE_OBJECTS_MSFT) \ - _(XrSceneComponentParentFilterInfoMSFT, XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT) \ - _(XrSceneObjectTypesFilterInfoMSFT, XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFT) \ - _(XrScenePlanesMSFT, XR_TYPE_SCENE_PLANES_MSFT) \ - _(XrScenePlaneAlignmentFilterInfoMSFT, XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT) \ - _(XrSceneMeshesMSFT, XR_TYPE_SCENE_MESHES_MSFT) \ - _(XrSceneMeshBuffersGetInfoMSFT, XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFT) \ - _(XrSceneMeshBuffersMSFT, XR_TYPE_SCENE_MESH_BUFFERS_MSFT) \ - _(XrSceneMeshVertexBufferMSFT, XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFT) \ - _(XrSceneMeshIndicesUint32MSFT, XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFT) \ - _(XrSceneMeshIndicesUint16MSFT, XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFT) \ - _(XrSerializedSceneFragmentDataGetInfoMSFT, XR_TYPE_SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT) \ - _(XrSceneDeserializeInfoMSFT, XR_TYPE_SCENE_DESERIALIZE_INFO_MSFT) \ _(XrEventDataDisplayRefreshRateChangedFB, XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB) \ - _(XrViveTrackerPathsHTCX, XR_TYPE_VIVE_TRACKER_PATHS_HTCX) \ - _(XrEventDataViveTrackerConnectedHTCX, XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX) \ - _(XrSystemFacialTrackingPropertiesHTC, XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC) \ - _(XrFacialExpressionsHTC, XR_TYPE_FACIAL_EXPRESSIONS_HTC) \ - _(XrFacialTrackerCreateInfoHTC, XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC) \ _(XrSystemColorSpacePropertiesFB, XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB) \ - _(XrHandTrackingMeshFB, XR_TYPE_HAND_TRACKING_MESH_FB) \ - _(XrHandTrackingScaleFB, XR_TYPE_HAND_TRACKING_SCALE_FB) \ - _(XrHandTrackingAimStateFB, XR_TYPE_HAND_TRACKING_AIM_STATE_FB) \ - _(XrHandTrackingCapsulesStateFB, XR_TYPE_HAND_TRACKING_CAPSULES_STATE_FB) \ - _(XrFoveationProfileCreateInfoFB, XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB) \ - _(XrSwapchainCreateInfoFoveationFB, XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB) \ - _(XrSwapchainStateFoveationFB, XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB) \ - _(XrFoveationLevelProfileCreateInfoFB, XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB) \ - _(XrSystemKeyboardTrackingPropertiesFB, XR_TYPE_SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB) \ - _(XrKeyboardSpaceCreateInfoFB, XR_TYPE_KEYBOARD_SPACE_CREATE_INFO_FB) \ - _(XrKeyboardTrackingQueryFB, XR_TYPE_KEYBOARD_TRACKING_QUERY_FB) \ - _(XrTriangleMeshCreateInfoFB, XR_TYPE_TRIANGLE_MESH_CREATE_INFO_FB) \ - _(XrSystemPassthroughPropertiesFB, XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES_FB) \ - _(XrPassthroughCreateInfoFB, XR_TYPE_PASSTHROUGH_CREATE_INFO_FB) \ - _(XrPassthroughLayerCreateInfoFB, XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_FB) \ - _(XrCompositionLayerPassthroughFB, XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_FB) \ - _(XrGeometryInstanceCreateInfoFB, XR_TYPE_GEOMETRY_INSTANCE_CREATE_INFO_FB) \ - _(XrGeometryInstanceTransformFB, XR_TYPE_GEOMETRY_INSTANCE_TRANSFORM_FB) \ - _(XrPassthroughStyleFB, XR_TYPE_PASSTHROUGH_STYLE_FB) \ - _(XrPassthroughColorMapMonoToRgbaFB, XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB) \ - _(XrPassthroughColorMapMonoToMonoFB, XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB) \ - _(XrEventDataPassthroughStateChangedFB, XR_TYPE_EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB) \ - _(XrRenderModelPathInfoFB, XR_TYPE_RENDER_MODEL_PATH_INFO_FB) \ - _(XrRenderModelPropertiesFB, XR_TYPE_RENDER_MODEL_PROPERTIES_FB) \ - _(XrRenderModelBufferFB, XR_TYPE_RENDER_MODEL_BUFFER_FB) \ - _(XrRenderModelLoadInfoFB, XR_TYPE_RENDER_MODEL_LOAD_INFO_FB) \ - _(XrSystemRenderModelPropertiesFB, XR_TYPE_SYSTEM_RENDER_MODEL_PROPERTIES_FB) \ - _(XrViewLocateFoveatedRenderingVARJO, XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO) \ - _(XrFoveatedViewConfigurationViewVARJO, XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO) \ - _(XrSystemFoveatedRenderingPropertiesVARJO, XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO) \ - _(XrCompositionLayerDepthTestVARJO, XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO) \ - _(XrSystemMarkerTrackingPropertiesVARJO, XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO) \ - _(XrEventDataMarkerTrackingUpdateVARJO, XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO) \ - _(XrMarkerSpaceCreateInfoVARJO, XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO) \ - _(XrSpatialAnchorPersistenceInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT) \ - _(XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT) \ - _(XrCompositionLayerSpaceWarpInfoFB, XR_TYPE_COMPOSITION_LAYER_SPACE_WARP_INFO_FB) \ - _(XrSystemSpaceWarpPropertiesFB, XR_TYPE_SYSTEM_SPACE_WARP_PROPERTIES_FB) \ - _(XrDigitalLensControlALMALENCE, XR_TYPE_DIGITAL_LENS_CONTROL_ALMALENCE) \ - _(XrPassthroughKeyboardHandsIntensityFB, XR_TYPE_PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB) \ @@ -2569,22 +1605,12 @@ XR_ENUM_STR(XrResult); #define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_) \ _(XrSwapchainImageOpenGLESKHR, XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR) \ _(XrGraphicsRequirementsOpenGLESKHR, XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR) \ - _(XrSwapchainStateSamplerOpenGLESFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB) \ #else #define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_) #endif -#if defined(XR_USE_GRAPHICS_API_OPENGL_ES) && defined(XR_USE_PLATFORM_ANDROID) -#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_) \ - _(XrGraphicsBindingOpenGLESAndroidKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR) \ - - -#else -#define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_) -#endif - #if defined(XR_USE_GRAPHICS_API_VULKAN) #define XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_) \ _(XrVulkanSwapchainFormatListCreateInfoKHR, XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR) \ @@ -2594,8 +1620,6 @@ XR_ENUM_STR(XrResult); _(XrVulkanInstanceCreateInfoKHR, XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR) \ _(XrVulkanDeviceCreateInfoKHR, XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR) \ _(XrVulkanGraphicsDeviceGetInfoKHR, XR_TYPE_VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR) \ - _(XrSwapchainImageFoveationVulkanFB, XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB) \ - _(XrSwapchainStateSamplerVulkanFB, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB) \ #else @@ -2607,13 +1631,21 @@ XR_ENUM_STR(XrResult); _(XrInstanceCreateInfoAndroidKHR, XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR) \ _(XrLoaderInitInfoAndroidKHR, XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR) \ _(XrAndroidSurfaceSwapchainCreateInfoFB, XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB) \ - _(XrSwapchainStateAndroidSurfaceDimensionsFB, XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB) \ #else #define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_) #endif +#if defined(XR_USE_PLATFORM_ANDROID) && defined(XR_USE_GRAPHICS_API_OPENGL_ES) +#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID_XR_USE_GRAPHICS_API_OPENGL_ES(_) \ + _(XrGraphicsBindingOpenGLESAndroidKHR, XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR) \ + + +#else +#define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID_XR_USE_GRAPHICS_API_OPENGL_ES(_) +#endif + #if defined(XR_USE_PLATFORM_EGL) #define XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_) \ _(XrGraphicsBindingEGLMNDX, XR_TYPE_GRAPHICS_BINDING_EGL_MNDX) \ @@ -2642,9 +1674,9 @@ XR_ENUM_STR(XrResult); XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XCB(_) \ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_XR_USE_PLATFORM_XLIB(_) \ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES(_) \ - XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_OPENGL_ES_XR_USE_PLATFORM_ANDROID(_) \ XR_LIST_STRUCTURE_TYPES_XR_USE_GRAPHICS_API_VULKAN(_) \ XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID(_) \ + XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_ANDROID_XR_USE_GRAPHICS_API_OPENGL_ES(_) \ XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_EGL(_) \ XR_LIST_STRUCTURE_TYPES_XR_USE_PLATFORM_WIN32(_) \ @@ -2675,8 +1707,6 @@ XR_ENUM_STR(XrResult); _(XR_VARJO_quad_views, 38) \ _(XR_MSFT_unbounded_reference_space, 39) \ _(XR_MSFT_spatial_anchor, 40) \ - _(XR_FB_composition_layer_image_layout, 41) \ - _(XR_FB_composition_layer_alpha_blend, 42) \ _(XR_MND_headless, 43) \ _(XR_OCULUS_android_session_state_enable, 45) \ _(XR_EXT_view_configuration_depth_range, 47) \ @@ -2693,13 +1723,9 @@ XR_ENUM_STR(XrResult); _(XR_EXT_win32_appcontainer_compatible, 58) \ _(XR_EPIC_view_configuration_fov, 60) \ _(XR_MSFT_holographic_window_attachment, 64) \ - _(XR_MSFT_composition_layer_reprojection, 67) \ _(XR_HUAWEI_controller_interaction, 70) \ _(XR_FB_android_surface_swapchain_create, 71) \ - _(XR_FB_swapchain_update_state, 72) \ - _(XR_FB_composition_layer_secure_content, 73) \ _(XR_VALVE_analog_threshold, 80) \ - _(XR_EXT_hand_joints_motion_range, 81) \ _(XR_KHR_loader_init, 89) \ _(XR_KHR_loader_init_android, 90) \ _(XR_KHR_vulkan_enable2, 91) \ @@ -2707,38 +1733,11 @@ XR_ENUM_STR(XrResult); _(XR_EXT_samsung_odyssey_controller, 95) \ _(XR_EXT_hp_mixed_reality_controller, 96) \ _(XR_MND_swapchain_usage_input_attachment_bit, 97) \ - _(XR_MSFT_scene_understanding, 98) \ - _(XR_MSFT_scene_understanding_serialization, 99) \ _(XR_FB_display_refresh_rate, 102) \ _(XR_HTC_vive_cosmos_controller_interaction, 103) \ - _(XR_HTCX_vive_tracker_interaction, 104) \ - _(XR_HTC_facial_tracking, 105) \ - _(XR_HTC_vive_focus3_controller_interaction, 106) \ _(XR_FB_color_space, 109) \ - _(XR_FB_hand_tracking_mesh, 111) \ - _(XR_FB_hand_tracking_aim, 112) \ - _(XR_FB_hand_tracking_capsules, 113) \ - _(XR_FB_foveation, 115) \ - _(XR_FB_foveation_configuration, 116) \ - _(XR_FB_keyboard_tracking, 117) \ - _(XR_FB_triangle_mesh, 118) \ - _(XR_FB_passthrough, 119) \ - _(XR_FB_render_model, 120) \ _(XR_KHR_binding_modification, 121) \ - _(XR_VARJO_foveated_rendering, 122) \ - _(XR_VARJO_composition_layer_depth_test, 123) \ - _(XR_VARJO_environment_depth_estimation, 124) \ - _(XR_VARJO_marker_tracking, 125) \ - _(XR_MSFT_spatial_anchor_persistence, 143) \ - _(XR_OCULUS_audio_device_guid, 160) \ - _(XR_FB_foveation_vulkan, 161) \ - _(XR_FB_swapchain_update_state_android_surface, 162) \ - _(XR_FB_swapchain_update_state_opengl_es, 163) \ - _(XR_FB_swapchain_update_state_vulkan, 164) \ - _(XR_KHR_swapchain_usage_input_attachment_bit, 166) \ - _(XR_FB_space_warp, 172) \ - _(XR_ALMALENCE_digital_lens_control, 197) \ - _(XR_FB_passthrough_keyboard_hands, 204) \ - _(XR_EXT_uuid, 300) \ + #endif +