openxr: Sync with upstream 1.0.31, don't build obsolete dispatch table
This commit is contained in:
parent
2564026bcc
commit
f0b6677906
|
@ -70,7 +70,7 @@ if env["builtin_openxr"]:
|
|||
# On Android the openxr_loader is provided by separate plugins for each device
|
||||
# Build the engine using object files
|
||||
khrloader_obj = []
|
||||
env_thirdparty.add_source_files(khrloader_obj, thirdparty_dir + "/src/xr_generated_dispatch_table.c")
|
||||
env_thirdparty.add_source_files(khrloader_obj, thirdparty_dir + "/src/xr_generated_dispatch_table_core.c")
|
||||
|
||||
env_thirdparty.add_source_files(khrloader_obj, thirdparty_dir + "/src/common/filesystem_utils.cpp")
|
||||
env_thirdparty.add_source_files(khrloader_obj, thirdparty_dir + "/src/common/object_info.cpp")
|
||||
|
|
|
@ -672,7 +672,7 @@ with the provided patch.
|
|||
## openxr
|
||||
|
||||
- Upstream: https://github.com/KhronosGroup/OpenXR-SDK
|
||||
- Version: 1.0.28 (f5beb0131f1bea8701ace744d1b50df9049bf331, 2023)
|
||||
- Version: 1.0.31 (95fe35ffb383710a6e0567e958ead9a3b66e930c, 2023)
|
||||
- License: Apache 2.0
|
||||
|
||||
Files extracted from upstream source:
|
||||
|
@ -689,6 +689,7 @@ Files extracted from upstream source:
|
|||
Exclude:
|
||||
|
||||
- `src/external/android-jni-wrappers` and `src/external/jnipp` (not used yet)
|
||||
- Obsolete `src/xr_generated_dispatch_table.{c,h}`
|
||||
- All CMake stuff: `cmake/`, `CMakeLists.txt` and `*.cmake`
|
||||
- All Gradle stuff: `*gradle*`, `AndroidManifest.xml`
|
||||
- All following files (and their `.license` files):
|
||||
|
|
|
@ -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, 28)
|
||||
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 31)
|
||||
|
||||
#define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL)
|
||||
#define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL)
|
||||
|
@ -220,6 +220,7 @@ typedef enum XrResult {
|
|||
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_SCENE_MARKER_DATA_NOT_STRING_MSFT = 1000147000,
|
||||
XR_ERROR_SPACE_MAPPING_INSUFFICIENT_FB = -1000169000,
|
||||
XR_ERROR_SPACE_LOCALIZATION_FAILED_FB = -1000169001,
|
||||
XR_ERROR_SPACE_NETWORK_TIMEOUT_FB = -1000169002,
|
||||
|
@ -444,8 +445,14 @@ typedef enum XrStructureType {
|
|||
XR_TYPE_FRAME_END_INFO_ML = 1000135000,
|
||||
XR_TYPE_GLOBAL_DIMMER_FRAME_END_INFO_ML = 1000136000,
|
||||
XR_TYPE_COORDINATE_SPACE_CREATE_INFO_ML = 1000137000,
|
||||
XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML = 1000472000,
|
||||
XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML = 1000472001,
|
||||
XR_TYPE_USER_CALIBRATION_ENABLE_EVENTS_INFO_ML = 1000472002,
|
||||
XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT = 1000142000,
|
||||
XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT = 1000142001,
|
||||
XR_TYPE_SCENE_MARKERS_MSFT = 1000147000,
|
||||
XR_TYPE_SCENE_MARKER_TYPE_FILTER_MSFT = 1000147001,
|
||||
XR_TYPE_SCENE_MARKER_QR_CODES_MSFT = 1000147002,
|
||||
XR_TYPE_SPACE_QUERY_INFO_FB = 1000156001,
|
||||
XR_TYPE_SPACE_QUERY_RESULTS_FB = 1000156002,
|
||||
XR_TYPE_SPACE_STORAGE_LOCATION_FILTER_INFO_FB = 1000156003,
|
||||
|
@ -491,6 +498,7 @@ typedef enum XrStructureType {
|
|||
XR_TYPE_DEVICE_PCM_SAMPLE_RATE_STATE_FB = 1000209002,
|
||||
XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_FB = 1000212000,
|
||||
XR_TYPE_LOCAL_DIMMING_FRAME_END_INFO_META = 1000216000,
|
||||
XR_TYPE_PASSTHROUGH_PREFERENCES_META = 1000217000,
|
||||
XR_TYPE_SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META = 1000219001,
|
||||
XR_TYPE_VIRTUAL_KEYBOARD_CREATE_INFO_META = 1000219002,
|
||||
XR_TYPE_VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META = 1000219003,
|
||||
|
@ -1799,7 +1807,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrThermalGetTemperatureTrendEXT(
|
|||
|
||||
#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 5
|
||||
#define XR_EXT_DEBUG_UTILS_EXTENSION_NAME "XR_EXT_debug_utils"
|
||||
typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
|
||||
|
||||
|
@ -2115,9 +2123,9 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSetInputDeviceLocationEXT(
|
|||
|
||||
#define XR_MSFT_spatial_graph_bridge 1
|
||||
XR_DEFINE_HANDLE(XrSpatialGraphNodeBindingMSFT)
|
||||
#define XR_GUID_SIZE_MSFT 16
|
||||
#define XR_MSFT_spatial_graph_bridge_SPEC_VERSION 2
|
||||
#define XR_MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME "XR_MSFT_spatial_graph_bridge"
|
||||
#define XR_GUID_SIZE_MSFT 16
|
||||
|
||||
typedef enum XrSpatialGraphNodeTypeMSFT {
|
||||
XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT = 1,
|
||||
|
@ -2453,9 +2461,9 @@ typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT {
|
|||
#define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0
|
||||
|
||||
XR_DEFINE_ATOM(XrControllerModelKeyMSFT)
|
||||
#define XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT 64
|
||||
#define XR_MSFT_controller_model_SPEC_VERSION 2
|
||||
#define XR_MSFT_CONTROLLER_MODEL_EXTENSION_NAME "XR_MSFT_controller_model"
|
||||
#define XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT 64
|
||||
typedef struct XrControllerModelKeyStateMSFT {
|
||||
XrStructureType type;
|
||||
void* XR_MAY_ALIAS next;
|
||||
|
@ -2875,6 +2883,7 @@ typedef enum XrSceneComputeFeatureMSFT {
|
|||
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_MARKER_MSFT = 1000147000,
|
||||
XR_SCENE_COMPUTE_FEATURE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
||||
} XrSceneComputeFeatureMSFT;
|
||||
|
||||
|
@ -2900,6 +2909,7 @@ typedef enum XrSceneComponentTypeMSFT {
|
|||
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_MARKER_MSFT = 1000147000,
|
||||
XR_SCENE_COMPONENT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
||||
} XrSceneComponentTypeMSFT;
|
||||
|
||||
|
@ -3266,7 +3276,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB(
|
|||
|
||||
|
||||
#define XR_HTCX_vive_tracker_interaction 1
|
||||
#define XR_HTCX_vive_tracker_interaction_SPEC_VERSION 2
|
||||
#define XR_HTCX_vive_tracker_interaction_SPEC_VERSION 3
|
||||
#define XR_HTCX_VIVE_TRACKER_INTERACTION_EXTENSION_NAME "XR_HTCX_vive_tracker_interaction"
|
||||
typedef struct XrViveTrackerPathsHTCX {
|
||||
XrStructureType type;
|
||||
|
@ -3451,7 +3461,7 @@ typedef struct XrSystemColorSpacePropertiesFB {
|
|||
} XrSystemColorSpacePropertiesFB;
|
||||
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrEnumerateColorSpacesFB)(XrSession session, uint32_t colorSpaceCapacityInput, uint32_t* colorSpaceCountOutput, XrColorSpaceFB* colorSpaces);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession session, const XrColorSpaceFB colorspace);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession session, const XrColorSpaceFB colorSpace);
|
||||
|
||||
#ifndef XR_NO_PROTOTYPES
|
||||
#ifdef XR_EXTENSION_PROTOTYPES
|
||||
|
@ -3463,7 +3473,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateColorSpacesFB(
|
|||
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrSetColorSpaceFB(
|
||||
XrSession session,
|
||||
const XrColorSpaceFB colorspace);
|
||||
const XrColorSpaceFB colorSpace);
|
||||
#endif /* XR_EXTENSION_PROTOTYPES */
|
||||
#endif /* !XR_NO_PROTOTYPES */
|
||||
|
||||
|
@ -3756,9 +3766,9 @@ typedef struct XrFoveationLevelProfileCreateInfoFB {
|
|||
|
||||
|
||||
#define XR_FB_keyboard_tracking 1
|
||||
#define XR_MAX_KEYBOARD_TRACKING_NAME_SIZE_FB 128
|
||||
#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
|
||||
|
@ -3893,9 +3903,9 @@ XRAPI_ATTR XrResult XRAPI_CALL xrTriangleMeshEndVertexBufferUpdateFB(
|
|||
XR_DEFINE_HANDLE(XrPassthroughFB)
|
||||
XR_DEFINE_HANDLE(XrPassthroughLayerFB)
|
||||
XR_DEFINE_HANDLE(XrGeometryInstanceFB)
|
||||
#define XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB 256
|
||||
#define XR_FB_passthrough_SPEC_VERSION 3
|
||||
#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,
|
||||
|
@ -4084,9 +4094,9 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGeometryInstanceSetTransformFB(
|
|||
#define XR_NULL_RENDER_MODEL_KEY_FB 0
|
||||
|
||||
XR_DEFINE_ATOM(XrRenderModelKeyFB)
|
||||
#define XR_MAX_RENDER_MODEL_NAME_SIZE_FB 64
|
||||
#define XR_FB_render_model_SPEC_VERSION 4
|
||||
#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
|
||||
|
@ -4130,7 +4140,7 @@ typedef struct XrSystemRenderModelPropertiesFB {
|
|||
XrBool32 supportsRenderModelLoading;
|
||||
} XrSystemRenderModelPropertiesFB;
|
||||
|
||||
// XrRenderModelCapabilitiesRequestFB extends XrSystemProperties
|
||||
// XrRenderModelCapabilitiesRequestFB extends XrRenderModelPropertiesFB
|
||||
typedef struct XrRenderModelCapabilitiesRequestFB {
|
||||
XrStructureType type;
|
||||
void* XR_MAY_ALIAS next;
|
||||
|
@ -4243,7 +4253,7 @@ typedef struct 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_xrSetMarkerTrackingPredictionVARJO)(XrSession session, uint64_t markerId, XrBool32 enable);
|
||||
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);
|
||||
|
||||
|
@ -4261,7 +4271,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSetMarkerTrackingTimeoutVARJO(
|
|||
XRAPI_ATTR XrResult XRAPI_CALL xrSetMarkerTrackingPredictionVARJO(
|
||||
XrSession session,
|
||||
uint64_t markerId,
|
||||
XrBool32 enabled);
|
||||
XrBool32 enable);
|
||||
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrGetMarkerSizeVARJO(
|
||||
XrSession session,
|
||||
|
@ -4358,7 +4368,7 @@ typedef struct 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_xrEnumeratePersistedSpatialAnchorNamesMSFT)(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, uint32_t spatialAnchorNameCapacityInput, uint32_t* spatialAnchorNameCountOutput, XrSpatialAnchorPersistenceNameMSFT* spatialAnchorNames);
|
||||
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);
|
||||
|
@ -4378,9 +4388,9 @@ XRAPI_ATTR XrResult XRAPI_CALL xrPersistSpatialAnchorMSFT(
|
|||
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrEnumeratePersistedSpatialAnchorNamesMSFT(
|
||||
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore,
|
||||
uint32_t spatialAnchorNamesCapacityInput,
|
||||
uint32_t* spatialAnchorNamesCountOutput,
|
||||
XrSpatialAnchorPersistenceNameMSFT* persistedAnchorNames);
|
||||
uint32_t spatialAnchorNameCapacityInput,
|
||||
uint32_t* spatialAnchorNameCountOutput,
|
||||
XrSpatialAnchorPersistenceNameMSFT* spatialAnchorNames);
|
||||
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorFromPersistedNameMSFT(
|
||||
XrSession session,
|
||||
|
@ -4397,6 +4407,78 @@ XRAPI_ATTR XrResult XRAPI_CALL xrClearSpatialAnchorStoreMSFT(
|
|||
#endif /* !XR_NO_PROTOTYPES */
|
||||
|
||||
|
||||
#define XR_MSFT_scene_marker 1
|
||||
#define XR_MSFT_scene_marker_SPEC_VERSION 1
|
||||
#define XR_MSFT_SCENE_MARKER_EXTENSION_NAME "XR_MSFT_scene_marker"
|
||||
|
||||
typedef enum XrSceneMarkerTypeMSFT {
|
||||
XR_SCENE_MARKER_TYPE_QR_CODE_MSFT = 1,
|
||||
XR_SCENE_MARKER_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
||||
} XrSceneMarkerTypeMSFT;
|
||||
|
||||
typedef enum XrSceneMarkerQRCodeSymbolTypeMSFT {
|
||||
XR_SCENE_MARKER_QR_CODE_SYMBOL_TYPE_QR_CODE_MSFT = 1,
|
||||
XR_SCENE_MARKER_QR_CODE_SYMBOL_TYPE_MICRO_QR_CODE_MSFT = 2,
|
||||
XR_SCENE_MARKER_QRCODE_SYMBOL_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
|
||||
} XrSceneMarkerQRCodeSymbolTypeMSFT;
|
||||
typedef struct XrSceneMarkerMSFT {
|
||||
XrSceneMarkerTypeMSFT markerType;
|
||||
XrTime lastSeenTime;
|
||||
XrOffset2Df center;
|
||||
XrExtent2Df size;
|
||||
} XrSceneMarkerMSFT;
|
||||
|
||||
// XrSceneMarkersMSFT extends XrSceneComponentsMSFT
|
||||
typedef struct XrSceneMarkersMSFT {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
uint32_t sceneMarkerCapacityInput;
|
||||
XrSceneMarkerMSFT* sceneMarkers;
|
||||
} XrSceneMarkersMSFT;
|
||||
|
||||
// XrSceneMarkerTypeFilterMSFT extends XrSceneComponentsGetInfoMSFT
|
||||
typedef struct XrSceneMarkerTypeFilterMSFT {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
uint32_t markerTypeCount;
|
||||
XrSceneMarkerTypeMSFT* markerTypes;
|
||||
} XrSceneMarkerTypeFilterMSFT;
|
||||
|
||||
typedef struct XrSceneMarkerQRCodeMSFT {
|
||||
XrSceneMarkerQRCodeSymbolTypeMSFT symbolType;
|
||||
uint8_t version;
|
||||
} XrSceneMarkerQRCodeMSFT;
|
||||
|
||||
// XrSceneMarkerQRCodesMSFT extends XrSceneComponentsMSFT
|
||||
typedef struct XrSceneMarkerQRCodesMSFT {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
uint32_t qrCodeCapacityInput;
|
||||
XrSceneMarkerQRCodeMSFT* qrCodes;
|
||||
} XrSceneMarkerQRCodesMSFT;
|
||||
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrGetSceneMarkerRawDataMSFT)(XrSceneMSFT scene, const XrUuidMSFT* markerId, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, uint8_t* buffer);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrGetSceneMarkerDecodedStringMSFT)(XrSceneMSFT scene, const XrUuidMSFT* markerId, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, char* buffer);
|
||||
|
||||
#ifndef XR_NO_PROTOTYPES
|
||||
#ifdef XR_EXTENSION_PROTOTYPES
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrGetSceneMarkerRawDataMSFT(
|
||||
XrSceneMSFT scene,
|
||||
const XrUuidMSFT* markerId,
|
||||
uint32_t bufferCapacityInput,
|
||||
uint32_t* bufferCountOutput,
|
||||
uint8_t* buffer);
|
||||
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrGetSceneMarkerDecodedStringMSFT(
|
||||
XrSceneMSFT scene,
|
||||
const XrUuidMSFT* markerId,
|
||||
uint32_t bufferCapacityInput,
|
||||
uint32_t* bufferCountOutput,
|
||||
char* buffer);
|
||||
#endif /* XR_EXTENSION_PROTOTYPES */
|
||||
#endif /* !XR_NO_PROTOTYPES */
|
||||
|
||||
|
||||
#define XR_ULTRALEAP_hand_tracking_forearm 1
|
||||
|
||||
#define XR_HAND_FOREARM_JOINT_COUNT_ULTRALEAP 27
|
||||
|
@ -5238,6 +5320,31 @@ typedef struct XrLocalDimmingFrameEndInfoMETA {
|
|||
|
||||
|
||||
|
||||
#define XR_META_passthrough_preferences 1
|
||||
#define XR_META_passthrough_preferences_SPEC_VERSION 1
|
||||
#define XR_META_PASSTHROUGH_PREFERENCES_EXTENSION_NAME "XR_META_passthrough_preferences"
|
||||
typedef XrFlags64 XrPassthroughPreferenceFlagsMETA;
|
||||
|
||||
// Flag bits for XrPassthroughPreferenceFlagsMETA
|
||||
static const XrPassthroughPreferenceFlagsMETA XR_PASSTHROUGH_PREFERENCE_DEFAULT_TO_ACTIVE_BIT_META = 0x00000001;
|
||||
|
||||
typedef struct XrPassthroughPreferencesMETA {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
XrPassthroughPreferenceFlagsMETA flags;
|
||||
} XrPassthroughPreferencesMETA;
|
||||
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrGetPassthroughPreferencesMETA)(XrSession session, XrPassthroughPreferencesMETA* preferences);
|
||||
|
||||
#ifndef XR_NO_PROTOTYPES
|
||||
#ifdef XR_EXTENSION_PROTOTYPES
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrGetPassthroughPreferencesMETA(
|
||||
XrSession session,
|
||||
XrPassthroughPreferencesMETA* preferences);
|
||||
#endif /* XR_EXTENSION_PROTOTYPES */
|
||||
#endif /* !XR_NO_PROTOTYPES */
|
||||
|
||||
|
||||
#define XR_META_virtual_keyboard 1
|
||||
XR_DEFINE_HANDLE(XrVirtualKeyboardMETA)
|
||||
#define XR_MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META 3992
|
||||
|
@ -5934,7 +6041,7 @@ XRAPI_ATTR XrResult XRAPI_CALL xrApplyForceFeedbackCurlMNDX(
|
|||
|
||||
|
||||
#define XR_BD_controller_interaction 1
|
||||
#define XR_BD_controller_interaction_SPEC_VERSION 1
|
||||
#define XR_BD_controller_interaction_SPEC_VERSION 2
|
||||
#define XR_BD_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_BD_controller_interaction"
|
||||
|
||||
|
||||
|
@ -6128,6 +6235,60 @@ XRAPI_ATTR XrResult XRAPI_CALL xrGetPlanePolygonBufferEXT(
|
|||
#define XR_OPPO_controller_interaction_SPEC_VERSION 1
|
||||
#define XR_OPPO_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_OPPO_controller_interaction"
|
||||
|
||||
|
||||
#define XR_ML_user_calibration 1
|
||||
#define XR_ML_user_calibration_SPEC_VERSION 1
|
||||
#define XR_ML_USER_CALIBRATION_EXTENSION_NAME "XR_ML_user_calibration"
|
||||
|
||||
typedef enum XrHeadsetFitStatusML {
|
||||
XR_HEADSET_FIT_STATUS_UNKNOWN_ML = 0,
|
||||
XR_HEADSET_FIT_STATUS_NOT_WORN_ML = 1,
|
||||
XR_HEADSET_FIT_STATUS_GOOD_FIT_ML = 2,
|
||||
XR_HEADSET_FIT_STATUS_BAD_FIT_ML = 3,
|
||||
XR_HEADSET_FIT_STATUS_MAX_ENUM_ML = 0x7FFFFFFF
|
||||
} XrHeadsetFitStatusML;
|
||||
|
||||
typedef enum XrEyeCalibrationStatusML {
|
||||
XR_EYE_CALIBRATION_STATUS_UNKNOWN_ML = 0,
|
||||
XR_EYE_CALIBRATION_STATUS_NONE_ML = 1,
|
||||
XR_EYE_CALIBRATION_STATUS_COARSE_ML = 2,
|
||||
XR_EYE_CALIBRATION_STATUS_FINE_ML = 3,
|
||||
XR_EYE_CALIBRATION_STATUS_MAX_ENUM_ML = 0x7FFFFFFF
|
||||
} XrEyeCalibrationStatusML;
|
||||
typedef struct XrEventDataHeadsetFitChangedML {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
XrHeadsetFitStatusML status;
|
||||
XrTime time;
|
||||
} XrEventDataHeadsetFitChangedML;
|
||||
|
||||
typedef struct XrEventDataEyeCalibrationChangedML {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
XrEyeCalibrationStatusML status;
|
||||
} XrEventDataEyeCalibrationChangedML;
|
||||
|
||||
typedef struct XrUserCalibrationEnableEventsInfoML {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
XrBool32 enabled;
|
||||
} XrUserCalibrationEnableEventsInfoML;
|
||||
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrEnableUserCalibrationEventsML)(XrInstance instance, const XrUserCalibrationEnableEventsInfoML* enableInfo);
|
||||
|
||||
#ifndef XR_NO_PROTOTYPES
|
||||
#ifdef XR_EXTENSION_PROTOTYPES
|
||||
XRAPI_ATTR XrResult XRAPI_CALL xrEnableUserCalibrationEventsML(
|
||||
XrInstance instance,
|
||||
const XrUserCalibrationEnableEventsInfoML* enableInfo);
|
||||
#endif /* XR_EXTENSION_PROTOTYPES */
|
||||
#endif /* !XR_NO_PROTOTYPES */
|
||||
|
||||
|
||||
#define XR_YVR_controller_interaction 1
|
||||
#define XR_YVR_controller_interaction_SPEC_VERSION 1
|
||||
#define XR_YVR_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_YVR_controller_interaction"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -491,11 +491,12 @@ 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"
|
||||
typedef PFN_xrVoidFunction (*PFN_xrEglGetProcAddressMNDX)(const char *name);
|
||||
// XrGraphicsBindingEGLMNDX extends XrSessionCreateInfo
|
||||
typedef struct XrGraphicsBindingEGLMNDX {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
PFNEGLGETPROCADDRESSPROC getProcAddress;
|
||||
PFN_xrEglGetProcAddressMNDX getProcAddress;
|
||||
EGLDisplay display;
|
||||
EGLConfig config;
|
||||
EGLContext context;
|
||||
|
|
|
@ -116,6 +116,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(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_SCENE_MARKER_DATA_NOT_STRING_MSFT, 1000147000) \
|
||||
_(XR_ERROR_SPACE_MAPPING_INSUFFICIENT_FB, -1000169000) \
|
||||
_(XR_ERROR_SPACE_LOCALIZATION_FAILED_FB, -1000169001) \
|
||||
_(XR_ERROR_SPACE_NETWORK_TIMEOUT_FB, -1000169002) \
|
||||
|
@ -339,8 +340,14 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_TYPE_FRAME_END_INFO_ML, 1000135000) \
|
||||
_(XR_TYPE_GLOBAL_DIMMER_FRAME_END_INFO_ML, 1000136000) \
|
||||
_(XR_TYPE_COORDINATE_SPACE_CREATE_INFO_ML, 1000137000) \
|
||||
_(XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML, 1000472000) \
|
||||
_(XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML, 1000472001) \
|
||||
_(XR_TYPE_USER_CALIBRATION_ENABLE_EVENTS_INFO_ML, 1000472002) \
|
||||
_(XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT, 1000142000) \
|
||||
_(XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT, 1000142001) \
|
||||
_(XR_TYPE_SCENE_MARKERS_MSFT, 1000147000) \
|
||||
_(XR_TYPE_SCENE_MARKER_TYPE_FILTER_MSFT, 1000147001) \
|
||||
_(XR_TYPE_SCENE_MARKER_QR_CODES_MSFT, 1000147002) \
|
||||
_(XR_TYPE_SPACE_QUERY_INFO_FB, 1000156001) \
|
||||
_(XR_TYPE_SPACE_QUERY_RESULTS_FB, 1000156002) \
|
||||
_(XR_TYPE_SPACE_STORAGE_LOCATION_FILTER_INFO_FB, 1000156003) \
|
||||
|
@ -386,6 +393,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_TYPE_DEVICE_PCM_SAMPLE_RATE_STATE_FB, 1000209002) \
|
||||
_(XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_FB, 1000212000) \
|
||||
_(XR_TYPE_LOCAL_DIMMING_FRAME_END_INFO_META, 1000216000) \
|
||||
_(XR_TYPE_PASSTHROUGH_PREFERENCES_META, 1000217000) \
|
||||
_(XR_TYPE_SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META, 1000219001) \
|
||||
_(XR_TYPE_VIRTUAL_KEYBOARD_CREATE_INFO_META, 1000219002) \
|
||||
_(XR_TYPE_VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META, 1000219003) \
|
||||
|
@ -711,6 +719,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(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_MARKER_MSFT, 1000147000) \
|
||||
_(XR_SCENE_COMPUTE_FEATURE_MAX_ENUM_MSFT, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrSceneComputeConsistencyMSFT(_) \
|
||||
|
@ -733,6 +742,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(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_MARKER_MSFT, 1000147000) \
|
||||
_(XR_SCENE_COMPONENT_TYPE_MAX_ENUM_MSFT, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrSceneObjectTypeMSFT(_) \
|
||||
|
@ -867,6 +877,15 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS_FB, 1000203002) \
|
||||
_(XR_PASSTHROUGH_LAYER_PURPOSE_MAX_ENUM_FB, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrSceneMarkerTypeMSFT(_) \
|
||||
_(XR_SCENE_MARKER_TYPE_QR_CODE_MSFT, 1) \
|
||||
_(XR_SCENE_MARKER_TYPE_MAX_ENUM_MSFT, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrSceneMarkerQRCodeSymbolTypeMSFT(_) \
|
||||
_(XR_SCENE_MARKER_QR_CODE_SYMBOL_TYPE_QR_CODE_MSFT, 1) \
|
||||
_(XR_SCENE_MARKER_QR_CODE_SYMBOL_TYPE_MICRO_QR_CODE_MSFT, 2) \
|
||||
_(XR_SCENE_MARKER_QRCODE_SYMBOL_TYPE_MAX_ENUM_MSFT, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrHandForearmJointULTRALEAP(_) \
|
||||
_(XR_HAND_FOREARM_JOINT_PALM_ULTRALEAP, 0) \
|
||||
_(XR_HAND_FOREARM_JOINT_WRIST_ULTRALEAP, 1) \
|
||||
|
@ -1115,6 +1134,20 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_PLANE_DETECTION_STATE_FATAL_EXT, 4) \
|
||||
_(XR_PLANE_DETECTION_STATE_MAX_ENUM_EXT, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrHeadsetFitStatusML(_) \
|
||||
_(XR_HEADSET_FIT_STATUS_UNKNOWN_ML, 0) \
|
||||
_(XR_HEADSET_FIT_STATUS_NOT_WORN_ML, 1) \
|
||||
_(XR_HEADSET_FIT_STATUS_GOOD_FIT_ML, 2) \
|
||||
_(XR_HEADSET_FIT_STATUS_BAD_FIT_ML, 3) \
|
||||
_(XR_HEADSET_FIT_STATUS_MAX_ENUM_ML, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_ENUM_XrEyeCalibrationStatusML(_) \
|
||||
_(XR_EYE_CALIBRATION_STATUS_UNKNOWN_ML, 0) \
|
||||
_(XR_EYE_CALIBRATION_STATUS_NONE_ML, 1) \
|
||||
_(XR_EYE_CALIBRATION_STATUS_COARSE_ML, 2) \
|
||||
_(XR_EYE_CALIBRATION_STATUS_FINE_ML, 3) \
|
||||
_(XR_EYE_CALIBRATION_STATUS_MAX_ENUM_ML, 0x7FFFFFFF)
|
||||
|
||||
#define XR_LIST_BITS_XrInstanceCreateFlags(_)
|
||||
|
||||
#define XR_LIST_BITS_XrSessionCreateFlags(_)
|
||||
|
@ -1269,6 +1302,9 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SHARPENING_BIT_FB, 0x00000004) \
|
||||
_(XR_COMPOSITION_LAYER_SETTINGS_QUALITY_SHARPENING_BIT_FB, 0x00000008) \
|
||||
|
||||
#define XR_LIST_BITS_XrPassthroughPreferenceFlagsMETA(_) \
|
||||
_(XR_PASSTHROUGH_PREFERENCE_DEFAULT_TO_ACTIVE_BIT_META, 0x00000001) \
|
||||
|
||||
#define XR_LIST_BITS_XrVirtualKeyboardInputStateFlagsMETA(_) \
|
||||
_(XR_VIRTUAL_KEYBOARD_INPUT_STATE_PRESSED_BIT_META, 0x00000001) \
|
||||
|
||||
|
@ -3194,6 +3230,39 @@ XR_ENUM_STR(XrResult);
|
|||
_(spatialAnchorStore) \
|
||||
_(spatialAnchorPersistenceName) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSceneMarkerMSFT, in order.
|
||||
#define XR_LIST_STRUCT_XrSceneMarkerMSFT(_) \
|
||||
_(markerType) \
|
||||
_(lastSeenTime) \
|
||||
_(center) \
|
||||
_(size) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSceneMarkersMSFT, in order.
|
||||
#define XR_LIST_STRUCT_XrSceneMarkersMSFT(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(sceneMarkerCapacityInput) \
|
||||
_(sceneMarkers) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSceneMarkerTypeFilterMSFT, in order.
|
||||
#define XR_LIST_STRUCT_XrSceneMarkerTypeFilterMSFT(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(markerTypeCount) \
|
||||
_(markerTypes) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSceneMarkerQRCodeMSFT, in order.
|
||||
#define XR_LIST_STRUCT_XrSceneMarkerQRCodeMSFT(_) \
|
||||
_(symbolType) \
|
||||
_(version) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSceneMarkerQRCodesMSFT, in order.
|
||||
#define XR_LIST_STRUCT_XrSceneMarkerQRCodesMSFT(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(qrCodeCapacityInput) \
|
||||
_(qrCodes) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSpaceQueryInfoBaseHeaderFB, in order.
|
||||
#define XR_LIST_STRUCT_XrSpaceQueryInfoBaseHeaderFB(_) \
|
||||
_(type) \
|
||||
|
@ -3588,6 +3657,12 @@ XR_ENUM_STR(XrResult);
|
|||
_(next) \
|
||||
_(localDimmingMode) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrPassthroughPreferencesMETA, in order.
|
||||
#define XR_LIST_STRUCT_XrPassthroughPreferencesMETA(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(flags) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrSystemVirtualKeyboardPropertiesMETA, in order.
|
||||
#define XR_LIST_STRUCT_XrSystemVirtualKeyboardPropertiesMETA(_) \
|
||||
_(type) \
|
||||
|
@ -3978,6 +4053,25 @@ XR_ENUM_STR(XrResult);
|
|||
_(vertexCountOutput) \
|
||||
_(vertices) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrEventDataHeadsetFitChangedML, in order.
|
||||
#define XR_LIST_STRUCT_XrEventDataHeadsetFitChangedML(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(status) \
|
||||
_(time) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrEventDataEyeCalibrationChangedML, in order.
|
||||
#define XR_LIST_STRUCT_XrEventDataEyeCalibrationChangedML(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(status) \
|
||||
|
||||
/// Calls your macro with the name of each member of XrUserCalibrationEnableEventsInfoML, in order.
|
||||
#define XR_LIST_STRUCT_XrUserCalibrationEnableEventsInfoML(_) \
|
||||
_(type) \
|
||||
_(next) \
|
||||
_(enabled) \
|
||||
|
||||
|
||||
|
||||
/// Calls your macro with the structure type name and the XrStructureType constant for
|
||||
|
@ -4186,6 +4280,9 @@ XR_ENUM_STR(XrResult);
|
|||
_(XrGlobalDimmerFrameEndInfoML, XR_TYPE_GLOBAL_DIMMER_FRAME_END_INFO_ML) \
|
||||
_(XrSpatialAnchorPersistenceInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT) \
|
||||
_(XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT) \
|
||||
_(XrSceneMarkersMSFT, XR_TYPE_SCENE_MARKERS_MSFT) \
|
||||
_(XrSceneMarkerTypeFilterMSFT, XR_TYPE_SCENE_MARKER_TYPE_FILTER_MSFT) \
|
||||
_(XrSceneMarkerQRCodesMSFT, XR_TYPE_SCENE_MARKER_QR_CODES_MSFT) \
|
||||
_(XrSpaceQueryInfoFB, XR_TYPE_SPACE_QUERY_INFO_FB) \
|
||||
_(XrSpaceStorageLocationFilterInfoFB, XR_TYPE_SPACE_STORAGE_LOCATION_FILTER_INFO_FB) \
|
||||
_(XrSpaceUuidFilterInfoFB, XR_TYPE_SPACE_UUID_FILTER_INFO_FB) \
|
||||
|
@ -4227,6 +4324,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(XrDevicePcmSampleRateStateFB, XR_TYPE_DEVICE_PCM_SAMPLE_RATE_STATE_FB) \
|
||||
_(XrCompositionLayerDepthTestFB, XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_FB) \
|
||||
_(XrLocalDimmingFrameEndInfoMETA, XR_TYPE_LOCAL_DIMMING_FRAME_END_INFO_META) \
|
||||
_(XrPassthroughPreferencesMETA, XR_TYPE_PASSTHROUGH_PREFERENCES_META) \
|
||||
_(XrSystemVirtualKeyboardPropertiesMETA, XR_TYPE_SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META) \
|
||||
_(XrVirtualKeyboardCreateInfoMETA, XR_TYPE_VIRTUAL_KEYBOARD_CREATE_INFO_META) \
|
||||
_(XrVirtualKeyboardSpaceCreateInfoMETA, XR_TYPE_VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META) \
|
||||
|
@ -4273,6 +4371,9 @@ XR_ENUM_STR(XrResult);
|
|||
_(XrPlaneDetectorLocationEXT, XR_TYPE_PLANE_DETECTOR_LOCATION_EXT) \
|
||||
_(XrPlaneDetectorLocationsEXT, XR_TYPE_PLANE_DETECTOR_LOCATIONS_EXT) \
|
||||
_(XrPlaneDetectorPolygonBufferEXT, XR_TYPE_PLANE_DETECTOR_POLYGON_BUFFER_EXT) \
|
||||
_(XrEventDataHeadsetFitChangedML, XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML) \
|
||||
_(XrEventDataEyeCalibrationChangedML, XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML) \
|
||||
_(XrUserCalibrationEnableEventsInfoML, XR_TYPE_USER_CALIBRATION_ENABLE_EVENTS_INFO_ML) \
|
||||
|
||||
|
||||
#if defined(XR_USE_GRAPHICS_API_D3D11)
|
||||
|
@ -4529,6 +4630,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_ML_global_dimmer, 137) \
|
||||
_(XR_ML_compat, 138) \
|
||||
_(XR_MSFT_spatial_anchor_persistence, 143) \
|
||||
_(XR_MSFT_scene_marker, 148) \
|
||||
_(XR_ULTRALEAP_hand_tracking_forearm, 150) \
|
||||
_(XR_FB_spatial_entity_query, 157) \
|
||||
_(XR_FB_spatial_entity_storage, 159) \
|
||||
|
@ -4556,6 +4658,7 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_FB_haptic_pcm, 210) \
|
||||
_(XR_FB_composition_layer_depth_test, 213) \
|
||||
_(XR_META_local_dimming, 217) \
|
||||
_(XR_META_passthrough_preferences, 218) \
|
||||
_(XR_META_virtual_keyboard, 220) \
|
||||
_(XR_OCULUS_external_camera, 227) \
|
||||
_(XR_META_vulkan_swapchain_create_info, 228) \
|
||||
|
@ -4576,6 +4679,8 @@ XR_ENUM_STR(XrResult);
|
|||
_(XR_EXT_hand_tracking_data_source, 429) \
|
||||
_(XR_EXT_plane_detection, 430) \
|
||||
_(XR_OPPO_controller_interaction, 454) \
|
||||
_(XR_ML_user_calibration, 473) \
|
||||
_(XR_YVR_controller_interaction, 498) \
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -64,6 +64,8 @@ This file contains expansion macros (X Macros) for OpenXR structures that have a
|
|||
_avail(XrEventDataSpaceEraseCompleteFB, XR_TYPE_EVENT_DATA_SPACE_ERASE_COMPLETE_FB) \
|
||||
_avail(XrEventDataSpaceShareCompleteFB, XR_TYPE_EVENT_DATA_SPACE_SHARE_COMPLETE_FB) \
|
||||
_avail(XrEventDataSpaceListSaveCompleteFB, XR_TYPE_EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB) \
|
||||
_avail(XrEventDataHeadsetFitChangedML, XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML) \
|
||||
_avail(XrEventDataEyeCalibrationChangedML, XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML) \
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -227,6 +227,9 @@ This file contains expansion macros (X Macros) for OpenXR structures.
|
|||
_avail(XrGlobalDimmerFrameEndInfoML, XR_TYPE_GLOBAL_DIMMER_FRAME_END_INFO_ML) \
|
||||
_avail(XrSpatialAnchorPersistenceInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT) \
|
||||
_avail(XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT) \
|
||||
_avail(XrSceneMarkersMSFT, XR_TYPE_SCENE_MARKERS_MSFT) \
|
||||
_avail(XrSceneMarkerTypeFilterMSFT, XR_TYPE_SCENE_MARKER_TYPE_FILTER_MSFT) \
|
||||
_avail(XrSceneMarkerQRCodesMSFT, XR_TYPE_SCENE_MARKER_QR_CODES_MSFT) \
|
||||
_avail(XrSpaceQueryInfoFB, XR_TYPE_SPACE_QUERY_INFO_FB) \
|
||||
_avail(XrSpaceStorageLocationFilterInfoFB, XR_TYPE_SPACE_STORAGE_LOCATION_FILTER_INFO_FB) \
|
||||
_avail(XrSpaceUuidFilterInfoFB, XR_TYPE_SPACE_UUID_FILTER_INFO_FB) \
|
||||
|
@ -268,6 +271,7 @@ This file contains expansion macros (X Macros) for OpenXR structures.
|
|||
_avail(XrDevicePcmSampleRateStateFB, XR_TYPE_DEVICE_PCM_SAMPLE_RATE_STATE_FB) \
|
||||
_avail(XrCompositionLayerDepthTestFB, XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_FB) \
|
||||
_avail(XrLocalDimmingFrameEndInfoMETA, XR_TYPE_LOCAL_DIMMING_FRAME_END_INFO_META) \
|
||||
_avail(XrPassthroughPreferencesMETA, XR_TYPE_PASSTHROUGH_PREFERENCES_META) \
|
||||
_avail(XrSystemVirtualKeyboardPropertiesMETA, XR_TYPE_SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META) \
|
||||
_avail(XrVirtualKeyboardCreateInfoMETA, XR_TYPE_VIRTUAL_KEYBOARD_CREATE_INFO_META) \
|
||||
_avail(XrVirtualKeyboardSpaceCreateInfoMETA, XR_TYPE_VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META) \
|
||||
|
@ -314,6 +318,9 @@ This file contains expansion macros (X Macros) for OpenXR structures.
|
|||
_avail(XrPlaneDetectorLocationEXT, XR_TYPE_PLANE_DETECTOR_LOCATION_EXT) \
|
||||
_avail(XrPlaneDetectorLocationsEXT, XR_TYPE_PLANE_DETECTOR_LOCATIONS_EXT) \
|
||||
_avail(XrPlaneDetectorPolygonBufferEXT, XR_TYPE_PLANE_DETECTOR_POLYGON_BUFFER_EXT) \
|
||||
_avail(XrEventDataHeadsetFitChangedML, XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML) \
|
||||
_avail(XrEventDataEyeCalibrationChangedML, XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML) \
|
||||
_avail(XrUserCalibrationEnableEventsInfoML, XR_TYPE_USER_CALIBRATION_ENABLE_EVENTS_INFO_ML) \
|
||||
|
||||
|
||||
#if defined(XR_USE_GRAPHICS_API_D3D11)
|
||||
|
|
|
@ -37,6 +37,44 @@
|
|||
#include "common_config.h"
|
||||
#endif // OPENXR_HAVE_COMMON_CONFIG
|
||||
|
||||
#if defined(__x86_64__) && defined(__ILP32__)
|
||||
#define XR_ARCH_ABI "x32"
|
||||
#elif defined(_M_X64) || defined(__x86_64__)
|
||||
#define XR_ARCH_ABI "x86_64"
|
||||
#elif defined(_M_IX86) || defined(__i386__) || defined(_X86_)
|
||||
#define XR_ARCH_ABI "i686"
|
||||
#elif (defined(__aarch64__) && defined(__LP64__)) || defined(_M_ARM64)
|
||||
#define XR_ARCH_ABI "aarch64"
|
||||
#elif (defined(__ARM_ARCH) && __ARM_ARCH >= 7 && (defined(__ARM_PCS_VFP) || defined(__ANDROID__))) || defined(_M_ARM)
|
||||
#define XR_ARCH_ABI "armv7a-vfp"
|
||||
#elif defined(__ARM_ARCH_5TE__)
|
||||
#define XR_ARCH_ABI "armv5te"
|
||||
#elif defined(__mips64)
|
||||
#define XR_ARCH_ABI "mips64"
|
||||
#elif defined(__mips)
|
||||
#define XR_ARCH_ABI "mips"
|
||||
#elif defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
#define XR_ARCH_ABI "ppc64"
|
||||
#elif defined(__powerpc__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
#define XR_ARCH_ABI "ppc64el"
|
||||
#elif defined(__s390x__) || defined(__zarch__)
|
||||
#define XR_ARCH_ABI "s390x"
|
||||
#elif defined(__hppa__)
|
||||
#define XR_ARCH_ABI "hppa"
|
||||
#elif defined(__alpha__)
|
||||
#define XR_ARCH_ABI "alpha"
|
||||
#elif defined(__ia64__) || defined(_M_IA64)
|
||||
#define XR_ARCH_ABI "ia64"
|
||||
#elif defined(__m68k__)
|
||||
#define XR_ARCH_ABI "m68k"
|
||||
#elif defined(__riscv_xlen) && (__riscv_xlen == 64)
|
||||
#define XR_ARCH_ABI "riscv64"
|
||||
#elif defined(__sparc__) && defined(__arch64__)
|
||||
#define XR_ARCH_ABI "sparc64"
|
||||
#else
|
||||
#error "No architecture string known!"
|
||||
#endif
|
||||
|
||||
// Consumers of this file must ensure this function is implemented. For example, the loader will implement this function so that it
|
||||
// can route messages through the loader's logging system.
|
||||
void LogPlatformUtilsError(const std::string& message);
|
||||
|
@ -47,6 +85,7 @@ void LogPlatformUtilsError(const std::string& message);
|
|||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <iostream>
|
||||
#include <sys/stat.h>
|
||||
|
||||
namespace detail {
|
||||
|
||||
|
@ -72,6 +111,31 @@ static inline char* ImplGetSecureEnv(const char* name) {
|
|||
} // namespace detail
|
||||
|
||||
#endif // defined(XR_OS_LINUX) || defined(XR_OS_APPLE)
|
||||
|
||||
#if defined(XR_OS_ANDROID) || defined(XR_OS_APPLE)
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
namespace detail {
|
||||
|
||||
static inline bool ImplTryRuntimeFilename(const char* rt_dir_prefix, uint16_t major_version, std::string& file_name) {
|
||||
auto decorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime." XR_ARCH_ABI ".json";
|
||||
auto undecorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime.json";
|
||||
|
||||
struct stat buf {};
|
||||
if (0 == stat(decorated_path.c_str(), &buf)) {
|
||||
file_name = decorated_path;
|
||||
return true;
|
||||
}
|
||||
if (0 == stat(undecorated_path.c_str(), &buf)) {
|
||||
file_name = undecorated_path;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace detail
|
||||
#endif // defined(XR_OS_ANDROID) || defined(XR_OS_APPLE)
|
||||
#if defined(XR_OS_LINUX)
|
||||
|
||||
static inline std::string PlatformUtilsGetEnv(const char* name) {
|
||||
|
@ -130,15 +194,8 @@ static inline bool PlatformUtilsSetEnv(const char* name, const char* value) {
|
|||
return (result == 0);
|
||||
}
|
||||
|
||||
// Prefix for the Apple global runtime JSON file name
|
||||
static const std::string rt_dir_prefix = "/usr/local/share/openxr/";
|
||||
static const std::string rt_filename = "/active_runtime.json";
|
||||
|
||||
static inline bool PlatformGetGlobalRuntimeFileName(uint16_t major_version, std::string& file_name) {
|
||||
file_name = rt_dir_prefix;
|
||||
file_name += std::to_string(major_version);
|
||||
file_name += rt_filename;
|
||||
return true;
|
||||
return detail::ImplTryRuntimeFilename("/usr/local/share/openxr/", major_version, file_name);
|
||||
}
|
||||
|
||||
#elif defined(XR_OS_WINDOWS)
|
||||
|
@ -155,7 +212,7 @@ inline std::wstring utf8_to_wide(const std::string& utf8Text) {
|
|||
return {};
|
||||
}
|
||||
|
||||
// MultiByteToWideChar returns number of chars of the input buffer, regardless of null terminitor
|
||||
// MultiByteToWideChar returns number of chars of the input buffer, regardless of null terminator
|
||||
wideText.resize(wideLength, 0);
|
||||
wchar_t* wideString = const_cast<wchar_t*>(wideText.data()); // mutable data() only exists in c++17
|
||||
const int length = ::MultiByteToWideChar(CP_UTF8, 0, utf8Text.data(), (int)utf8Text.size(), wideString, wideLength);
|
||||
|
@ -179,7 +236,7 @@ inline std::string wide_to_utf8(const std::wstring& wideText) {
|
|||
return {};
|
||||
}
|
||||
|
||||
// WideCharToMultiByte returns number of chars of the input buffer, regardless of null terminitor
|
||||
// WideCharToMultiByte returns number of chars of the input buffer, regardless of null terminator
|
||||
narrowText.resize(narrowLength, 0);
|
||||
char* narrowString = const_cast<char*>(narrowText.data()); // mutable data() only exists in c++17
|
||||
const int length =
|
||||
|
@ -311,22 +368,19 @@ static inline bool PlatformUtilsSetEnv(const char* /* name */, const char* /* va
|
|||
return false;
|
||||
}
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
// Intended to be only used as a fallback on Android, with a more open, "native" technique used in most cases
|
||||
static inline bool PlatformGetGlobalRuntimeFileName(uint16_t major_version, std::string& file_name) {
|
||||
// Prefix for the runtime JSON file name
|
||||
static const char* rt_dir_prefixes[] = {"/product", "/odm", "/oem", "/vendor", "/system"};
|
||||
static const std::string rt_filename = "/active_runtime.json";
|
||||
|
||||
static const std::string subdir = "/etc/openxr/";
|
||||
for (const auto prefix : rt_dir_prefixes) {
|
||||
auto path = prefix + subdir + std::to_string(major_version) + rt_filename;
|
||||
struct stat buf;
|
||||
if (0 == stat(path.c_str(), &buf)) {
|
||||
file_name = path;
|
||||
const std::string rt_dir_prefix = prefix + subdir;
|
||||
if (detail::ImplTryRuntimeFilename(rt_dir_prefix.c_str(), major_version, file_name)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#else // Not Linux, Apple, nor Windows
|
||||
|
|
|
@ -76,7 +76,10 @@
|
|||
#include "wayland-client.h"
|
||||
#endif // XR_USE_PLATFORM_WAYLAND
|
||||
|
||||
#ifdef XR_USE_GRAPHICS_API_OPENGL
|
||||
#ifdef XR_USE_PLATFORM_EGL
|
||||
#include <EGL/egl.h>
|
||||
#endif // XR_USE_PLATFORM_EGL
|
||||
|
||||
#if defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
|
||||
#ifdef Success
|
||||
#undef Success
|
||||
|
@ -90,4 +93,3 @@
|
|||
#undef None
|
||||
#endif // None
|
||||
#endif // defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
|
||||
#endif // XR_USE_GRAPHICS_API_OPENGL
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Copyright (c) 2017 The Khronos Group Inc.
|
||||
// Copyright (c) 2016 Oculus VR, LLC.
|
||||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2016, Oculus VR, LLC.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
@ -23,14 +23,16 @@
|
|||
|
||||
#include <openxr/openxr.h>
|
||||
|
||||
/* REUSE-IgnoreStart */
|
||||
/* The following has copyright notices that duplicate the header above */
|
||||
|
||||
/*
|
||||
================================================================================================
|
||||
|
||||
Description : Vector, matrix and quaternion math.
|
||||
Author : J.M.P. van Waveren
|
||||
Date : 12/10/2016
|
||||
Orig. Author : J.M.P. van Waveren
|
||||
Orig. Date : 12/10/2016
|
||||
Language : C99
|
||||
Format : Indent 4 spaces - no tabs.
|
||||
Copyright : Copyright (c) 2016 Oculus VR, LLC. All Rights reserved.
|
||||
|
||||
|
||||
|
@ -145,6 +147,8 @@ inline static float XrRcpSqrt(const float x) {
|
|||
return rcp;
|
||||
}
|
||||
|
||||
inline static float XrVector2f_Length(const XrVector2f* v) { return sqrtf(v->x * v->x + v->y * v->y); }
|
||||
|
||||
inline static void XrVector3f_Set(XrVector3f* v, const float value) {
|
||||
v->x = value;
|
||||
v->y = value;
|
||||
|
|
|
@ -237,12 +237,13 @@ XrResult ApiLayerInterface::LoadApiLayers(const std::string& openxr_command, uin
|
|||
for (const auto& layer_name : enabled_explicit_api_layer_names) {
|
||||
bool found_this_layer = false;
|
||||
|
||||
if (layers_already_found.count(layer_name) > 0) {
|
||||
found_this_layer = true;
|
||||
} else {
|
||||
for (auto it = explicit_layer_manifest_files.begin(); it != explicit_layer_manifest_files.end();) {
|
||||
bool erased_layer_manifest_file = false;
|
||||
|
||||
if (layers_already_found.count(layer_name) > 0) {
|
||||
found_this_layer = true;
|
||||
} else if (layer_name == (*it)->LayerName()) {
|
||||
if (layer_name == (*it)->LayerName()) {
|
||||
found_this_layer = true;
|
||||
layers_already_found.insert(layer_name);
|
||||
enabled_layer_manifest_files_in_init_order.push_back(std::move(*it));
|
||||
|
@ -254,6 +255,7 @@ XrResult ApiLayerInterface::LoadApiLayers(const std::string& openxr_command, uin
|
|||
it++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If even one of the layers wasn't found, we want to return an error
|
||||
if (!found_this_layer) {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "loader_logger.hpp"
|
||||
#include "loader_platform.hpp"
|
||||
#include "runtime_interface.hpp"
|
||||
#include "xr_generated_dispatch_table.h"
|
||||
#include "xr_generated_dispatch_table_core.h"
|
||||
#include "xr_generated_loader.hpp"
|
||||
|
||||
#include <openxr/openxr.h>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "loader_interfaces.h"
|
||||
#include "loader_logger.hpp"
|
||||
#include "runtime_interface.hpp"
|
||||
#include "xr_generated_dispatch_table.h"
|
||||
#include "xr_generated_dispatch_table_core.h"
|
||||
#include "xr_generated_loader.hpp"
|
||||
|
||||
#include <openxr/openxr.h>
|
||||
|
|
|
@ -274,16 +274,45 @@ static std::string GetXDGEnvAbsolute(const char *name, const char *fallback_path
|
|||
return fallback_paths;
|
||||
}
|
||||
|
||||
/// @param rt_dir_prefix Directory prefix with a trailing slash
|
||||
static bool FindEitherActiveRuntimeFilename(const char *prefix_desc, const std::string &rt_dir_prefix, uint16_t major_version,
|
||||
std::string &out) {
|
||||
{
|
||||
std::ostringstream oss;
|
||||
oss << "Looking for active_runtime." XR_ARCH_ABI ".json or active_runtime.json in ";
|
||||
oss << prefix_desc;
|
||||
oss << ": ";
|
||||
oss << rt_dir_prefix;
|
||||
|
||||
LoaderLogger::LogInfoMessage("", oss.str());
|
||||
}
|
||||
{
|
||||
auto decorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime." XR_ARCH_ABI ".json";
|
||||
|
||||
if (FileSysUtilsPathExists(decorated_path)) {
|
||||
out = decorated_path;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
{
|
||||
auto undecorated_path = rt_dir_prefix + std::to_string(major_version) + "/active_runtime.json";
|
||||
|
||||
if (FileSysUtilsPathExists(undecorated_path)) {
|
||||
out = undecorated_path;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// Return the first instance of relative_path occurring in an XDG config dir according to standard
|
||||
// precedence order.
|
||||
static bool FindXDGConfigFile(const std::string &relative_path, std::string &out) {
|
||||
out = GetXDGEnvHome("XDG_CONFIG_HOME", ".config");
|
||||
if (!out.empty()) {
|
||||
out += "/";
|
||||
out += relative_path;
|
||||
|
||||
LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in XDG_CONFIG_HOME: " + out);
|
||||
if (FileSysUtilsPathExists(out)) {
|
||||
static bool FindXDGConfigFile(const char *relative_dir, uint16_t major_version, std::string &out) {
|
||||
const std::string message{"Looking for active_runtime." XR_ARCH_ABI ".json or active_runtime.json"};
|
||||
std::string dir_prefix = GetXDGEnvHome("XDG_CONFIG_HOME", ".config");
|
||||
if (!dir_prefix.empty()) {
|
||||
dir_prefix += "/";
|
||||
dir_prefix += relative_dir;
|
||||
if (FindEitherActiveRuntimeFilename("XDG_CONFIG_HOME", dir_prefix, major_version, out)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -294,29 +323,26 @@ static bool FindXDGConfigFile(const std::string &relative_path, std::string &out
|
|||
if (path.empty()) {
|
||||
continue;
|
||||
}
|
||||
out = path;
|
||||
out += "/";
|
||||
out += relative_path;
|
||||
LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in an entry of XDG_CONFIG_DIRS: " + out);
|
||||
if (FileSysUtilsPathExists(out)) {
|
||||
dir_prefix = std::move(path);
|
||||
dir_prefix += "/";
|
||||
dir_prefix += relative_dir;
|
||||
if (FindEitherActiveRuntimeFilename("an entry of XDG_CONFIG_DIRS", dir_prefix, major_version, out)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
out = SYSCONFDIR;
|
||||
out += "/";
|
||||
out += relative_path;
|
||||
LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in compiled-in SYSCONFDIR: " + out);
|
||||
if (FileSysUtilsPathExists(out)) {
|
||||
dir_prefix = SYSCONFDIR;
|
||||
dir_prefix += "/";
|
||||
dir_prefix += relative_dir;
|
||||
if (FindEitherActiveRuntimeFilename("compiled-in SYSCONFDIR", dir_prefix, major_version, out)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#if defined(EXTRASYSCONFDIR)
|
||||
out = EXTRASYSCONFDIR;
|
||||
out += "/";
|
||||
out += relative_path;
|
||||
LoaderLogger::LogInfoMessage("", "Looking for " + relative_path + " in compiled-in EXTRASYSCONFDIR: " + out);
|
||||
if (FileSysUtilsPathExists(out)) {
|
||||
dir_prefix = EXTRASYSCONFDIR;
|
||||
dir_prefix += "/";
|
||||
dir_prefix += relative_dir;
|
||||
if (FindEitherActiveRuntimeFilename("compiled-in EXTRASYSCONFDIR", dir_prefix, major_version, out)) {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
@ -632,9 +658,8 @@ XrResult RuntimeManifestFile::FindManifestFiles(std::vector<std::unique_ptr<Runt
|
|||
LoaderLogger::LogInfoMessage("",
|
||||
"RuntimeManifestFile::FindManifestFiles - using registry-specified runtime file " + filename);
|
||||
#elif defined(XR_OS_LINUX)
|
||||
const std::string relative_path =
|
||||
"openxr/" + std::to_string(XR_VERSION_MAJOR(XR_CURRENT_API_VERSION)) + "/active_runtime.json";
|
||||
if (!FindXDGConfigFile(relative_path, filename)) {
|
||||
|
||||
if (!FindXDGConfigFile("openxr/", XR_VERSION_MAJOR(XR_CURRENT_API_VERSION), filename)) {
|
||||
LoaderLogger::LogErrorMessage(
|
||||
"", "RuntimeManifestFile::FindManifestFiles - failed to determine active runtime file path for this environment");
|
||||
return XR_ERROR_RUNTIME_UNAVAILABLE;
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include "loader_interfaces.h"
|
||||
#include "loader_logger.hpp"
|
||||
#include "loader_platform.hpp"
|
||||
#include "xr_generated_dispatch_table.h"
|
||||
#include "xr_generated_dispatch_table_core.h"
|
||||
|
||||
#include <openxr/openxr.h>
|
||||
|
||||
|
@ -29,6 +29,10 @@
|
|||
#include "android_utilities.h"
|
||||
#include <android/asset_manager_jni.h>
|
||||
#include <json/value.h>
|
||||
|
||||
// Needed for the loader init struct
|
||||
#include <xr_dependencies.h>
|
||||
#include <openxr/openxr_platform.h>
|
||||
#endif // XR_USE_PLATFORM_ANDROID
|
||||
|
||||
#ifdef XR_KHR_LOADER_INIT_SUPPORT
|
||||
|
@ -105,33 +109,22 @@ XrResult LoaderInitData::initialize(const XrLoaderInitInfoBaseHeaderKHR* info) {
|
|||
if (cast_info->applicationContext == nullptr) {
|
||||
return XR_ERROR_VALIDATION_FAILURE;
|
||||
}
|
||||
|
||||
// Copy and store the JVM pointer and Android Context, ensuring the JVM is initialised.
|
||||
_data = *cast_info;
|
||||
jni::init((jni::JavaVM*)_data.applicationVM);
|
||||
_data.next = nullptr;
|
||||
JNIEnv* Env;
|
||||
((jni::JavaVM*)(cast_info->applicationVM))->AttachCurrentThread(&Env, nullptr);
|
||||
const jclass contextClass = Env->GetObjectClass((jobject)_data.applicationContext);
|
||||
jni::init(static_cast<jni::JavaVM*>(_data.applicationVM));
|
||||
const jni::Object context = jni::Object{static_cast<jni::jobject>(_data.applicationContext)};
|
||||
|
||||
const jmethodID getAssetsMethod = Env->GetMethodID(contextClass, "getAssets", "()Landroid/content/res/AssetManager;");
|
||||
const jobject AssetManagerObject = Env->CallObjectMethod((jobject)_data.applicationContext, getAssetsMethod);
|
||||
_android_asset_manager = AAssetManager_fromJava(Env, AssetManagerObject);
|
||||
// Retrieve a reference to the Android AssetManager.
|
||||
const auto assetManager = context.call<jni::Object>("getAssets()Landroid/content/res/AssetManager;");
|
||||
_android_asset_manager = AAssetManager_fromJava(jni::env(), assetManager.getHandle());
|
||||
|
||||
// Retrieve the path to the native libraries.
|
||||
const auto applicationContext = context.call<jni::Object>("getApplicationContext()Landroid/content/Context;");
|
||||
const auto applicationInfo = context.call<jni::Object>("getApplicationInfo()Landroid/content/pm/ApplicationInfo;");
|
||||
_native_library_path = applicationInfo.get<std::string>("nativeLibraryDir");
|
||||
|
||||
const jmethodID getApplicationContextMethod =
|
||||
Env->GetMethodID(contextClass, "getApplicationContext", "()Landroid/content/Context;");
|
||||
const jobject contextObject = Env->CallObjectMethod((jobject)_data.applicationContext, getApplicationContextMethod);
|
||||
const jmethodID getApplicationInfoMethod =
|
||||
Env->GetMethodID(contextClass, "getApplicationInfo", "()Landroid/content/pm/ApplicationInfo;");
|
||||
const jobject applicationInfoObject = Env->CallObjectMethod(contextObject, getApplicationInfoMethod);
|
||||
const jfieldID nativeLibraryDirField =
|
||||
Env->GetFieldID(Env->GetObjectClass(applicationInfoObject), "nativeLibraryDir", "Ljava/lang/String;");
|
||||
const jobject nativeLibraryDirObject = Env->GetObjectField(applicationInfoObject, nativeLibraryDirField);
|
||||
const jmethodID getBytesMethod =
|
||||
Env->GetMethodID(Env->GetObjectClass(nativeLibraryDirObject), "getBytes", "(Ljava/lang/String;)[B");
|
||||
const auto bytesObject =
|
||||
static_cast<jbyteArray>(Env->CallObjectMethod(nativeLibraryDirObject, getBytesMethod, Env->NewStringUTF("UTF-8")));
|
||||
const size_t length = Env->GetArrayLength(bytesObject);
|
||||
const jbyte* const bytes = Env->GetByteArrayElements(bytesObject, nullptr);
|
||||
_native_library_path = std::string(reinterpret_cast<const char*>(bytes), length);
|
||||
_initialized = true;
|
||||
return XR_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "loader_logger.hpp"
|
||||
#include "loader_platform.hpp"
|
||||
#include "runtime_interface.hpp"
|
||||
#include "xr_generated_dispatch_table.h"
|
||||
#include "xr_generated_dispatch_table_core.h"
|
||||
|
||||
#include "xr_dependencies.h"
|
||||
#include <openxr/openxr.h>
|
||||
|
|
|
@ -1,468 +0,0 @@
|
|||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019 Valve Corporation
|
||||
// Copyright (c) 2017-2019 LunarG, Inc.
|
||||
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
|
||||
// See utility_source_generator.py for modifications
|
||||
// ************************************************************
|
||||
|
||||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019 Valve Corporation
|
||||
// Copyright (c) 2017-2019 LunarG, Inc.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Author: Mark Young <marky@lunarg.com>
|
||||
//
|
||||
|
||||
#include <time.h>
|
||||
#include "xr_generated_dispatch_table.h"
|
||||
#include "xr_dependencies.h"
|
||||
#include <openxr/openxr.h>
|
||||
#include <openxr/openxr_platform.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// Helper function to populate an instance dispatch table
|
||||
void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
|
||||
XrInstance instance,
|
||||
PFN_xrGetInstanceProcAddr get_inst_proc_addr) {
|
||||
|
||||
// ---- Core 1.0 commands
|
||||
table->GetInstanceProcAddr = get_inst_proc_addr;
|
||||
(get_inst_proc_addr(instance, "xrCreateInstance", (PFN_xrVoidFunction*)&table->CreateInstance));
|
||||
(get_inst_proc_addr(instance, "xrDestroyInstance", (PFN_xrVoidFunction*)&table->DestroyInstance));
|
||||
(get_inst_proc_addr(instance, "xrGetInstanceProperties", (PFN_xrVoidFunction*)&table->GetInstanceProperties));
|
||||
(get_inst_proc_addr(instance, "xrPollEvent", (PFN_xrVoidFunction*)&table->PollEvent));
|
||||
(get_inst_proc_addr(instance, "xrResultToString", (PFN_xrVoidFunction*)&table->ResultToString));
|
||||
(get_inst_proc_addr(instance, "xrStructureTypeToString", (PFN_xrVoidFunction*)&table->StructureTypeToString));
|
||||
(get_inst_proc_addr(instance, "xrGetSystem", (PFN_xrVoidFunction*)&table->GetSystem));
|
||||
(get_inst_proc_addr(instance, "xrGetSystemProperties", (PFN_xrVoidFunction*)&table->GetSystemProperties));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateEnvironmentBlendModes", (PFN_xrVoidFunction*)&table->EnumerateEnvironmentBlendModes));
|
||||
(get_inst_proc_addr(instance, "xrCreateSession", (PFN_xrVoidFunction*)&table->CreateSession));
|
||||
(get_inst_proc_addr(instance, "xrDestroySession", (PFN_xrVoidFunction*)&table->DestroySession));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateReferenceSpaces", (PFN_xrVoidFunction*)&table->EnumerateReferenceSpaces));
|
||||
(get_inst_proc_addr(instance, "xrCreateReferenceSpace", (PFN_xrVoidFunction*)&table->CreateReferenceSpace));
|
||||
(get_inst_proc_addr(instance, "xrGetReferenceSpaceBoundsRect", (PFN_xrVoidFunction*)&table->GetReferenceSpaceBoundsRect));
|
||||
(get_inst_proc_addr(instance, "xrCreateActionSpace", (PFN_xrVoidFunction*)&table->CreateActionSpace));
|
||||
(get_inst_proc_addr(instance, "xrLocateSpace", (PFN_xrVoidFunction*)&table->LocateSpace));
|
||||
(get_inst_proc_addr(instance, "xrDestroySpace", (PFN_xrVoidFunction*)&table->DestroySpace));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateViewConfigurations", (PFN_xrVoidFunction*)&table->EnumerateViewConfigurations));
|
||||
(get_inst_proc_addr(instance, "xrGetViewConfigurationProperties", (PFN_xrVoidFunction*)&table->GetViewConfigurationProperties));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateViewConfigurationViews", (PFN_xrVoidFunction*)&table->EnumerateViewConfigurationViews));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateSwapchainFormats", (PFN_xrVoidFunction*)&table->EnumerateSwapchainFormats));
|
||||
(get_inst_proc_addr(instance, "xrCreateSwapchain", (PFN_xrVoidFunction*)&table->CreateSwapchain));
|
||||
(get_inst_proc_addr(instance, "xrDestroySwapchain", (PFN_xrVoidFunction*)&table->DestroySwapchain));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateSwapchainImages", (PFN_xrVoidFunction*)&table->EnumerateSwapchainImages));
|
||||
(get_inst_proc_addr(instance, "xrAcquireSwapchainImage", (PFN_xrVoidFunction*)&table->AcquireSwapchainImage));
|
||||
(get_inst_proc_addr(instance, "xrWaitSwapchainImage", (PFN_xrVoidFunction*)&table->WaitSwapchainImage));
|
||||
(get_inst_proc_addr(instance, "xrReleaseSwapchainImage", (PFN_xrVoidFunction*)&table->ReleaseSwapchainImage));
|
||||
(get_inst_proc_addr(instance, "xrBeginSession", (PFN_xrVoidFunction*)&table->BeginSession));
|
||||
(get_inst_proc_addr(instance, "xrEndSession", (PFN_xrVoidFunction*)&table->EndSession));
|
||||
(get_inst_proc_addr(instance, "xrRequestExitSession", (PFN_xrVoidFunction*)&table->RequestExitSession));
|
||||
(get_inst_proc_addr(instance, "xrWaitFrame", (PFN_xrVoidFunction*)&table->WaitFrame));
|
||||
(get_inst_proc_addr(instance, "xrBeginFrame", (PFN_xrVoidFunction*)&table->BeginFrame));
|
||||
(get_inst_proc_addr(instance, "xrEndFrame", (PFN_xrVoidFunction*)&table->EndFrame));
|
||||
(get_inst_proc_addr(instance, "xrLocateViews", (PFN_xrVoidFunction*)&table->LocateViews));
|
||||
(get_inst_proc_addr(instance, "xrStringToPath", (PFN_xrVoidFunction*)&table->StringToPath));
|
||||
(get_inst_proc_addr(instance, "xrPathToString", (PFN_xrVoidFunction*)&table->PathToString));
|
||||
(get_inst_proc_addr(instance, "xrCreateActionSet", (PFN_xrVoidFunction*)&table->CreateActionSet));
|
||||
(get_inst_proc_addr(instance, "xrDestroyActionSet", (PFN_xrVoidFunction*)&table->DestroyActionSet));
|
||||
(get_inst_proc_addr(instance, "xrCreateAction", (PFN_xrVoidFunction*)&table->CreateAction));
|
||||
(get_inst_proc_addr(instance, "xrDestroyAction", (PFN_xrVoidFunction*)&table->DestroyAction));
|
||||
(get_inst_proc_addr(instance, "xrSuggestInteractionProfileBindings", (PFN_xrVoidFunction*)&table->SuggestInteractionProfileBindings));
|
||||
(get_inst_proc_addr(instance, "xrAttachSessionActionSets", (PFN_xrVoidFunction*)&table->AttachSessionActionSets));
|
||||
(get_inst_proc_addr(instance, "xrGetCurrentInteractionProfile", (PFN_xrVoidFunction*)&table->GetCurrentInteractionProfile));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStateBoolean", (PFN_xrVoidFunction*)&table->GetActionStateBoolean));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStateFloat", (PFN_xrVoidFunction*)&table->GetActionStateFloat));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStateVector2f", (PFN_xrVoidFunction*)&table->GetActionStateVector2f));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStatePose", (PFN_xrVoidFunction*)&table->GetActionStatePose));
|
||||
(get_inst_proc_addr(instance, "xrSyncActions", (PFN_xrVoidFunction*)&table->SyncActions));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateBoundSourcesForAction", (PFN_xrVoidFunction*)&table->EnumerateBoundSourcesForAction));
|
||||
(get_inst_proc_addr(instance, "xrGetInputSourceLocalizedName", (PFN_xrVoidFunction*)&table->GetInputSourceLocalizedName));
|
||||
(get_inst_proc_addr(instance, "xrApplyHapticFeedback", (PFN_xrVoidFunction*)&table->ApplyHapticFeedback));
|
||||
(get_inst_proc_addr(instance, "xrStopHapticFeedback", (PFN_xrVoidFunction*)&table->StopHapticFeedback));
|
||||
|
||||
// ---- XR_KHR_android_thread_settings extension commands
|
||||
#if defined(XR_USE_PLATFORM_ANDROID)
|
||||
(get_inst_proc_addr(instance, "xrSetAndroidApplicationThreadKHR", (PFN_xrVoidFunction*)&table->SetAndroidApplicationThreadKHR));
|
||||
#endif // defined(XR_USE_PLATFORM_ANDROID)
|
||||
|
||||
// ---- XR_KHR_android_surface_swapchain extension commands
|
||||
#if defined(XR_USE_PLATFORM_ANDROID)
|
||||
(get_inst_proc_addr(instance, "xrCreateSwapchainAndroidSurfaceKHR", (PFN_xrVoidFunction*)&table->CreateSwapchainAndroidSurfaceKHR));
|
||||
#endif // defined(XR_USE_PLATFORM_ANDROID)
|
||||
|
||||
// ---- XR_KHR_opengl_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_OPENGL)
|
||||
(get_inst_proc_addr(instance, "xrGetOpenGLGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetOpenGLGraphicsRequirementsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_OPENGL)
|
||||
|
||||
// ---- XR_KHR_opengl_es_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
|
||||
(get_inst_proc_addr(instance, "xrGetOpenGLESGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetOpenGLESGraphicsRequirementsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_OPENGL_ES)
|
||||
|
||||
// ---- XR_KHR_vulkan_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrGetVulkanInstanceExtensionsKHR", (PFN_xrVoidFunction*)&table->GetVulkanInstanceExtensionsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrGetVulkanDeviceExtensionsKHR", (PFN_xrVoidFunction*)&table->GetVulkanDeviceExtensionsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrGetVulkanGraphicsDeviceKHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsDeviceKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrGetVulkanGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsRequirementsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
|
||||
// ---- XR_KHR_D3D11_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_D3D11)
|
||||
(get_inst_proc_addr(instance, "xrGetD3D11GraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetD3D11GraphicsRequirementsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_D3D11)
|
||||
|
||||
// ---- XR_KHR_D3D12_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_D3D12)
|
||||
(get_inst_proc_addr(instance, "xrGetD3D12GraphicsRequirementsKHR", (PFN_xrVoidFunction*)&table->GetD3D12GraphicsRequirementsKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_D3D12)
|
||||
|
||||
// ---- XR_KHR_visibility_mask extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetVisibilityMaskKHR", (PFN_xrVoidFunction*)&table->GetVisibilityMaskKHR));
|
||||
|
||||
// ---- XR_KHR_win32_convert_performance_counter_time extension commands
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
(get_inst_proc_addr(instance, "xrConvertWin32PerformanceCounterToTimeKHR", (PFN_xrVoidFunction*)&table->ConvertWin32PerformanceCounterToTimeKHR));
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
(get_inst_proc_addr(instance, "xrConvertTimeToWin32PerformanceCounterKHR", (PFN_xrVoidFunction*)&table->ConvertTimeToWin32PerformanceCounterKHR));
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
|
||||
// ---- XR_KHR_convert_timespec_time extension commands
|
||||
#if defined(XR_USE_TIMESPEC)
|
||||
(get_inst_proc_addr(instance, "xrConvertTimespecTimeToTimeKHR", (PFN_xrVoidFunction*)&table->ConvertTimespecTimeToTimeKHR));
|
||||
#endif // defined(XR_USE_TIMESPEC)
|
||||
#if defined(XR_USE_TIMESPEC)
|
||||
(get_inst_proc_addr(instance, "xrConvertTimeToTimespecTimeKHR", (PFN_xrVoidFunction*)&table->ConvertTimeToTimespecTimeKHR));
|
||||
#endif // defined(XR_USE_TIMESPEC)
|
||||
|
||||
// ---- XR_KHR_vulkan_enable2 extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrCreateVulkanInstanceKHR", (PFN_xrVoidFunction*)&table->CreateVulkanInstanceKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrCreateVulkanDeviceKHR", (PFN_xrVoidFunction*)&table->CreateVulkanDeviceKHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrGetVulkanGraphicsDevice2KHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsDevice2KHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
(get_inst_proc_addr(instance, "xrGetVulkanGraphicsRequirements2KHR", (PFN_xrVoidFunction*)&table->GetVulkanGraphicsRequirements2KHR));
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
|
||||
// ---- XR_EXT_performance_settings extension commands
|
||||
(get_inst_proc_addr(instance, "xrPerfSettingsSetPerformanceLevelEXT", (PFN_xrVoidFunction*)&table->PerfSettingsSetPerformanceLevelEXT));
|
||||
|
||||
// ---- XR_EXT_thermal_query extension commands
|
||||
(get_inst_proc_addr(instance, "xrThermalGetTemperatureTrendEXT", (PFN_xrVoidFunction*)&table->ThermalGetTemperatureTrendEXT));
|
||||
|
||||
// ---- XR_EXT_debug_utils extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetDebugUtilsObjectNameEXT", (PFN_xrVoidFunction*)&table->SetDebugUtilsObjectNameEXT));
|
||||
(get_inst_proc_addr(instance, "xrCreateDebugUtilsMessengerEXT", (PFN_xrVoidFunction*)&table->CreateDebugUtilsMessengerEXT));
|
||||
(get_inst_proc_addr(instance, "xrDestroyDebugUtilsMessengerEXT", (PFN_xrVoidFunction*)&table->DestroyDebugUtilsMessengerEXT));
|
||||
(get_inst_proc_addr(instance, "xrSubmitDebugUtilsMessageEXT", (PFN_xrVoidFunction*)&table->SubmitDebugUtilsMessageEXT));
|
||||
(get_inst_proc_addr(instance, "xrSessionBeginDebugUtilsLabelRegionEXT", (PFN_xrVoidFunction*)&table->SessionBeginDebugUtilsLabelRegionEXT));
|
||||
(get_inst_proc_addr(instance, "xrSessionEndDebugUtilsLabelRegionEXT", (PFN_xrVoidFunction*)&table->SessionEndDebugUtilsLabelRegionEXT));
|
||||
(get_inst_proc_addr(instance, "xrSessionInsertDebugUtilsLabelEXT", (PFN_xrVoidFunction*)&table->SessionInsertDebugUtilsLabelEXT));
|
||||
|
||||
// ---- XR_MSFT_spatial_anchor extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorMSFT));
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialAnchorSpaceMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorSpaceMSFT));
|
||||
(get_inst_proc_addr(instance, "xrDestroySpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->DestroySpatialAnchorMSFT));
|
||||
|
||||
// ---- XR_EXT_conformance_automation extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetInputDeviceActiveEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceActiveEXT));
|
||||
(get_inst_proc_addr(instance, "xrSetInputDeviceStateBoolEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceStateBoolEXT));
|
||||
(get_inst_proc_addr(instance, "xrSetInputDeviceStateFloatEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceStateFloatEXT));
|
||||
(get_inst_proc_addr(instance, "xrSetInputDeviceStateVector2fEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceStateVector2fEXT));
|
||||
(get_inst_proc_addr(instance, "xrSetInputDeviceLocationEXT", (PFN_xrVoidFunction*)&table->SetInputDeviceLocationEXT));
|
||||
|
||||
// ---- XR_MSFT_spatial_graph_bridge extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialGraphNodeSpaceMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialGraphNodeSpaceMSFT));
|
||||
(get_inst_proc_addr(instance, "xrTryCreateSpatialGraphStaticNodeBindingMSFT", (PFN_xrVoidFunction*)&table->TryCreateSpatialGraphStaticNodeBindingMSFT));
|
||||
(get_inst_proc_addr(instance, "xrDestroySpatialGraphNodeBindingMSFT", (PFN_xrVoidFunction*)&table->DestroySpatialGraphNodeBindingMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetSpatialGraphNodeBindingPropertiesMSFT", (PFN_xrVoidFunction*)&table->GetSpatialGraphNodeBindingPropertiesMSFT));
|
||||
|
||||
// ---- XR_EXT_hand_tracking extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateHandTrackerEXT", (PFN_xrVoidFunction*)&table->CreateHandTrackerEXT));
|
||||
(get_inst_proc_addr(instance, "xrDestroyHandTrackerEXT", (PFN_xrVoidFunction*)&table->DestroyHandTrackerEXT));
|
||||
(get_inst_proc_addr(instance, "xrLocateHandJointsEXT", (PFN_xrVoidFunction*)&table->LocateHandJointsEXT));
|
||||
|
||||
// ---- XR_MSFT_hand_tracking_mesh extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateHandMeshSpaceMSFT", (PFN_xrVoidFunction*)&table->CreateHandMeshSpaceMSFT));
|
||||
(get_inst_proc_addr(instance, "xrUpdateHandMeshMSFT", (PFN_xrVoidFunction*)&table->UpdateHandMeshMSFT));
|
||||
|
||||
// ---- XR_MSFT_controller_model extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetControllerModelKeyMSFT", (PFN_xrVoidFunction*)&table->GetControllerModelKeyMSFT));
|
||||
(get_inst_proc_addr(instance, "xrLoadControllerModelMSFT", (PFN_xrVoidFunction*)&table->LoadControllerModelMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetControllerModelPropertiesMSFT", (PFN_xrVoidFunction*)&table->GetControllerModelPropertiesMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetControllerModelStateMSFT", (PFN_xrVoidFunction*)&table->GetControllerModelStateMSFT));
|
||||
|
||||
// ---- XR_MSFT_perception_anchor_interop extension commands
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialAnchorFromPerceptionAnchorMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFromPerceptionAnchorMSFT));
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
(get_inst_proc_addr(instance, "xrTryGetPerceptionAnchorFromSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->TryGetPerceptionAnchorFromSpatialAnchorMSFT));
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
|
||||
// ---- XR_MSFT_composition_layer_reprojection extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateReprojectionModesMSFT", (PFN_xrVoidFunction*)&table->EnumerateReprojectionModesMSFT));
|
||||
|
||||
// ---- XR_FB_swapchain_update_state extension commands
|
||||
(get_inst_proc_addr(instance, "xrUpdateSwapchainFB", (PFN_xrVoidFunction*)&table->UpdateSwapchainFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSwapchainStateFB", (PFN_xrVoidFunction*)&table->GetSwapchainStateFB));
|
||||
|
||||
// ---- XR_FB_body_tracking extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateBodyTrackerFB", (PFN_xrVoidFunction*)&table->CreateBodyTrackerFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyBodyTrackerFB", (PFN_xrVoidFunction*)&table->DestroyBodyTrackerFB));
|
||||
(get_inst_proc_addr(instance, "xrLocateBodyJointsFB", (PFN_xrVoidFunction*)&table->LocateBodyJointsFB));
|
||||
(get_inst_proc_addr(instance, "xrGetBodySkeletonFB", (PFN_xrVoidFunction*)&table->GetBodySkeletonFB));
|
||||
|
||||
// ---- XR_MSFT_scene_understanding extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateSceneComputeFeaturesMSFT", (PFN_xrVoidFunction*)&table->EnumerateSceneComputeFeaturesMSFT));
|
||||
(get_inst_proc_addr(instance, "xrCreateSceneObserverMSFT", (PFN_xrVoidFunction*)&table->CreateSceneObserverMSFT));
|
||||
(get_inst_proc_addr(instance, "xrDestroySceneObserverMSFT", (PFN_xrVoidFunction*)&table->DestroySceneObserverMSFT));
|
||||
(get_inst_proc_addr(instance, "xrCreateSceneMSFT", (PFN_xrVoidFunction*)&table->CreateSceneMSFT));
|
||||
(get_inst_proc_addr(instance, "xrDestroySceneMSFT", (PFN_xrVoidFunction*)&table->DestroySceneMSFT));
|
||||
(get_inst_proc_addr(instance, "xrComputeNewSceneMSFT", (PFN_xrVoidFunction*)&table->ComputeNewSceneMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetSceneComputeStateMSFT", (PFN_xrVoidFunction*)&table->GetSceneComputeStateMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetSceneComponentsMSFT", (PFN_xrVoidFunction*)&table->GetSceneComponentsMSFT));
|
||||
(get_inst_proc_addr(instance, "xrLocateSceneComponentsMSFT", (PFN_xrVoidFunction*)&table->LocateSceneComponentsMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetSceneMeshBuffersMSFT", (PFN_xrVoidFunction*)&table->GetSceneMeshBuffersMSFT));
|
||||
|
||||
// ---- XR_MSFT_scene_understanding_serialization extension commands
|
||||
(get_inst_proc_addr(instance, "xrDeserializeSceneMSFT", (PFN_xrVoidFunction*)&table->DeserializeSceneMSFT));
|
||||
(get_inst_proc_addr(instance, "xrGetSerializedSceneFragmentDataMSFT", (PFN_xrVoidFunction*)&table->GetSerializedSceneFragmentDataMSFT));
|
||||
|
||||
// ---- XR_FB_display_refresh_rate extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateDisplayRefreshRatesFB", (PFN_xrVoidFunction*)&table->EnumerateDisplayRefreshRatesFB));
|
||||
(get_inst_proc_addr(instance, "xrGetDisplayRefreshRateFB", (PFN_xrVoidFunction*)&table->GetDisplayRefreshRateFB));
|
||||
(get_inst_proc_addr(instance, "xrRequestDisplayRefreshRateFB", (PFN_xrVoidFunction*)&table->RequestDisplayRefreshRateFB));
|
||||
|
||||
// ---- XR_HTCX_vive_tracker_interaction extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateViveTrackerPathsHTCX", (PFN_xrVoidFunction*)&table->EnumerateViveTrackerPathsHTCX));
|
||||
|
||||
// ---- XR_HTC_facial_tracking extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateFacialTrackerHTC", (PFN_xrVoidFunction*)&table->CreateFacialTrackerHTC));
|
||||
(get_inst_proc_addr(instance, "xrDestroyFacialTrackerHTC", (PFN_xrVoidFunction*)&table->DestroyFacialTrackerHTC));
|
||||
(get_inst_proc_addr(instance, "xrGetFacialExpressionsHTC", (PFN_xrVoidFunction*)&table->GetFacialExpressionsHTC));
|
||||
|
||||
// ---- XR_FB_color_space extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateColorSpacesFB", (PFN_xrVoidFunction*)&table->EnumerateColorSpacesFB));
|
||||
(get_inst_proc_addr(instance, "xrSetColorSpaceFB", (PFN_xrVoidFunction*)&table->SetColorSpaceFB));
|
||||
|
||||
// ---- XR_FB_hand_tracking_mesh extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetHandMeshFB", (PFN_xrVoidFunction*)&table->GetHandMeshFB));
|
||||
|
||||
// ---- XR_FB_spatial_entity extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialAnchorFB", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceUuidFB", (PFN_xrVoidFunction*)&table->GetSpaceUuidFB));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateSpaceSupportedComponentsFB", (PFN_xrVoidFunction*)&table->EnumerateSpaceSupportedComponentsFB));
|
||||
(get_inst_proc_addr(instance, "xrSetSpaceComponentStatusFB", (PFN_xrVoidFunction*)&table->SetSpaceComponentStatusFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceComponentStatusFB", (PFN_xrVoidFunction*)&table->GetSpaceComponentStatusFB));
|
||||
|
||||
// ---- XR_FB_foveation extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateFoveationProfileFB", (PFN_xrVoidFunction*)&table->CreateFoveationProfileFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyFoveationProfileFB", (PFN_xrVoidFunction*)&table->DestroyFoveationProfileFB));
|
||||
|
||||
// ---- XR_FB_keyboard_tracking extension commands
|
||||
(get_inst_proc_addr(instance, "xrQuerySystemTrackedKeyboardFB", (PFN_xrVoidFunction*)&table->QuerySystemTrackedKeyboardFB));
|
||||
(get_inst_proc_addr(instance, "xrCreateKeyboardSpaceFB", (PFN_xrVoidFunction*)&table->CreateKeyboardSpaceFB));
|
||||
|
||||
// ---- XR_FB_triangle_mesh extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateTriangleMeshFB", (PFN_xrVoidFunction*)&table->CreateTriangleMeshFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyTriangleMeshFB", (PFN_xrVoidFunction*)&table->DestroyTriangleMeshFB));
|
||||
(get_inst_proc_addr(instance, "xrTriangleMeshGetVertexBufferFB", (PFN_xrVoidFunction*)&table->TriangleMeshGetVertexBufferFB));
|
||||
(get_inst_proc_addr(instance, "xrTriangleMeshGetIndexBufferFB", (PFN_xrVoidFunction*)&table->TriangleMeshGetIndexBufferFB));
|
||||
(get_inst_proc_addr(instance, "xrTriangleMeshBeginUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshBeginUpdateFB));
|
||||
(get_inst_proc_addr(instance, "xrTriangleMeshEndUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshEndUpdateFB));
|
||||
(get_inst_proc_addr(instance, "xrTriangleMeshBeginVertexBufferUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshBeginVertexBufferUpdateFB));
|
||||
(get_inst_proc_addr(instance, "xrTriangleMeshEndVertexBufferUpdateFB", (PFN_xrVoidFunction*)&table->TriangleMeshEndVertexBufferUpdateFB));
|
||||
|
||||
// ---- XR_FB_passthrough extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreatePassthroughFB", (PFN_xrVoidFunction*)&table->CreatePassthroughFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyPassthroughFB", (PFN_xrVoidFunction*)&table->DestroyPassthroughFB));
|
||||
(get_inst_proc_addr(instance, "xrPassthroughStartFB", (PFN_xrVoidFunction*)&table->PassthroughStartFB));
|
||||
(get_inst_proc_addr(instance, "xrPassthroughPauseFB", (PFN_xrVoidFunction*)&table->PassthroughPauseFB));
|
||||
(get_inst_proc_addr(instance, "xrCreatePassthroughLayerFB", (PFN_xrVoidFunction*)&table->CreatePassthroughLayerFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyPassthroughLayerFB", (PFN_xrVoidFunction*)&table->DestroyPassthroughLayerFB));
|
||||
(get_inst_proc_addr(instance, "xrPassthroughLayerPauseFB", (PFN_xrVoidFunction*)&table->PassthroughLayerPauseFB));
|
||||
(get_inst_proc_addr(instance, "xrPassthroughLayerResumeFB", (PFN_xrVoidFunction*)&table->PassthroughLayerResumeFB));
|
||||
(get_inst_proc_addr(instance, "xrPassthroughLayerSetStyleFB", (PFN_xrVoidFunction*)&table->PassthroughLayerSetStyleFB));
|
||||
(get_inst_proc_addr(instance, "xrCreateGeometryInstanceFB", (PFN_xrVoidFunction*)&table->CreateGeometryInstanceFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyGeometryInstanceFB", (PFN_xrVoidFunction*)&table->DestroyGeometryInstanceFB));
|
||||
(get_inst_proc_addr(instance, "xrGeometryInstanceSetTransformFB", (PFN_xrVoidFunction*)&table->GeometryInstanceSetTransformFB));
|
||||
|
||||
// ---- XR_FB_render_model extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateRenderModelPathsFB", (PFN_xrVoidFunction*)&table->EnumerateRenderModelPathsFB));
|
||||
(get_inst_proc_addr(instance, "xrGetRenderModelPropertiesFB", (PFN_xrVoidFunction*)&table->GetRenderModelPropertiesFB));
|
||||
(get_inst_proc_addr(instance, "xrLoadRenderModelFB", (PFN_xrVoidFunction*)&table->LoadRenderModelFB));
|
||||
|
||||
// ---- XR_VARJO_environment_depth_estimation extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetEnvironmentDepthEstimationVARJO", (PFN_xrVoidFunction*)&table->SetEnvironmentDepthEstimationVARJO));
|
||||
|
||||
// ---- XR_VARJO_marker_tracking extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetMarkerTrackingVARJO", (PFN_xrVoidFunction*)&table->SetMarkerTrackingVARJO));
|
||||
(get_inst_proc_addr(instance, "xrSetMarkerTrackingTimeoutVARJO", (PFN_xrVoidFunction*)&table->SetMarkerTrackingTimeoutVARJO));
|
||||
(get_inst_proc_addr(instance, "xrSetMarkerTrackingPredictionVARJO", (PFN_xrVoidFunction*)&table->SetMarkerTrackingPredictionVARJO));
|
||||
(get_inst_proc_addr(instance, "xrGetMarkerSizeVARJO", (PFN_xrVoidFunction*)&table->GetMarkerSizeVARJO));
|
||||
(get_inst_proc_addr(instance, "xrCreateMarkerSpaceVARJO", (PFN_xrVoidFunction*)&table->CreateMarkerSpaceVARJO));
|
||||
|
||||
// ---- XR_VARJO_view_offset extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetViewOffsetVARJO", (PFN_xrVoidFunction*)&table->SetViewOffsetVARJO));
|
||||
|
||||
// ---- XR_ML_compat extension commands
|
||||
#if defined(XR_USE_PLATFORM_ML)
|
||||
(get_inst_proc_addr(instance, "xrCreateSpaceFromCoordinateFrameUIDML", (PFN_xrVoidFunction*)&table->CreateSpaceFromCoordinateFrameUIDML));
|
||||
#endif // defined(XR_USE_PLATFORM_ML)
|
||||
|
||||
// ---- XR_MSFT_spatial_anchor_persistence extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialAnchorStoreConnectionMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorStoreConnectionMSFT));
|
||||
(get_inst_proc_addr(instance, "xrDestroySpatialAnchorStoreConnectionMSFT", (PFN_xrVoidFunction*)&table->DestroySpatialAnchorStoreConnectionMSFT));
|
||||
(get_inst_proc_addr(instance, "xrPersistSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->PersistSpatialAnchorMSFT));
|
||||
(get_inst_proc_addr(instance, "xrEnumeratePersistedSpatialAnchorNamesMSFT", (PFN_xrVoidFunction*)&table->EnumeratePersistedSpatialAnchorNamesMSFT));
|
||||
(get_inst_proc_addr(instance, "xrCreateSpatialAnchorFromPersistedNameMSFT", (PFN_xrVoidFunction*)&table->CreateSpatialAnchorFromPersistedNameMSFT));
|
||||
(get_inst_proc_addr(instance, "xrUnpersistSpatialAnchorMSFT", (PFN_xrVoidFunction*)&table->UnpersistSpatialAnchorMSFT));
|
||||
(get_inst_proc_addr(instance, "xrClearSpatialAnchorStoreMSFT", (PFN_xrVoidFunction*)&table->ClearSpatialAnchorStoreMSFT));
|
||||
|
||||
// ---- XR_FB_spatial_entity_query extension commands
|
||||
(get_inst_proc_addr(instance, "xrQuerySpacesFB", (PFN_xrVoidFunction*)&table->QuerySpacesFB));
|
||||
(get_inst_proc_addr(instance, "xrRetrieveSpaceQueryResultsFB", (PFN_xrVoidFunction*)&table->RetrieveSpaceQueryResultsFB));
|
||||
|
||||
// ---- XR_FB_spatial_entity_storage extension commands
|
||||
(get_inst_proc_addr(instance, "xrSaveSpaceFB", (PFN_xrVoidFunction*)&table->SaveSpaceFB));
|
||||
(get_inst_proc_addr(instance, "xrEraseSpaceFB", (PFN_xrVoidFunction*)&table->EraseSpaceFB));
|
||||
|
||||
// ---- XR_OCULUS_audio_device_guid extension commands
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
(get_inst_proc_addr(instance, "xrGetAudioOutputDeviceGuidOculus", (PFN_xrVoidFunction*)&table->GetAudioOutputDeviceGuidOculus));
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
(get_inst_proc_addr(instance, "xrGetAudioInputDeviceGuidOculus", (PFN_xrVoidFunction*)&table->GetAudioInputDeviceGuidOculus));
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
|
||||
// ---- XR_FB_spatial_entity_sharing extension commands
|
||||
(get_inst_proc_addr(instance, "xrShareSpacesFB", (PFN_xrVoidFunction*)&table->ShareSpacesFB));
|
||||
|
||||
// ---- XR_FB_scene extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceBoundingBox2DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox2DFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceBoundingBox3DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundingBox3DFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceSemanticLabelsFB", (PFN_xrVoidFunction*)&table->GetSpaceSemanticLabelsFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceBoundary2DFB", (PFN_xrVoidFunction*)&table->GetSpaceBoundary2DFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceRoomLayoutFB", (PFN_xrVoidFunction*)&table->GetSpaceRoomLayoutFB));
|
||||
|
||||
// ---- XR_ALMALENCE_digital_lens_control extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetDigitalLensControlALMALENCE", (PFN_xrVoidFunction*)&table->SetDigitalLensControlALMALENCE));
|
||||
|
||||
// ---- XR_FB_scene_capture extension commands
|
||||
(get_inst_proc_addr(instance, "xrRequestSceneCaptureFB", (PFN_xrVoidFunction*)&table->RequestSceneCaptureFB));
|
||||
|
||||
// ---- XR_FB_spatial_entity_container extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceContainerFB", (PFN_xrVoidFunction*)&table->GetSpaceContainerFB));
|
||||
|
||||
// ---- XR_META_foveation_eye_tracked extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetFoveationEyeTrackedStateMETA", (PFN_xrVoidFunction*)&table->GetFoveationEyeTrackedStateMETA));
|
||||
|
||||
// ---- XR_FB_face_tracking extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateFaceTrackerFB", (PFN_xrVoidFunction*)&table->CreateFaceTrackerFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyFaceTrackerFB", (PFN_xrVoidFunction*)&table->DestroyFaceTrackerFB));
|
||||
(get_inst_proc_addr(instance, "xrGetFaceExpressionWeightsFB", (PFN_xrVoidFunction*)&table->GetFaceExpressionWeightsFB));
|
||||
|
||||
// ---- XR_FB_eye_tracking_social extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateEyeTrackerFB", (PFN_xrVoidFunction*)&table->CreateEyeTrackerFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroyEyeTrackerFB", (PFN_xrVoidFunction*)&table->DestroyEyeTrackerFB));
|
||||
(get_inst_proc_addr(instance, "xrGetEyeGazesFB", (PFN_xrVoidFunction*)&table->GetEyeGazesFB));
|
||||
|
||||
// ---- XR_FB_passthrough_keyboard_hands extension commands
|
||||
(get_inst_proc_addr(instance, "xrPassthroughLayerSetKeyboardHandsIntensityFB", (PFN_xrVoidFunction*)&table->PassthroughLayerSetKeyboardHandsIntensityFB));
|
||||
|
||||
// ---- XR_FB_haptic_pcm extension commands
|
||||
(get_inst_proc_addr(instance, "xrGetDeviceSampleRateFB", (PFN_xrVoidFunction*)&table->GetDeviceSampleRateFB));
|
||||
|
||||
// ---- XR_META_virtual_keyboard extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateVirtualKeyboardMETA", (PFN_xrVoidFunction*)&table->CreateVirtualKeyboardMETA));
|
||||
(get_inst_proc_addr(instance, "xrDestroyVirtualKeyboardMETA", (PFN_xrVoidFunction*)&table->DestroyVirtualKeyboardMETA));
|
||||
(get_inst_proc_addr(instance, "xrCreateVirtualKeyboardSpaceMETA", (PFN_xrVoidFunction*)&table->CreateVirtualKeyboardSpaceMETA));
|
||||
(get_inst_proc_addr(instance, "xrSuggestVirtualKeyboardLocationMETA", (PFN_xrVoidFunction*)&table->SuggestVirtualKeyboardLocationMETA));
|
||||
(get_inst_proc_addr(instance, "xrGetVirtualKeyboardScaleMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardScaleMETA));
|
||||
(get_inst_proc_addr(instance, "xrSetVirtualKeyboardModelVisibilityMETA", (PFN_xrVoidFunction*)&table->SetVirtualKeyboardModelVisibilityMETA));
|
||||
(get_inst_proc_addr(instance, "xrGetVirtualKeyboardModelAnimationStatesMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardModelAnimationStatesMETA));
|
||||
(get_inst_proc_addr(instance, "xrGetVirtualKeyboardDirtyTexturesMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardDirtyTexturesMETA));
|
||||
(get_inst_proc_addr(instance, "xrGetVirtualKeyboardTextureDataMETA", (PFN_xrVoidFunction*)&table->GetVirtualKeyboardTextureDataMETA));
|
||||
(get_inst_proc_addr(instance, "xrSendVirtualKeyboardInputMETA", (PFN_xrVoidFunction*)&table->SendVirtualKeyboardInputMETA));
|
||||
(get_inst_proc_addr(instance, "xrChangeVirtualKeyboardTextContextMETA", (PFN_xrVoidFunction*)&table->ChangeVirtualKeyboardTextContextMETA));
|
||||
|
||||
// ---- XR_OCULUS_external_camera extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumerateExternalCamerasOCULUS", (PFN_xrVoidFunction*)&table->EnumerateExternalCamerasOCULUS));
|
||||
|
||||
// ---- XR_META_performance_metrics extension commands
|
||||
(get_inst_proc_addr(instance, "xrEnumeratePerformanceMetricsCounterPathsMETA", (PFN_xrVoidFunction*)&table->EnumeratePerformanceMetricsCounterPathsMETA));
|
||||
(get_inst_proc_addr(instance, "xrSetPerformanceMetricsStateMETA", (PFN_xrVoidFunction*)&table->SetPerformanceMetricsStateMETA));
|
||||
(get_inst_proc_addr(instance, "xrGetPerformanceMetricsStateMETA", (PFN_xrVoidFunction*)&table->GetPerformanceMetricsStateMETA));
|
||||
(get_inst_proc_addr(instance, "xrQueryPerformanceMetricsCounterMETA", (PFN_xrVoidFunction*)&table->QueryPerformanceMetricsCounterMETA));
|
||||
|
||||
// ---- XR_FB_spatial_entity_storage_batch extension commands
|
||||
(get_inst_proc_addr(instance, "xrSaveSpaceListFB", (PFN_xrVoidFunction*)&table->SaveSpaceListFB));
|
||||
|
||||
// ---- XR_FB_spatial_entity_user extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreateSpaceUserFB", (PFN_xrVoidFunction*)&table->CreateSpaceUserFB));
|
||||
(get_inst_proc_addr(instance, "xrGetSpaceUserIdFB", (PFN_xrVoidFunction*)&table->GetSpaceUserIdFB));
|
||||
(get_inst_proc_addr(instance, "xrDestroySpaceUserFB", (PFN_xrVoidFunction*)&table->DestroySpaceUserFB));
|
||||
|
||||
// ---- XR_META_passthrough_color_lut extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreatePassthroughColorLutMETA", (PFN_xrVoidFunction*)&table->CreatePassthroughColorLutMETA));
|
||||
(get_inst_proc_addr(instance, "xrDestroyPassthroughColorLutMETA", (PFN_xrVoidFunction*)&table->DestroyPassthroughColorLutMETA));
|
||||
(get_inst_proc_addr(instance, "xrUpdatePassthroughColorLutMETA", (PFN_xrVoidFunction*)&table->UpdatePassthroughColorLutMETA));
|
||||
|
||||
// ---- XR_QCOM_tracking_optimization_settings extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetTrackingOptimizationSettingsHintQCOM", (PFN_xrVoidFunction*)&table->SetTrackingOptimizationSettingsHintQCOM));
|
||||
|
||||
// ---- XR_HTC_passthrough extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreatePassthroughHTC", (PFN_xrVoidFunction*)&table->CreatePassthroughHTC));
|
||||
(get_inst_proc_addr(instance, "xrDestroyPassthroughHTC", (PFN_xrVoidFunction*)&table->DestroyPassthroughHTC));
|
||||
|
||||
// ---- XR_HTC_foveation extension commands
|
||||
(get_inst_proc_addr(instance, "xrApplyFoveationHTC", (PFN_xrVoidFunction*)&table->ApplyFoveationHTC));
|
||||
|
||||
// ---- XR_MNDX_force_feedback_curl extension commands
|
||||
(get_inst_proc_addr(instance, "xrApplyForceFeedbackCurlMNDX", (PFN_xrVoidFunction*)&table->ApplyForceFeedbackCurlMNDX));
|
||||
|
||||
// ---- XR_EXT_plane_detection extension commands
|
||||
(get_inst_proc_addr(instance, "xrCreatePlaneDetectorEXT", (PFN_xrVoidFunction*)&table->CreatePlaneDetectorEXT));
|
||||
(get_inst_proc_addr(instance, "xrDestroyPlaneDetectorEXT", (PFN_xrVoidFunction*)&table->DestroyPlaneDetectorEXT));
|
||||
(get_inst_proc_addr(instance, "xrBeginPlaneDetectionEXT", (PFN_xrVoidFunction*)&table->BeginPlaneDetectionEXT));
|
||||
(get_inst_proc_addr(instance, "xrGetPlaneDetectionStateEXT", (PFN_xrVoidFunction*)&table->GetPlaneDetectionStateEXT));
|
||||
(get_inst_proc_addr(instance, "xrGetPlaneDetectionsEXT", (PFN_xrVoidFunction*)&table->GetPlaneDetectionsEXT));
|
||||
(get_inst_proc_addr(instance, "xrGetPlanePolygonBufferEXT", (PFN_xrVoidFunction*)&table->GetPlanePolygonBufferEXT));
|
||||
}
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
|
@ -1,475 +0,0 @@
|
|||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019 Valve Corporation
|
||||
// Copyright (c) 2017-2019 LunarG, Inc.
|
||||
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
|
||||
// See utility_source_generator.py for modifications
|
||||
// ************************************************************
|
||||
|
||||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019 Valve Corporation
|
||||
// Copyright (c) 2017-2019 LunarG, Inc.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Author: Mark Young <marky@lunarg.com>
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#include "xr_dependencies.h"
|
||||
#include <openxr/openxr.h>
|
||||
#include <openxr/openxr_platform.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// Generated dispatch table
|
||||
struct XrGeneratedDispatchTable {
|
||||
|
||||
// ---- Core 1.0 commands
|
||||
PFN_xrGetInstanceProcAddr GetInstanceProcAddr;
|
||||
PFN_xrEnumerateApiLayerProperties EnumerateApiLayerProperties;
|
||||
PFN_xrEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
|
||||
PFN_xrCreateInstance CreateInstance;
|
||||
PFN_xrDestroyInstance DestroyInstance;
|
||||
PFN_xrGetInstanceProperties GetInstanceProperties;
|
||||
PFN_xrPollEvent PollEvent;
|
||||
PFN_xrResultToString ResultToString;
|
||||
PFN_xrStructureTypeToString StructureTypeToString;
|
||||
PFN_xrGetSystem GetSystem;
|
||||
PFN_xrGetSystemProperties GetSystemProperties;
|
||||
PFN_xrEnumerateEnvironmentBlendModes EnumerateEnvironmentBlendModes;
|
||||
PFN_xrCreateSession CreateSession;
|
||||
PFN_xrDestroySession DestroySession;
|
||||
PFN_xrEnumerateReferenceSpaces EnumerateReferenceSpaces;
|
||||
PFN_xrCreateReferenceSpace CreateReferenceSpace;
|
||||
PFN_xrGetReferenceSpaceBoundsRect GetReferenceSpaceBoundsRect;
|
||||
PFN_xrCreateActionSpace CreateActionSpace;
|
||||
PFN_xrLocateSpace LocateSpace;
|
||||
PFN_xrDestroySpace DestroySpace;
|
||||
PFN_xrEnumerateViewConfigurations EnumerateViewConfigurations;
|
||||
PFN_xrGetViewConfigurationProperties GetViewConfigurationProperties;
|
||||
PFN_xrEnumerateViewConfigurationViews EnumerateViewConfigurationViews;
|
||||
PFN_xrEnumerateSwapchainFormats EnumerateSwapchainFormats;
|
||||
PFN_xrCreateSwapchain CreateSwapchain;
|
||||
PFN_xrDestroySwapchain DestroySwapchain;
|
||||
PFN_xrEnumerateSwapchainImages EnumerateSwapchainImages;
|
||||
PFN_xrAcquireSwapchainImage AcquireSwapchainImage;
|
||||
PFN_xrWaitSwapchainImage WaitSwapchainImage;
|
||||
PFN_xrReleaseSwapchainImage ReleaseSwapchainImage;
|
||||
PFN_xrBeginSession BeginSession;
|
||||
PFN_xrEndSession EndSession;
|
||||
PFN_xrRequestExitSession RequestExitSession;
|
||||
PFN_xrWaitFrame WaitFrame;
|
||||
PFN_xrBeginFrame BeginFrame;
|
||||
PFN_xrEndFrame EndFrame;
|
||||
PFN_xrLocateViews LocateViews;
|
||||
PFN_xrStringToPath StringToPath;
|
||||
PFN_xrPathToString PathToString;
|
||||
PFN_xrCreateActionSet CreateActionSet;
|
||||
PFN_xrDestroyActionSet DestroyActionSet;
|
||||
PFN_xrCreateAction CreateAction;
|
||||
PFN_xrDestroyAction DestroyAction;
|
||||
PFN_xrSuggestInteractionProfileBindings SuggestInteractionProfileBindings;
|
||||
PFN_xrAttachSessionActionSets AttachSessionActionSets;
|
||||
PFN_xrGetCurrentInteractionProfile GetCurrentInteractionProfile;
|
||||
PFN_xrGetActionStateBoolean GetActionStateBoolean;
|
||||
PFN_xrGetActionStateFloat GetActionStateFloat;
|
||||
PFN_xrGetActionStateVector2f GetActionStateVector2f;
|
||||
PFN_xrGetActionStatePose GetActionStatePose;
|
||||
PFN_xrSyncActions SyncActions;
|
||||
PFN_xrEnumerateBoundSourcesForAction EnumerateBoundSourcesForAction;
|
||||
PFN_xrGetInputSourceLocalizedName GetInputSourceLocalizedName;
|
||||
PFN_xrApplyHapticFeedback ApplyHapticFeedback;
|
||||
PFN_xrStopHapticFeedback StopHapticFeedback;
|
||||
|
||||
// ---- XR_KHR_android_thread_settings extension commands
|
||||
#if defined(XR_USE_PLATFORM_ANDROID)
|
||||
PFN_xrSetAndroidApplicationThreadKHR SetAndroidApplicationThreadKHR;
|
||||
#endif // defined(XR_USE_PLATFORM_ANDROID)
|
||||
|
||||
// ---- XR_KHR_android_surface_swapchain extension commands
|
||||
#if defined(XR_USE_PLATFORM_ANDROID)
|
||||
PFN_xrCreateSwapchainAndroidSurfaceKHR CreateSwapchainAndroidSurfaceKHR;
|
||||
#endif // defined(XR_USE_PLATFORM_ANDROID)
|
||||
|
||||
// ---- XR_KHR_opengl_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_OPENGL)
|
||||
PFN_xrGetOpenGLGraphicsRequirementsKHR GetOpenGLGraphicsRequirementsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_OPENGL)
|
||||
|
||||
// ---- XR_KHR_opengl_es_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_OPENGL_ES)
|
||||
PFN_xrGetOpenGLESGraphicsRequirementsKHR GetOpenGLESGraphicsRequirementsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_OPENGL_ES)
|
||||
|
||||
// ---- XR_KHR_vulkan_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrGetVulkanInstanceExtensionsKHR GetVulkanInstanceExtensionsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrGetVulkanDeviceExtensionsKHR GetVulkanDeviceExtensionsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrGetVulkanGraphicsDeviceKHR GetVulkanGraphicsDeviceKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrGetVulkanGraphicsRequirementsKHR GetVulkanGraphicsRequirementsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
|
||||
// ---- XR_KHR_D3D11_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_D3D11)
|
||||
PFN_xrGetD3D11GraphicsRequirementsKHR GetD3D11GraphicsRequirementsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_D3D11)
|
||||
|
||||
// ---- XR_KHR_D3D12_enable extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_D3D12)
|
||||
PFN_xrGetD3D12GraphicsRequirementsKHR GetD3D12GraphicsRequirementsKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_D3D12)
|
||||
|
||||
// ---- XR_KHR_visibility_mask extension commands
|
||||
PFN_xrGetVisibilityMaskKHR GetVisibilityMaskKHR;
|
||||
|
||||
// ---- XR_KHR_win32_convert_performance_counter_time extension commands
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
PFN_xrConvertWin32PerformanceCounterToTimeKHR ConvertWin32PerformanceCounterToTimeKHR;
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
PFN_xrConvertTimeToWin32PerformanceCounterKHR ConvertTimeToWin32PerformanceCounterKHR;
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
|
||||
// ---- XR_KHR_convert_timespec_time extension commands
|
||||
#if defined(XR_USE_TIMESPEC)
|
||||
PFN_xrConvertTimespecTimeToTimeKHR ConvertTimespecTimeToTimeKHR;
|
||||
#endif // defined(XR_USE_TIMESPEC)
|
||||
#if defined(XR_USE_TIMESPEC)
|
||||
PFN_xrConvertTimeToTimespecTimeKHR ConvertTimeToTimespecTimeKHR;
|
||||
#endif // defined(XR_USE_TIMESPEC)
|
||||
|
||||
// ---- XR_KHR_loader_init extension commands
|
||||
PFN_xrInitializeLoaderKHR InitializeLoaderKHR;
|
||||
|
||||
// ---- XR_KHR_vulkan_enable2 extension commands
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrCreateVulkanInstanceKHR CreateVulkanInstanceKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrCreateVulkanDeviceKHR CreateVulkanDeviceKHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrGetVulkanGraphicsDevice2KHR GetVulkanGraphicsDevice2KHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
#if defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
PFN_xrGetVulkanGraphicsRequirements2KHR GetVulkanGraphicsRequirements2KHR;
|
||||
#endif // defined(XR_USE_GRAPHICS_API_VULKAN)
|
||||
|
||||
// ---- XR_EXT_performance_settings extension commands
|
||||
PFN_xrPerfSettingsSetPerformanceLevelEXT PerfSettingsSetPerformanceLevelEXT;
|
||||
|
||||
// ---- XR_EXT_thermal_query extension commands
|
||||
PFN_xrThermalGetTemperatureTrendEXT ThermalGetTemperatureTrendEXT;
|
||||
|
||||
// ---- XR_EXT_debug_utils extension commands
|
||||
PFN_xrSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT;
|
||||
PFN_xrCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT;
|
||||
PFN_xrDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT;
|
||||
PFN_xrSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT;
|
||||
PFN_xrSessionBeginDebugUtilsLabelRegionEXT SessionBeginDebugUtilsLabelRegionEXT;
|
||||
PFN_xrSessionEndDebugUtilsLabelRegionEXT SessionEndDebugUtilsLabelRegionEXT;
|
||||
PFN_xrSessionInsertDebugUtilsLabelEXT SessionInsertDebugUtilsLabelEXT;
|
||||
|
||||
// ---- XR_MSFT_spatial_anchor extension commands
|
||||
PFN_xrCreateSpatialAnchorMSFT CreateSpatialAnchorMSFT;
|
||||
PFN_xrCreateSpatialAnchorSpaceMSFT CreateSpatialAnchorSpaceMSFT;
|
||||
PFN_xrDestroySpatialAnchorMSFT DestroySpatialAnchorMSFT;
|
||||
|
||||
// ---- XR_EXT_conformance_automation extension commands
|
||||
PFN_xrSetInputDeviceActiveEXT SetInputDeviceActiveEXT;
|
||||
PFN_xrSetInputDeviceStateBoolEXT SetInputDeviceStateBoolEXT;
|
||||
PFN_xrSetInputDeviceStateFloatEXT SetInputDeviceStateFloatEXT;
|
||||
PFN_xrSetInputDeviceStateVector2fEXT SetInputDeviceStateVector2fEXT;
|
||||
PFN_xrSetInputDeviceLocationEXT SetInputDeviceLocationEXT;
|
||||
|
||||
// ---- XR_MSFT_spatial_graph_bridge extension commands
|
||||
PFN_xrCreateSpatialGraphNodeSpaceMSFT CreateSpatialGraphNodeSpaceMSFT;
|
||||
PFN_xrTryCreateSpatialGraphStaticNodeBindingMSFT TryCreateSpatialGraphStaticNodeBindingMSFT;
|
||||
PFN_xrDestroySpatialGraphNodeBindingMSFT DestroySpatialGraphNodeBindingMSFT;
|
||||
PFN_xrGetSpatialGraphNodeBindingPropertiesMSFT GetSpatialGraphNodeBindingPropertiesMSFT;
|
||||
|
||||
// ---- XR_EXT_hand_tracking extension commands
|
||||
PFN_xrCreateHandTrackerEXT CreateHandTrackerEXT;
|
||||
PFN_xrDestroyHandTrackerEXT DestroyHandTrackerEXT;
|
||||
PFN_xrLocateHandJointsEXT LocateHandJointsEXT;
|
||||
|
||||
// ---- XR_MSFT_hand_tracking_mesh extension commands
|
||||
PFN_xrCreateHandMeshSpaceMSFT CreateHandMeshSpaceMSFT;
|
||||
PFN_xrUpdateHandMeshMSFT UpdateHandMeshMSFT;
|
||||
|
||||
// ---- XR_MSFT_controller_model extension commands
|
||||
PFN_xrGetControllerModelKeyMSFT GetControllerModelKeyMSFT;
|
||||
PFN_xrLoadControllerModelMSFT LoadControllerModelMSFT;
|
||||
PFN_xrGetControllerModelPropertiesMSFT GetControllerModelPropertiesMSFT;
|
||||
PFN_xrGetControllerModelStateMSFT GetControllerModelStateMSFT;
|
||||
|
||||
// ---- XR_MSFT_perception_anchor_interop extension commands
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
PFN_xrCreateSpatialAnchorFromPerceptionAnchorMSFT CreateSpatialAnchorFromPerceptionAnchorMSFT;
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
PFN_xrTryGetPerceptionAnchorFromSpatialAnchorMSFT TryGetPerceptionAnchorFromSpatialAnchorMSFT;
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
|
||||
// ---- XR_MSFT_composition_layer_reprojection extension commands
|
||||
PFN_xrEnumerateReprojectionModesMSFT EnumerateReprojectionModesMSFT;
|
||||
|
||||
// ---- XR_FB_swapchain_update_state extension commands
|
||||
PFN_xrUpdateSwapchainFB UpdateSwapchainFB;
|
||||
PFN_xrGetSwapchainStateFB GetSwapchainStateFB;
|
||||
|
||||
// ---- XR_FB_body_tracking extension commands
|
||||
PFN_xrCreateBodyTrackerFB CreateBodyTrackerFB;
|
||||
PFN_xrDestroyBodyTrackerFB DestroyBodyTrackerFB;
|
||||
PFN_xrLocateBodyJointsFB LocateBodyJointsFB;
|
||||
PFN_xrGetBodySkeletonFB GetBodySkeletonFB;
|
||||
|
||||
// ---- XR_MSFT_scene_understanding extension commands
|
||||
PFN_xrEnumerateSceneComputeFeaturesMSFT EnumerateSceneComputeFeaturesMSFT;
|
||||
PFN_xrCreateSceneObserverMSFT CreateSceneObserverMSFT;
|
||||
PFN_xrDestroySceneObserverMSFT DestroySceneObserverMSFT;
|
||||
PFN_xrCreateSceneMSFT CreateSceneMSFT;
|
||||
PFN_xrDestroySceneMSFT DestroySceneMSFT;
|
||||
PFN_xrComputeNewSceneMSFT ComputeNewSceneMSFT;
|
||||
PFN_xrGetSceneComputeStateMSFT GetSceneComputeStateMSFT;
|
||||
PFN_xrGetSceneComponentsMSFT GetSceneComponentsMSFT;
|
||||
PFN_xrLocateSceneComponentsMSFT LocateSceneComponentsMSFT;
|
||||
PFN_xrGetSceneMeshBuffersMSFT GetSceneMeshBuffersMSFT;
|
||||
|
||||
// ---- XR_MSFT_scene_understanding_serialization extension commands
|
||||
PFN_xrDeserializeSceneMSFT DeserializeSceneMSFT;
|
||||
PFN_xrGetSerializedSceneFragmentDataMSFT GetSerializedSceneFragmentDataMSFT;
|
||||
|
||||
// ---- XR_FB_display_refresh_rate extension commands
|
||||
PFN_xrEnumerateDisplayRefreshRatesFB EnumerateDisplayRefreshRatesFB;
|
||||
PFN_xrGetDisplayRefreshRateFB GetDisplayRefreshRateFB;
|
||||
PFN_xrRequestDisplayRefreshRateFB RequestDisplayRefreshRateFB;
|
||||
|
||||
// ---- XR_HTCX_vive_tracker_interaction extension commands
|
||||
PFN_xrEnumerateViveTrackerPathsHTCX EnumerateViveTrackerPathsHTCX;
|
||||
|
||||
// ---- XR_HTC_facial_tracking extension commands
|
||||
PFN_xrCreateFacialTrackerHTC CreateFacialTrackerHTC;
|
||||
PFN_xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC;
|
||||
PFN_xrGetFacialExpressionsHTC GetFacialExpressionsHTC;
|
||||
|
||||
// ---- XR_FB_color_space extension commands
|
||||
PFN_xrEnumerateColorSpacesFB EnumerateColorSpacesFB;
|
||||
PFN_xrSetColorSpaceFB SetColorSpaceFB;
|
||||
|
||||
// ---- XR_FB_hand_tracking_mesh extension commands
|
||||
PFN_xrGetHandMeshFB GetHandMeshFB;
|
||||
|
||||
// ---- XR_FB_spatial_entity extension commands
|
||||
PFN_xrCreateSpatialAnchorFB CreateSpatialAnchorFB;
|
||||
PFN_xrGetSpaceUuidFB GetSpaceUuidFB;
|
||||
PFN_xrEnumerateSpaceSupportedComponentsFB EnumerateSpaceSupportedComponentsFB;
|
||||
PFN_xrSetSpaceComponentStatusFB SetSpaceComponentStatusFB;
|
||||
PFN_xrGetSpaceComponentStatusFB GetSpaceComponentStatusFB;
|
||||
|
||||
// ---- XR_FB_foveation extension commands
|
||||
PFN_xrCreateFoveationProfileFB CreateFoveationProfileFB;
|
||||
PFN_xrDestroyFoveationProfileFB DestroyFoveationProfileFB;
|
||||
|
||||
// ---- XR_FB_keyboard_tracking extension commands
|
||||
PFN_xrQuerySystemTrackedKeyboardFB QuerySystemTrackedKeyboardFB;
|
||||
PFN_xrCreateKeyboardSpaceFB CreateKeyboardSpaceFB;
|
||||
|
||||
// ---- XR_FB_triangle_mesh extension commands
|
||||
PFN_xrCreateTriangleMeshFB CreateTriangleMeshFB;
|
||||
PFN_xrDestroyTriangleMeshFB DestroyTriangleMeshFB;
|
||||
PFN_xrTriangleMeshGetVertexBufferFB TriangleMeshGetVertexBufferFB;
|
||||
PFN_xrTriangleMeshGetIndexBufferFB TriangleMeshGetIndexBufferFB;
|
||||
PFN_xrTriangleMeshBeginUpdateFB TriangleMeshBeginUpdateFB;
|
||||
PFN_xrTriangleMeshEndUpdateFB TriangleMeshEndUpdateFB;
|
||||
PFN_xrTriangleMeshBeginVertexBufferUpdateFB TriangleMeshBeginVertexBufferUpdateFB;
|
||||
PFN_xrTriangleMeshEndVertexBufferUpdateFB TriangleMeshEndVertexBufferUpdateFB;
|
||||
|
||||
// ---- XR_FB_passthrough extension commands
|
||||
PFN_xrCreatePassthroughFB CreatePassthroughFB;
|
||||
PFN_xrDestroyPassthroughFB DestroyPassthroughFB;
|
||||
PFN_xrPassthroughStartFB PassthroughStartFB;
|
||||
PFN_xrPassthroughPauseFB PassthroughPauseFB;
|
||||
PFN_xrCreatePassthroughLayerFB CreatePassthroughLayerFB;
|
||||
PFN_xrDestroyPassthroughLayerFB DestroyPassthroughLayerFB;
|
||||
PFN_xrPassthroughLayerPauseFB PassthroughLayerPauseFB;
|
||||
PFN_xrPassthroughLayerResumeFB PassthroughLayerResumeFB;
|
||||
PFN_xrPassthroughLayerSetStyleFB PassthroughLayerSetStyleFB;
|
||||
PFN_xrCreateGeometryInstanceFB CreateGeometryInstanceFB;
|
||||
PFN_xrDestroyGeometryInstanceFB DestroyGeometryInstanceFB;
|
||||
PFN_xrGeometryInstanceSetTransformFB GeometryInstanceSetTransformFB;
|
||||
|
||||
// ---- XR_FB_render_model extension commands
|
||||
PFN_xrEnumerateRenderModelPathsFB EnumerateRenderModelPathsFB;
|
||||
PFN_xrGetRenderModelPropertiesFB GetRenderModelPropertiesFB;
|
||||
PFN_xrLoadRenderModelFB LoadRenderModelFB;
|
||||
|
||||
// ---- XR_VARJO_environment_depth_estimation extension commands
|
||||
PFN_xrSetEnvironmentDepthEstimationVARJO SetEnvironmentDepthEstimationVARJO;
|
||||
|
||||
// ---- XR_VARJO_marker_tracking extension commands
|
||||
PFN_xrSetMarkerTrackingVARJO SetMarkerTrackingVARJO;
|
||||
PFN_xrSetMarkerTrackingTimeoutVARJO SetMarkerTrackingTimeoutVARJO;
|
||||
PFN_xrSetMarkerTrackingPredictionVARJO SetMarkerTrackingPredictionVARJO;
|
||||
PFN_xrGetMarkerSizeVARJO GetMarkerSizeVARJO;
|
||||
PFN_xrCreateMarkerSpaceVARJO CreateMarkerSpaceVARJO;
|
||||
|
||||
// ---- XR_VARJO_view_offset extension commands
|
||||
PFN_xrSetViewOffsetVARJO SetViewOffsetVARJO;
|
||||
|
||||
// ---- XR_ML_compat extension commands
|
||||
#if defined(XR_USE_PLATFORM_ML)
|
||||
PFN_xrCreateSpaceFromCoordinateFrameUIDML CreateSpaceFromCoordinateFrameUIDML;
|
||||
#endif // defined(XR_USE_PLATFORM_ML)
|
||||
|
||||
// ---- XR_MSFT_spatial_anchor_persistence extension commands
|
||||
PFN_xrCreateSpatialAnchorStoreConnectionMSFT CreateSpatialAnchorStoreConnectionMSFT;
|
||||
PFN_xrDestroySpatialAnchorStoreConnectionMSFT DestroySpatialAnchorStoreConnectionMSFT;
|
||||
PFN_xrPersistSpatialAnchorMSFT PersistSpatialAnchorMSFT;
|
||||
PFN_xrEnumeratePersistedSpatialAnchorNamesMSFT EnumeratePersistedSpatialAnchorNamesMSFT;
|
||||
PFN_xrCreateSpatialAnchorFromPersistedNameMSFT CreateSpatialAnchorFromPersistedNameMSFT;
|
||||
PFN_xrUnpersistSpatialAnchorMSFT UnpersistSpatialAnchorMSFT;
|
||||
PFN_xrClearSpatialAnchorStoreMSFT ClearSpatialAnchorStoreMSFT;
|
||||
|
||||
// ---- XR_FB_spatial_entity_query extension commands
|
||||
PFN_xrQuerySpacesFB QuerySpacesFB;
|
||||
PFN_xrRetrieveSpaceQueryResultsFB RetrieveSpaceQueryResultsFB;
|
||||
|
||||
// ---- XR_FB_spatial_entity_storage extension commands
|
||||
PFN_xrSaveSpaceFB SaveSpaceFB;
|
||||
PFN_xrEraseSpaceFB EraseSpaceFB;
|
||||
|
||||
// ---- XR_OCULUS_audio_device_guid extension commands
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
PFN_xrGetAudioOutputDeviceGuidOculus GetAudioOutputDeviceGuidOculus;
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
#if defined(XR_USE_PLATFORM_WIN32)
|
||||
PFN_xrGetAudioInputDeviceGuidOculus GetAudioInputDeviceGuidOculus;
|
||||
#endif // defined(XR_USE_PLATFORM_WIN32)
|
||||
|
||||
// ---- XR_FB_spatial_entity_sharing extension commands
|
||||
PFN_xrShareSpacesFB ShareSpacesFB;
|
||||
|
||||
// ---- XR_FB_scene extension commands
|
||||
PFN_xrGetSpaceBoundingBox2DFB GetSpaceBoundingBox2DFB;
|
||||
PFN_xrGetSpaceBoundingBox3DFB GetSpaceBoundingBox3DFB;
|
||||
PFN_xrGetSpaceSemanticLabelsFB GetSpaceSemanticLabelsFB;
|
||||
PFN_xrGetSpaceBoundary2DFB GetSpaceBoundary2DFB;
|
||||
PFN_xrGetSpaceRoomLayoutFB GetSpaceRoomLayoutFB;
|
||||
|
||||
// ---- XR_ALMALENCE_digital_lens_control extension commands
|
||||
PFN_xrSetDigitalLensControlALMALENCE SetDigitalLensControlALMALENCE;
|
||||
|
||||
// ---- XR_FB_scene_capture extension commands
|
||||
PFN_xrRequestSceneCaptureFB RequestSceneCaptureFB;
|
||||
|
||||
// ---- XR_FB_spatial_entity_container extension commands
|
||||
PFN_xrGetSpaceContainerFB GetSpaceContainerFB;
|
||||
|
||||
// ---- XR_META_foveation_eye_tracked extension commands
|
||||
PFN_xrGetFoveationEyeTrackedStateMETA GetFoveationEyeTrackedStateMETA;
|
||||
|
||||
// ---- XR_FB_face_tracking extension commands
|
||||
PFN_xrCreateFaceTrackerFB CreateFaceTrackerFB;
|
||||
PFN_xrDestroyFaceTrackerFB DestroyFaceTrackerFB;
|
||||
PFN_xrGetFaceExpressionWeightsFB GetFaceExpressionWeightsFB;
|
||||
|
||||
// ---- XR_FB_eye_tracking_social extension commands
|
||||
PFN_xrCreateEyeTrackerFB CreateEyeTrackerFB;
|
||||
PFN_xrDestroyEyeTrackerFB DestroyEyeTrackerFB;
|
||||
PFN_xrGetEyeGazesFB GetEyeGazesFB;
|
||||
|
||||
// ---- XR_FB_passthrough_keyboard_hands extension commands
|
||||
PFN_xrPassthroughLayerSetKeyboardHandsIntensityFB PassthroughLayerSetKeyboardHandsIntensityFB;
|
||||
|
||||
// ---- XR_FB_haptic_pcm extension commands
|
||||
PFN_xrGetDeviceSampleRateFB GetDeviceSampleRateFB;
|
||||
|
||||
// ---- XR_META_virtual_keyboard extension commands
|
||||
PFN_xrCreateVirtualKeyboardMETA CreateVirtualKeyboardMETA;
|
||||
PFN_xrDestroyVirtualKeyboardMETA DestroyVirtualKeyboardMETA;
|
||||
PFN_xrCreateVirtualKeyboardSpaceMETA CreateVirtualKeyboardSpaceMETA;
|
||||
PFN_xrSuggestVirtualKeyboardLocationMETA SuggestVirtualKeyboardLocationMETA;
|
||||
PFN_xrGetVirtualKeyboardScaleMETA GetVirtualKeyboardScaleMETA;
|
||||
PFN_xrSetVirtualKeyboardModelVisibilityMETA SetVirtualKeyboardModelVisibilityMETA;
|
||||
PFN_xrGetVirtualKeyboardModelAnimationStatesMETA GetVirtualKeyboardModelAnimationStatesMETA;
|
||||
PFN_xrGetVirtualKeyboardDirtyTexturesMETA GetVirtualKeyboardDirtyTexturesMETA;
|
||||
PFN_xrGetVirtualKeyboardTextureDataMETA GetVirtualKeyboardTextureDataMETA;
|
||||
PFN_xrSendVirtualKeyboardInputMETA SendVirtualKeyboardInputMETA;
|
||||
PFN_xrChangeVirtualKeyboardTextContextMETA ChangeVirtualKeyboardTextContextMETA;
|
||||
|
||||
// ---- XR_OCULUS_external_camera extension commands
|
||||
PFN_xrEnumerateExternalCamerasOCULUS EnumerateExternalCamerasOCULUS;
|
||||
|
||||
// ---- XR_META_performance_metrics extension commands
|
||||
PFN_xrEnumeratePerformanceMetricsCounterPathsMETA EnumeratePerformanceMetricsCounterPathsMETA;
|
||||
PFN_xrSetPerformanceMetricsStateMETA SetPerformanceMetricsStateMETA;
|
||||
PFN_xrGetPerformanceMetricsStateMETA GetPerformanceMetricsStateMETA;
|
||||
PFN_xrQueryPerformanceMetricsCounterMETA QueryPerformanceMetricsCounterMETA;
|
||||
|
||||
// ---- XR_FB_spatial_entity_storage_batch extension commands
|
||||
PFN_xrSaveSpaceListFB SaveSpaceListFB;
|
||||
|
||||
// ---- XR_FB_spatial_entity_user extension commands
|
||||
PFN_xrCreateSpaceUserFB CreateSpaceUserFB;
|
||||
PFN_xrGetSpaceUserIdFB GetSpaceUserIdFB;
|
||||
PFN_xrDestroySpaceUserFB DestroySpaceUserFB;
|
||||
|
||||
// ---- XR_META_passthrough_color_lut extension commands
|
||||
PFN_xrCreatePassthroughColorLutMETA CreatePassthroughColorLutMETA;
|
||||
PFN_xrDestroyPassthroughColorLutMETA DestroyPassthroughColorLutMETA;
|
||||
PFN_xrUpdatePassthroughColorLutMETA UpdatePassthroughColorLutMETA;
|
||||
|
||||
// ---- XR_QCOM_tracking_optimization_settings extension commands
|
||||
PFN_xrSetTrackingOptimizationSettingsHintQCOM SetTrackingOptimizationSettingsHintQCOM;
|
||||
|
||||
// ---- XR_HTC_passthrough extension commands
|
||||
PFN_xrCreatePassthroughHTC CreatePassthroughHTC;
|
||||
PFN_xrDestroyPassthroughHTC DestroyPassthroughHTC;
|
||||
|
||||
// ---- XR_HTC_foveation extension commands
|
||||
PFN_xrApplyFoveationHTC ApplyFoveationHTC;
|
||||
|
||||
// ---- XR_MNDX_force_feedback_curl extension commands
|
||||
PFN_xrApplyForceFeedbackCurlMNDX ApplyForceFeedbackCurlMNDX;
|
||||
|
||||
// ---- XR_EXT_plane_detection extension commands
|
||||
PFN_xrCreatePlaneDetectorEXT CreatePlaneDetectorEXT;
|
||||
PFN_xrDestroyPlaneDetectorEXT DestroyPlaneDetectorEXT;
|
||||
PFN_xrBeginPlaneDetectionEXT BeginPlaneDetectionEXT;
|
||||
PFN_xrGetPlaneDetectionStateEXT GetPlaneDetectionStateEXT;
|
||||
PFN_xrGetPlaneDetectionsEXT GetPlaneDetectionsEXT;
|
||||
PFN_xrGetPlanePolygonBufferEXT GetPlanePolygonBufferEXT;
|
||||
};
|
||||
|
||||
|
||||
// Prototype for dispatch table helper function
|
||||
void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
|
||||
XrInstance instance,
|
||||
PFN_xrGetInstanceProcAddr get_inst_proc_addr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019, Valve Corporation
|
||||
// Copyright (c) 2017-2019, LunarG, Inc.
|
||||
|
||||
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
|
||||
// See utility_source_generator.py for modifications
|
||||
// ************************************************************
|
||||
|
||||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019 Valve Corporation
|
||||
// Copyright (c) 2017-2019 LunarG, Inc.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Author: Mark Young <marky@lunarg.com>
|
||||
//
|
||||
|
||||
#include "xr_generated_dispatch_table_core.h"
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// Helper function to populate an instance dispatch table
|
||||
void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
|
||||
XrInstance instance,
|
||||
PFN_xrGetInstanceProcAddr get_inst_proc_addr) {
|
||||
|
||||
// ---- Core 1.0 commands
|
||||
table->GetInstanceProcAddr = get_inst_proc_addr;
|
||||
(get_inst_proc_addr(instance, "xrCreateInstance", (PFN_xrVoidFunction*)&table->CreateInstance));
|
||||
(get_inst_proc_addr(instance, "xrDestroyInstance", (PFN_xrVoidFunction*)&table->DestroyInstance));
|
||||
(get_inst_proc_addr(instance, "xrGetInstanceProperties", (PFN_xrVoidFunction*)&table->GetInstanceProperties));
|
||||
(get_inst_proc_addr(instance, "xrPollEvent", (PFN_xrVoidFunction*)&table->PollEvent));
|
||||
(get_inst_proc_addr(instance, "xrResultToString", (PFN_xrVoidFunction*)&table->ResultToString));
|
||||
(get_inst_proc_addr(instance, "xrStructureTypeToString", (PFN_xrVoidFunction*)&table->StructureTypeToString));
|
||||
(get_inst_proc_addr(instance, "xrGetSystem", (PFN_xrVoidFunction*)&table->GetSystem));
|
||||
(get_inst_proc_addr(instance, "xrGetSystemProperties", (PFN_xrVoidFunction*)&table->GetSystemProperties));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateEnvironmentBlendModes", (PFN_xrVoidFunction*)&table->EnumerateEnvironmentBlendModes));
|
||||
(get_inst_proc_addr(instance, "xrCreateSession", (PFN_xrVoidFunction*)&table->CreateSession));
|
||||
(get_inst_proc_addr(instance, "xrDestroySession", (PFN_xrVoidFunction*)&table->DestroySession));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateReferenceSpaces", (PFN_xrVoidFunction*)&table->EnumerateReferenceSpaces));
|
||||
(get_inst_proc_addr(instance, "xrCreateReferenceSpace", (PFN_xrVoidFunction*)&table->CreateReferenceSpace));
|
||||
(get_inst_proc_addr(instance, "xrGetReferenceSpaceBoundsRect", (PFN_xrVoidFunction*)&table->GetReferenceSpaceBoundsRect));
|
||||
(get_inst_proc_addr(instance, "xrCreateActionSpace", (PFN_xrVoidFunction*)&table->CreateActionSpace));
|
||||
(get_inst_proc_addr(instance, "xrLocateSpace", (PFN_xrVoidFunction*)&table->LocateSpace));
|
||||
(get_inst_proc_addr(instance, "xrDestroySpace", (PFN_xrVoidFunction*)&table->DestroySpace));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateViewConfigurations", (PFN_xrVoidFunction*)&table->EnumerateViewConfigurations));
|
||||
(get_inst_proc_addr(instance, "xrGetViewConfigurationProperties", (PFN_xrVoidFunction*)&table->GetViewConfigurationProperties));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateViewConfigurationViews", (PFN_xrVoidFunction*)&table->EnumerateViewConfigurationViews));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateSwapchainFormats", (PFN_xrVoidFunction*)&table->EnumerateSwapchainFormats));
|
||||
(get_inst_proc_addr(instance, "xrCreateSwapchain", (PFN_xrVoidFunction*)&table->CreateSwapchain));
|
||||
(get_inst_proc_addr(instance, "xrDestroySwapchain", (PFN_xrVoidFunction*)&table->DestroySwapchain));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateSwapchainImages", (PFN_xrVoidFunction*)&table->EnumerateSwapchainImages));
|
||||
(get_inst_proc_addr(instance, "xrAcquireSwapchainImage", (PFN_xrVoidFunction*)&table->AcquireSwapchainImage));
|
||||
(get_inst_proc_addr(instance, "xrWaitSwapchainImage", (PFN_xrVoidFunction*)&table->WaitSwapchainImage));
|
||||
(get_inst_proc_addr(instance, "xrReleaseSwapchainImage", (PFN_xrVoidFunction*)&table->ReleaseSwapchainImage));
|
||||
(get_inst_proc_addr(instance, "xrBeginSession", (PFN_xrVoidFunction*)&table->BeginSession));
|
||||
(get_inst_proc_addr(instance, "xrEndSession", (PFN_xrVoidFunction*)&table->EndSession));
|
||||
(get_inst_proc_addr(instance, "xrRequestExitSession", (PFN_xrVoidFunction*)&table->RequestExitSession));
|
||||
(get_inst_proc_addr(instance, "xrWaitFrame", (PFN_xrVoidFunction*)&table->WaitFrame));
|
||||
(get_inst_proc_addr(instance, "xrBeginFrame", (PFN_xrVoidFunction*)&table->BeginFrame));
|
||||
(get_inst_proc_addr(instance, "xrEndFrame", (PFN_xrVoidFunction*)&table->EndFrame));
|
||||
(get_inst_proc_addr(instance, "xrLocateViews", (PFN_xrVoidFunction*)&table->LocateViews));
|
||||
(get_inst_proc_addr(instance, "xrStringToPath", (PFN_xrVoidFunction*)&table->StringToPath));
|
||||
(get_inst_proc_addr(instance, "xrPathToString", (PFN_xrVoidFunction*)&table->PathToString));
|
||||
(get_inst_proc_addr(instance, "xrCreateActionSet", (PFN_xrVoidFunction*)&table->CreateActionSet));
|
||||
(get_inst_proc_addr(instance, "xrDestroyActionSet", (PFN_xrVoidFunction*)&table->DestroyActionSet));
|
||||
(get_inst_proc_addr(instance, "xrCreateAction", (PFN_xrVoidFunction*)&table->CreateAction));
|
||||
(get_inst_proc_addr(instance, "xrDestroyAction", (PFN_xrVoidFunction*)&table->DestroyAction));
|
||||
(get_inst_proc_addr(instance, "xrSuggestInteractionProfileBindings", (PFN_xrVoidFunction*)&table->SuggestInteractionProfileBindings));
|
||||
(get_inst_proc_addr(instance, "xrAttachSessionActionSets", (PFN_xrVoidFunction*)&table->AttachSessionActionSets));
|
||||
(get_inst_proc_addr(instance, "xrGetCurrentInteractionProfile", (PFN_xrVoidFunction*)&table->GetCurrentInteractionProfile));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStateBoolean", (PFN_xrVoidFunction*)&table->GetActionStateBoolean));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStateFloat", (PFN_xrVoidFunction*)&table->GetActionStateFloat));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStateVector2f", (PFN_xrVoidFunction*)&table->GetActionStateVector2f));
|
||||
(get_inst_proc_addr(instance, "xrGetActionStatePose", (PFN_xrVoidFunction*)&table->GetActionStatePose));
|
||||
(get_inst_proc_addr(instance, "xrSyncActions", (PFN_xrVoidFunction*)&table->SyncActions));
|
||||
(get_inst_proc_addr(instance, "xrEnumerateBoundSourcesForAction", (PFN_xrVoidFunction*)&table->EnumerateBoundSourcesForAction));
|
||||
(get_inst_proc_addr(instance, "xrGetInputSourceLocalizedName", (PFN_xrVoidFunction*)&table->GetInputSourceLocalizedName));
|
||||
(get_inst_proc_addr(instance, "xrApplyHapticFeedback", (PFN_xrVoidFunction*)&table->ApplyHapticFeedback));
|
||||
(get_inst_proc_addr(instance, "xrStopHapticFeedback", (PFN_xrVoidFunction*)&table->StopHapticFeedback));
|
||||
|
||||
// ---- XR_EXT_debug_utils extension commands
|
||||
(get_inst_proc_addr(instance, "xrSetDebugUtilsObjectNameEXT", (PFN_xrVoidFunction*)&table->SetDebugUtilsObjectNameEXT));
|
||||
(get_inst_proc_addr(instance, "xrCreateDebugUtilsMessengerEXT", (PFN_xrVoidFunction*)&table->CreateDebugUtilsMessengerEXT));
|
||||
(get_inst_proc_addr(instance, "xrDestroyDebugUtilsMessengerEXT", (PFN_xrVoidFunction*)&table->DestroyDebugUtilsMessengerEXT));
|
||||
(get_inst_proc_addr(instance, "xrSubmitDebugUtilsMessageEXT", (PFN_xrVoidFunction*)&table->SubmitDebugUtilsMessageEXT));
|
||||
(get_inst_proc_addr(instance, "xrSessionBeginDebugUtilsLabelRegionEXT", (PFN_xrVoidFunction*)&table->SessionBeginDebugUtilsLabelRegionEXT));
|
||||
(get_inst_proc_addr(instance, "xrSessionEndDebugUtilsLabelRegionEXT", (PFN_xrVoidFunction*)&table->SessionEndDebugUtilsLabelRegionEXT));
|
||||
(get_inst_proc_addr(instance, "xrSessionInsertDebugUtilsLabelEXT", (PFN_xrVoidFunction*)&table->SessionInsertDebugUtilsLabelEXT));
|
||||
}
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019, Valve Corporation
|
||||
// Copyright (c) 2017-2019, LunarG, Inc.
|
||||
|
||||
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
// *********** THIS FILE IS GENERATED - DO NOT EDIT ***********
|
||||
// See utility_source_generator.py for modifications
|
||||
// ************************************************************
|
||||
|
||||
// Copyright (c) 2017-2023, The Khronos Group Inc.
|
||||
// Copyright (c) 2017-2019 Valve Corporation
|
||||
// Copyright (c) 2017-2019 LunarG, Inc.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Author: Mark Young <marky@lunarg.com>
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <openxr/openxr.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// Generated dispatch table
|
||||
struct XrGeneratedDispatchTable {
|
||||
|
||||
// ---- Core 1.0 commands
|
||||
PFN_xrGetInstanceProcAddr GetInstanceProcAddr;
|
||||
PFN_xrEnumerateApiLayerProperties EnumerateApiLayerProperties;
|
||||
PFN_xrEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
|
||||
PFN_xrCreateInstance CreateInstance;
|
||||
PFN_xrDestroyInstance DestroyInstance;
|
||||
PFN_xrGetInstanceProperties GetInstanceProperties;
|
||||
PFN_xrPollEvent PollEvent;
|
||||
PFN_xrResultToString ResultToString;
|
||||
PFN_xrStructureTypeToString StructureTypeToString;
|
||||
PFN_xrGetSystem GetSystem;
|
||||
PFN_xrGetSystemProperties GetSystemProperties;
|
||||
PFN_xrEnumerateEnvironmentBlendModes EnumerateEnvironmentBlendModes;
|
||||
PFN_xrCreateSession CreateSession;
|
||||
PFN_xrDestroySession DestroySession;
|
||||
PFN_xrEnumerateReferenceSpaces EnumerateReferenceSpaces;
|
||||
PFN_xrCreateReferenceSpace CreateReferenceSpace;
|
||||
PFN_xrGetReferenceSpaceBoundsRect GetReferenceSpaceBoundsRect;
|
||||
PFN_xrCreateActionSpace CreateActionSpace;
|
||||
PFN_xrLocateSpace LocateSpace;
|
||||
PFN_xrDestroySpace DestroySpace;
|
||||
PFN_xrEnumerateViewConfigurations EnumerateViewConfigurations;
|
||||
PFN_xrGetViewConfigurationProperties GetViewConfigurationProperties;
|
||||
PFN_xrEnumerateViewConfigurationViews EnumerateViewConfigurationViews;
|
||||
PFN_xrEnumerateSwapchainFormats EnumerateSwapchainFormats;
|
||||
PFN_xrCreateSwapchain CreateSwapchain;
|
||||
PFN_xrDestroySwapchain DestroySwapchain;
|
||||
PFN_xrEnumerateSwapchainImages EnumerateSwapchainImages;
|
||||
PFN_xrAcquireSwapchainImage AcquireSwapchainImage;
|
||||
PFN_xrWaitSwapchainImage WaitSwapchainImage;
|
||||
PFN_xrReleaseSwapchainImage ReleaseSwapchainImage;
|
||||
PFN_xrBeginSession BeginSession;
|
||||
PFN_xrEndSession EndSession;
|
||||
PFN_xrRequestExitSession RequestExitSession;
|
||||
PFN_xrWaitFrame WaitFrame;
|
||||
PFN_xrBeginFrame BeginFrame;
|
||||
PFN_xrEndFrame EndFrame;
|
||||
PFN_xrLocateViews LocateViews;
|
||||
PFN_xrStringToPath StringToPath;
|
||||
PFN_xrPathToString PathToString;
|
||||
PFN_xrCreateActionSet CreateActionSet;
|
||||
PFN_xrDestroyActionSet DestroyActionSet;
|
||||
PFN_xrCreateAction CreateAction;
|
||||
PFN_xrDestroyAction DestroyAction;
|
||||
PFN_xrSuggestInteractionProfileBindings SuggestInteractionProfileBindings;
|
||||
PFN_xrAttachSessionActionSets AttachSessionActionSets;
|
||||
PFN_xrGetCurrentInteractionProfile GetCurrentInteractionProfile;
|
||||
PFN_xrGetActionStateBoolean GetActionStateBoolean;
|
||||
PFN_xrGetActionStateFloat GetActionStateFloat;
|
||||
PFN_xrGetActionStateVector2f GetActionStateVector2f;
|
||||
PFN_xrGetActionStatePose GetActionStatePose;
|
||||
PFN_xrSyncActions SyncActions;
|
||||
PFN_xrEnumerateBoundSourcesForAction EnumerateBoundSourcesForAction;
|
||||
PFN_xrGetInputSourceLocalizedName GetInputSourceLocalizedName;
|
||||
PFN_xrApplyHapticFeedback ApplyHapticFeedback;
|
||||
PFN_xrStopHapticFeedback StopHapticFeedback;
|
||||
|
||||
// ---- XR_EXT_debug_utils extension commands
|
||||
PFN_xrSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT;
|
||||
PFN_xrCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT;
|
||||
PFN_xrDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT;
|
||||
PFN_xrSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT;
|
||||
PFN_xrSessionBeginDebugUtilsLabelRegionEXT SessionBeginDebugUtilsLabelRegionEXT;
|
||||
PFN_xrSessionEndDebugUtilsLabelRegionEXT SessionEndDebugUtilsLabelRegionEXT;
|
||||
PFN_xrSessionInsertDebugUtilsLabelEXT SessionInsertDebugUtilsLabelEXT;
|
||||
};
|
||||
|
||||
|
||||
// Prototype for dispatch table helper function
|
||||
void GeneratedXrPopulateDispatchTable(struct XrGeneratedDispatchTable *table,
|
||||
XrInstance instance,
|
||||
PFN_xrGetInstanceProcAddr get_inst_proc_addr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue