The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

st/oxr: Switch to use new loader header

+3 -117
-114
src/external/openxr_includes/openxr/loader_interfaces.h
··· 1 - // Copyright (c) 2017-2022, The Khronos Group Inc. 2 - // Copyright (c) 2017 Valve Corporation 3 - // Copyright (c) 2017 LunarG, Inc. 4 - // 5 - // SPDX-License-Identifier: Apache-2.0 OR MIT 6 - // 7 - // Initial Author: Mark Young <marky@lunarg.com> 8 - // 9 - 10 - #pragma once 11 - 12 - #include <openxr/openxr.h> 13 - 14 - #ifdef __cplusplus 15 - extern "C" { 16 - #endif 17 - 18 - // Forward declare. 19 - typedef struct XrApiLayerCreateInfo XrApiLayerCreateInfo; 20 - 21 - // Function pointer prototype for the xrCreateApiLayerInstance function used in place of xrCreateInstance. 22 - // This function allows us to pass special API layer information to each layer during the process of creating an Instance. 23 - typedef XrResult(XRAPI_PTR *PFN_xrCreateApiLayerInstance)(const XrInstanceCreateInfo *info, 24 - const XrApiLayerCreateInfo *apiLayerInfo, XrInstance *instance); 25 - 26 - // Loader/API Layer Interface versions 27 - // 1 - First version, introduces negotiation structure and functions 28 - #define XR_CURRENT_LOADER_API_LAYER_VERSION 1 29 - 30 - // Loader/Runtime Interface versions 31 - // 1 - First version, introduces negotiation structure and functions 32 - #define XR_CURRENT_LOADER_RUNTIME_VERSION 1 33 - 34 - // Version negotiation values 35 - typedef enum XrLoaderInterfaceStructs { 36 - XR_LOADER_INTERFACE_STRUCT_UNINTIALIZED = 0, 37 - XR_LOADER_INTERFACE_STRUCT_LOADER_INFO, 38 - XR_LOADER_INTERFACE_STRUCT_API_LAYER_REQUEST, 39 - XR_LOADER_INTERFACE_STRUCT_RUNTIME_REQUEST, 40 - XR_LOADER_INTERFACE_STRUCT_API_LAYER_CREATE_INFO, 41 - XR_LOADER_INTERFACE_STRUCT_API_LAYER_NEXT_INFO, 42 - } XrLoaderInterfaceStructs; 43 - 44 - #define XR_LOADER_INFO_STRUCT_VERSION 1 45 - typedef struct XrNegotiateLoaderInfo { 46 - XrLoaderInterfaceStructs structType; // XR_LOADER_INTERFACE_STRUCT_LOADER_INFO 47 - uint32_t structVersion; // XR_LOADER_INFO_STRUCT_VERSION 48 - size_t structSize; // sizeof(XrNegotiateLoaderInfo) 49 - uint32_t minInterfaceVersion; 50 - uint32_t maxInterfaceVersion; 51 - XrVersion minApiVersion; 52 - XrVersion maxApiVersion; 53 - } XrNegotiateLoaderInfo; 54 - 55 - #define XR_API_LAYER_INFO_STRUCT_VERSION 1 56 - typedef struct XrNegotiateApiLayerRequest { 57 - XrLoaderInterfaceStructs structType; // XR_LOADER_INTERFACE_STRUCT_API_LAYER_REQUEST 58 - uint32_t structVersion; // XR_API_LAYER_INFO_STRUCT_VERSION 59 - size_t structSize; // sizeof(XrNegotiateApiLayerRequest) 60 - uint32_t layerInterfaceVersion; // CURRENT_LOADER_API_LAYER_VERSION 61 - XrVersion layerApiVersion; 62 - PFN_xrGetInstanceProcAddr getInstanceProcAddr; 63 - PFN_xrCreateApiLayerInstance createApiLayerInstance; 64 - } XrNegotiateApiLayerRequest; 65 - 66 - #define XR_RUNTIME_INFO_STRUCT_VERSION 1 67 - typedef struct XrNegotiateRuntimeRequest { 68 - XrLoaderInterfaceStructs structType; // XR_LOADER_INTERFACE_STRUCT_RUNTIME_REQUEST 69 - uint32_t structVersion; // XR_RUNTIME_INFO_STRUCT_VERSION 70 - size_t structSize; // sizeof(XrNegotiateRuntimeRequest) 71 - uint32_t runtimeInterfaceVersion; // CURRENT_LOADER_RUNTIME_VERSION 72 - XrVersion runtimeApiVersion; 73 - PFN_xrGetInstanceProcAddr getInstanceProcAddr; 74 - } XrNegotiateRuntimeRequest; 75 - 76 - // Function used to negotiate an interface betewen the loader and an API layer. Each library exposing one or 77 - // more API layers needs to expose at least this function. 78 - typedef XrResult(XRAPI_PTR *PFN_xrNegotiateLoaderApiLayerInterface)(const XrNegotiateLoaderInfo *loaderInfo, 79 - const char *apiLayerName, 80 - XrNegotiateApiLayerRequest *apiLayerRequest); 81 - 82 - // Function used to negotiate an interface betewen the loader and a runtime. Each runtime should expose 83 - // at least this function. 84 - typedef XrResult(XRAPI_PTR *PFN_xrNegotiateLoaderRuntimeInterface)(const XrNegotiateLoaderInfo *loaderInfo, 85 - XrNegotiateRuntimeRequest *runtimeRequest); 86 - 87 - // Forward declare. 88 - typedef struct XrApiLayerNextInfo XrApiLayerNextInfo; 89 - 90 - #define XR_API_LAYER_NEXT_INFO_STRUCT_VERSION 1 91 - struct XrApiLayerNextInfo { 92 - XrLoaderInterfaceStructs structType; // XR_LOADER_INTERFACE_STRUCT_API_LAYER_NEXT_INFO 93 - uint32_t structVersion; // XR_API_LAYER_NEXT_INFO_STRUCT_VERSION 94 - size_t structSize; // sizeof(XrApiLayerNextInfo) 95 - char layerName[XR_MAX_API_LAYER_NAME_SIZE]; // Name of API layer which should receive this info 96 - PFN_xrGetInstanceProcAddr nextGetInstanceProcAddr; // Pointer to next API layer's xrGetInstanceProcAddr 97 - PFN_xrCreateApiLayerInstance nextCreateApiLayerInstance; // Pointer to next API layer's xrCreateApiLayerInstance 98 - XrApiLayerNextInfo *next; // Pointer to the next API layer info in the sequence 99 - }; 100 - 101 - #define XR_API_LAYER_MAX_SETTINGS_PATH_SIZE 512 102 - #define XR_API_LAYER_CREATE_INFO_STRUCT_VERSION 1 103 - typedef struct XrApiLayerCreateInfo { 104 - XrLoaderInterfaceStructs structType; // XR_LOADER_INTERFACE_STRUCT_API_LAYER_CREATE_INFO 105 - uint32_t structVersion; // XR_API_LAYER_CREATE_INFO_STRUCT_VERSION 106 - size_t structSize; // sizeof(XrApiLayerCreateInfo) 107 - void *loaderInstance; // Pointer to the LoaderInstance class 108 - char settings_file_location[XR_API_LAYER_MAX_SETTINGS_PATH_SIZE]; // Location to the found settings file (or empty '\0') 109 - XrApiLayerNextInfo *nextInfo; // Pointer to the next API layer's Info 110 - } XrApiLayerCreateInfo; 111 - 112 - #ifdef __cplusplus 113 - } // extern "C" 114 - #endif
+3 -3
src/xrt/include/xrt/xrt_openxr_includes.h
··· 57 57 #include <time.h> 58 58 #endif 59 59 60 - #include "openxr/openxr.h" // IWYU pragma: export 61 - #include "openxr/openxr_platform.h" // IWYU pragma: export 62 - #include "openxr/loader_interfaces.h" // IWYU pragma: export 60 + #include "openxr/openxr.h" // IWYU pragma: export 61 + #include "openxr/openxr_platform.h" // IWYU pragma: export 62 + #include "openxr/openxr_loader_negotiation.h" // IWYU pragma: export 63 63 64 64 #include "openxr/XR_MNDX_hydra.h" 65 65 #include "openxr/XR_MNDX_system_buttons.h"