Path: blob/master/thirdparty/openxr/src/loader/xr_generated_loader.hpp
9917 views
// Copyright (c) 2017-2025 The Khronos Group Inc.1// Copyright (c) 2017-2019 Valve Corporation2// Copyright (c) 2017-2019 LunarG, Inc.3// SPDX-License-Identifier: Apache-2.0 OR MIT4// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********5// See loader_source_generator.py for modifications6// ************************************************************78// Copyright (c) 2017-2025 The Khronos Group Inc.9// Copyright (c) 2017-2019 Valve Corporation10// Copyright (c) 2017-2019 LunarG, Inc.11//12// SPDX-License-Identifier: Apache-2.013//14// Licensed under the Apache License, Version 2.0 (the "License");15// you may not use this file except in compliance with the License.16// You may obtain a copy of the License at17//18// http://www.apache.org/licenses/LICENSE-2.019//20// Unless required by applicable law or agreed to in writing, software21// distributed under the License is distributed on an "AS IS" BASIS,22// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.23// See the License for the specific language governing permissions and24// limitations under the License.25//26// Author: Mark Young <[email protected]>27//2829#pragma once30#include <unordered_map>31#include <thread>32#include <mutex>3334#include "xr_dependencies.h"35#include "openxr/openxr.h"36#include "openxr/openxr_loader_negotiation.h"37#include "openxr/openxr_platform.h"3839#include "loader_instance.hpp"4041#include "loader_platform.hpp"424344#ifdef __cplusplus45extern "C" {46#endif4748// Loader manually generated function prototypes4950extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetInstanceProperties(51XrInstance instance,52XrInstanceProperties* instanceProperties);53extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrPollEvent(54XrInstance instance,55XrEventDataBuffer* eventData);56extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrResultToString(57XrInstance instance,58XrResult value,59char buffer[XR_MAX_RESULT_STRING_SIZE]);60extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrStructureTypeToString(61XrInstance instance,62XrStructureType value,63char buffer[XR_MAX_STRUCTURE_NAME_SIZE]);64extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetSystem(65XrInstance instance,66const XrSystemGetInfo* getInfo,67XrSystemId* systemId);68extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetSystemProperties(69XrInstance instance,70XrSystemId systemId,71XrSystemProperties* properties);72extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateEnvironmentBlendModes(73XrInstance instance,74XrSystemId systemId,75XrViewConfigurationType viewConfigurationType,76uint32_t environmentBlendModeCapacityInput,77uint32_t* environmentBlendModeCountOutput,78XrEnvironmentBlendMode* environmentBlendModes);79extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrCreateSession(80XrInstance instance,81const XrSessionCreateInfo* createInfo,82XrSession* session);83extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrDestroySession(84XrSession session);85extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateReferenceSpaces(86XrSession session,87uint32_t spaceCapacityInput,88uint32_t* spaceCountOutput,89XrReferenceSpaceType* spaces);90extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrCreateReferenceSpace(91XrSession session,92const XrReferenceSpaceCreateInfo* createInfo,93XrSpace* space);94extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetReferenceSpaceBoundsRect(95XrSession session,96XrReferenceSpaceType referenceSpaceType,97XrExtent2Df* bounds);98extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrCreateActionSpace(99XrSession session,100const XrActionSpaceCreateInfo* createInfo,101XrSpace* space);102extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrLocateSpace(103XrSpace space,104XrSpace baseSpace,105XrTime time,106XrSpaceLocation* location);107extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpace(108XrSpace space);109extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateViewConfigurations(110XrInstance instance,111XrSystemId systemId,112uint32_t viewConfigurationTypeCapacityInput,113uint32_t* viewConfigurationTypeCountOutput,114XrViewConfigurationType* viewConfigurationTypes);115extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetViewConfigurationProperties(116XrInstance instance,117XrSystemId systemId,118XrViewConfigurationType viewConfigurationType,119XrViewConfigurationProperties* configurationProperties);120extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateViewConfigurationViews(121XrInstance instance,122XrSystemId systemId,123XrViewConfigurationType viewConfigurationType,124uint32_t viewCapacityInput,125uint32_t* viewCountOutput,126XrViewConfigurationView* views);127extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSwapchainFormats(128XrSession session,129uint32_t formatCapacityInput,130uint32_t* formatCountOutput,131int64_t* formats);132extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrCreateSwapchain(133XrSession session,134const XrSwapchainCreateInfo* createInfo,135XrSwapchain* swapchain);136extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrDestroySwapchain(137XrSwapchain swapchain);138extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSwapchainImages(139XrSwapchain swapchain,140uint32_t imageCapacityInput,141uint32_t* imageCountOutput,142XrSwapchainImageBaseHeader* images);143extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrAcquireSwapchainImage(144XrSwapchain swapchain,145const XrSwapchainImageAcquireInfo* acquireInfo,146uint32_t* index);147extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrWaitSwapchainImage(148XrSwapchain swapchain,149const XrSwapchainImageWaitInfo* waitInfo);150extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrReleaseSwapchainImage(151XrSwapchain swapchain,152const XrSwapchainImageReleaseInfo* releaseInfo);153extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrBeginSession(154XrSession session,155const XrSessionBeginInfo* beginInfo);156extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEndSession(157XrSession session);158extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrRequestExitSession(159XrSession session);160extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrWaitFrame(161XrSession session,162const XrFrameWaitInfo* frameWaitInfo,163XrFrameState* frameState);164extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrBeginFrame(165XrSession session,166const XrFrameBeginInfo* frameBeginInfo);167extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEndFrame(168XrSession session,169const XrFrameEndInfo* frameEndInfo);170extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrLocateViews(171XrSession session,172const XrViewLocateInfo* viewLocateInfo,173XrViewState* viewState,174uint32_t viewCapacityInput,175uint32_t* viewCountOutput,176XrView* views);177extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrStringToPath(178XrInstance instance,179const char* pathString,180XrPath* path);181extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrPathToString(182XrInstance instance,183XrPath path,184uint32_t bufferCapacityInput,185uint32_t* bufferCountOutput,186char* buffer);187extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrCreateActionSet(188XrInstance instance,189const XrActionSetCreateInfo* createInfo,190XrActionSet* actionSet);191extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrDestroyActionSet(192XrActionSet actionSet);193extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrCreateAction(194XrActionSet actionSet,195const XrActionCreateInfo* createInfo,196XrAction* action);197extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrDestroyAction(198XrAction action);199extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrSuggestInteractionProfileBindings(200XrInstance instance,201const XrInteractionProfileSuggestedBinding* suggestedBindings);202extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrAttachSessionActionSets(203XrSession session,204const XrSessionActionSetsAttachInfo* attachInfo);205extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetCurrentInteractionProfile(206XrSession session,207XrPath topLevelUserPath,208XrInteractionProfileState* interactionProfile);209extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetActionStateBoolean(210XrSession session,211const XrActionStateGetInfo* getInfo,212XrActionStateBoolean* state);213extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetActionStateFloat(214XrSession session,215const XrActionStateGetInfo* getInfo,216XrActionStateFloat* state);217extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetActionStateVector2f(218XrSession session,219const XrActionStateGetInfo* getInfo,220XrActionStateVector2f* state);221extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetActionStatePose(222XrSession session,223const XrActionStateGetInfo* getInfo,224XrActionStatePose* state);225extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrSyncActions(226XrSession session,227const XrActionsSyncInfo* syncInfo);228extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateBoundSourcesForAction(229XrSession session,230const XrBoundSourcesForActionEnumerateInfo* enumerateInfo,231uint32_t sourceCapacityInput,232uint32_t* sourceCountOutput,233XrPath* sources);234extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrGetInputSourceLocalizedName(235XrSession session,236const XrInputSourceLocalizedNameGetInfo* getInfo,237uint32_t bufferCapacityInput,238uint32_t* bufferCountOutput,239char* buffer);240extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrApplyHapticFeedback(241XrSession session,242const XrHapticActionInfo* hapticActionInfo,243const XrHapticBaseHeader* hapticFeedback);244extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrStopHapticFeedback(245XrSession session,246const XrHapticActionInfo* hapticActionInfo);247extern "C" LOADER_EXPORT XRAPI_ATTR XrResult XRAPI_CALL xrLocateSpaces(248XrSession session,249const XrSpacesLocateInfo* locateInfo,250XrSpaceLocations* spaceLocations);251#ifdef __cplusplus252} // extern "C"253#endif254255256257