9 #ifndef XR_MNDX_XDEV_SPACE_H
10 #define XR_MNDX_XDEV_SPACE_H 1
12 #include "openxr_extension_helpers.h"
19 #define XR_MNDX_xdev_space 1
20 #define XR_MNDX_xdev_space_SPEC_VERSION 1
21 #define XR_MNDX_XDEV_SPACE_EXTENSION_NAME "XR_MNDX_xdev_space"
24 XR_DEFINE_ATOM(XrXDevIdMNDX)
25 XR_DEFINE_HANDLE(XrXDevListMNDX)
28 XR_STRUCT_ENUM(XR_TYPE_SYSTEM_XDEV_SPACE_PROPERTIES_MNDX, 1000444001);
30 typedef struct XrSystemXDevSpacePropertiesMNDX {
32 void* XR_MAY_ALIAS next;
33 XrBool32 supportsXDevSpace;
34 } XrSystemXDevSpacePropertiesMNDX;
36 XR_STRUCT_ENUM(XR_TYPE_CREATE_XDEV_LIST_INFO_MNDX, 1000444002);
37 typedef struct XrCreateXDevListInfoMNDX {
39 const void* XR_MAY_ALIAS next;
40 } XrCreateXDevListInfoMNDX;
42 XR_STRUCT_ENUM(XR_TYPE_GET_XDEV_INFO_MNDX, 1000444003);
43 typedef struct XrGetXDevInfoMNDX {
45 const void* XR_MAY_ALIAS next;
49 XR_STRUCT_ENUM(XR_TYPE_XDEV_PROPERTIES_MNDX, 1000444004);
50 typedef struct XrXDevPropertiesMNDX {
52 void* XR_MAY_ALIAS next;
55 XrBool32 canCreateSpace;
56 } XrXDevPropertiesMNDX;
58 XR_STRUCT_ENUM(XR_TYPE_CREATE_XDEV_SPACE_INFO_MNDX, 1000444005);
59 typedef struct XrCreateXDevSpaceInfoMNDX {
61 const void* XR_MAY_ALIAS next;
62 XrXDevListMNDX xdevList;
65 } XrCreateXDevSpaceInfoMNDX;
68 typedef XrResult (XRAPI_PTR *PFN_xrCreateXDevListMNDX)(XrSession session,
const XrCreateXDevListInfoMNDX *info, XrXDevListMNDX *xdevList);
69 typedef XrResult (XRAPI_PTR *PFN_xrGetXDevListGenerationNumberMNDX)(XrXDevListMNDX xdevList, uint64_t *outGeneration);
70 typedef XrResult (XRAPI_PTR *PFN_xrEnumerateXDevsMNDX)(XrXDevListMNDX xdevList, uint32_t xdevCapacityInput, uint32_t* xdevCountOutput, XrXDevIdMNDX* xdevs);
71 typedef XrResult (XRAPI_PTR *PFN_xrGetXDevPropertiesMNDX)(XrXDevListMNDX xdevList,
const XrGetXDevInfoMNDX *info, XrXDevPropertiesMNDX *properties);
72 typedef XrResult (XRAPI_PTR *PFN_xrDestroyXDevListMNDX)(XrXDevListMNDX xdevList);
73 typedef XrResult (XRAPI_PTR *PFN_xrCreateXDevSpaceMNDX)(XrSession session,
const XrCreateXDevSpaceInfoMNDX *createInfo, XrSpace *space);