1#ifndef XENEVA_OPENXR_H_
2#define XENEVA_OPENXR_H_
15#define XR_MAKE_VERSION(major, minor, patch) \
16 ((((uint64_t)(major)&0xffffULL) << 48) | (((uint64_t)(minor)&0xffffULL) << 32) | \
17 ((uint64_t)(patch)&0xffffffffULL))
18#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 34)
19#define XR_SUCCEEDED(r) ((r) >= 0)
20#define XR_FAILED(r) ((r) < 0)
21#define XR_NULL_HANDLE 0
22#define XR_NULL_SYSTEM_ID 0
23#define XR_INFINITE_DURATION 0x7fffffffffffffffLL
#define index(str, chr)
Definition string.h:66
int int32_t
Definition acefiex.h:160
unsigned int uint32_t
Definition acefiex.h:163
COMPILER_DEPENDENT_INT64 int64_t
Definition acefiex.h:164
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
XrResult xrReleaseSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageReleaseInfo *info)
Definition xr_qemu.cpp:306
uint32_t XrBool32
Definition openxr.h:32
void xrQemuSetCanvasSrc(const uint32_t *pixels, int stride_pixels, int shift_l, int shift_r)
Definition xr_qemu.cpp:45
XrEyeVisibility
Definition openxr.h:92
@ XR_EYE_VISIBILITY_RIGHT
Definition openxr.h:95
@ XR_EYE_VISIBILITY_BOTH
Definition openxr.h:93
@ XR_EYE_VISIBILITY_LEFT
Definition openxr.h:94
uint64_t XrInstance
Definition openxr.h:25
XrSessionState
Definition openxr.h:74
@ XR_SESSION_STATE_READY
Definition openxr.h:77
@ XR_SESSION_STATE_IDLE
Definition openxr.h:76
@ XR_SESSION_STATE_UNKNOWN
Definition openxr.h:75
@ XR_SESSION_STATE_FOCUSED
Definition openxr.h:80
@ XR_SESSION_STATE_SYNCHRONIZED
Definition openxr.h:78
@ XR_SESSION_STATE_VISIBLE
Definition openxr.h:79
XrResult xrDestroySession(XrSession session)
Definition xr_qemu.cpp:185
XrResult xrWaitSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageWaitInfo *info)
Definition xr_qemu.cpp:298
XrEnvironmentBlendMode
Definition openxr.h:82
@ XR_ENVIRONMENT_BLEND_MODE_OPAQUE
Definition openxr.h:82
XrResult xrCreateInstance(const XrInstanceCreateInfo *info, XrInstance *instance)
Definition xr_qemu.cpp:156
void xrQemuSetCanvasDamage(const XrRect2Di *rects, uint32_t count)
Definition xr_qemu.cpp:52
XrSwapchainUsageFlagBits
Definition openxr.h:83
@ XR_SWAPCHAIN_USAGE_COLOR_ATTACHMENT_BIT
Definition openxr.h:84
@ XR_SWAPCHAIN_USAGE_SAMPLED_BIT
Definition openxr.h:85
XrResult xrGetSystem(XrInstance instance, const XrSystemGetInfo *info, XrSystemId *systemId)
Definition xr_qemu.cpp:170
void xrQemuSetScanout(uint32_t *pixels, int width, int height, int stride_pixels)
Definition xr_qemu.cpp:27
XrResult xrBeginSession(XrSession session, const XrSessionBeginInfo *info)
Definition xr_qemu.cpp:192
XrResult xrDestroySpace(XrSpace space)
Definition xr_qemu.cpp:217
uint64_t XrSpace
Definition openxr.h:27
XrResult xrWaitFrame(XrSession session, const XrFrameWaitInfo *info, XrFrameState *state)
Definition xr_qemu.cpp:315
XrViewConfigurationType
Definition openxr.h:70
@ XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO
Definition openxr.h:71
uint64_t XrSystemId
Definition openxr.h:29
uint64_t XrFlags64
Definition openxr.h:33
XrFlags64 XrSwapchainUsageFlags
Definition openxr.h:87
uint64_t XrDuration
Definition openxr.h:31
XrResult xrBeginFrame(XrSession session, const XrFrameBeginInfo *info)
Definition xr_qemu.cpp:328
XrResult xrAcquireSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageAcquireInfo *info, uint32_t *index)
Definition xr_qemu.cpp:285
XrResult xrCreateSession(XrInstance instance, const XrSessionCreateInfo *info, XrSession *session)
Definition xr_qemu.cpp:177
XrResult xrDestroySwapchain(XrSwapchain swapchain)
Definition xr_qemu.cpp:252
XrResult
Definition openxr.h:35
@ XR_ERROR_SWAPCHAIN_RECT_INVALID
Definition openxr.h:43
@ XR_SESSION_LOSS_PENDING
Definition openxr.h:38
@ XR_TIMEOUT_EXPIRED
Definition openxr.h:37
@ XR_ERROR_FEATURE_UNSUPPORTED
Definition openxr.h:44
@ XR_ERROR_HANDLE_INVALID
Definition openxr.h:41
@ XR_SUCCESS
Definition openxr.h:36
@ XR_ERROR_SESSION_NOT_RUNNING
Definition openxr.h:42
@ XR_ERROR_RUNTIME_FAILURE
Definition openxr.h:40
@ XR_ERROR_VALIDATION_FAILURE
Definition openxr.h:39
uint64_t XrSwapchain
Definition openxr.h:28
XrResult xrDestroyInstance(XrInstance instance)
Definition xr_qemu.cpp:164
uint64_t XrSession
Definition openxr.h:26
XrFlags64 XrCompositionLayerFlags
Definition openxr.h:91
XrReferenceSpaceType
Definition openxr.h:73
@ XR_REFERENCE_SPACE_TYPE_LOCAL
Definition openxr.h:73
XrResult xrCreateSwapchain(XrSession session, const XrSwapchainCreateInfo *info, XrSwapchain *swapchain)
Definition xr_qemu.cpp:223
XrCompositionLayerFlagBits
Definition openxr.h:88
@ XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT
Definition openxr.h:89
XrFormFactor
Definition openxr.h:69
@ XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY
Definition openxr.h:69
XrResult xrEndSession(XrSession session)
Definition xr_qemu.cpp:200
XrResult xrCreateReferenceSpace(XrSession session, const XrReferenceSpaceCreateInfo *info, XrSpace *space)
Definition xr_qemu.cpp:207
XrResult xrEnumerateSwapchainImages(XrSwapchain swapchain, uint32_t count, uint32_t *written, XrSwapchainImageBaseHeader *images)
Definition xr_qemu.cpp:264
XrStructureType
Definition openxr.h:47
@ XR_TYPE_SESSION_BEGIN_INFO
Definition openxr.h:63
@ XR_TYPE_INSTANCE_CREATE_INFO
Definition openxr.h:49
@ XR_TYPE_FRAME_END_INFO
Definition openxr.h:59
@ XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO
Definition openxr.h:61
@ XR_TYPE_UNKNOWN
Definition openxr.h:48
@ XR_TYPE_SESSION_CREATE_INFO
Definition openxr.h:51
@ XR_TYPE_FRAME_STATE
Definition openxr.h:57
@ XR_TYPE_VIEW
Definition openxr.h:55
@ XR_TYPE_FRAME_WAIT_INFO
Definition openxr.h:56
@ XR_TYPE_SWAPCHAIN_IMAGE_CPU_XENEVA
Definition openxr.h:66
@ XR_TYPE_SWAPCHAIN_CREATE_INFO
Definition openxr.h:52
@ XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO
Definition openxr.h:62
@ XR_TYPE_VIEW_STATE
Definition openxr.h:65
@ XR_TYPE_VIEW_LOCATE_INFO
Definition openxr.h:54
@ XR_TYPE_SYSTEM_GET_INFO
Definition openxr.h:50
@ XR_TYPE_REFERENCE_SPACE_CREATE_INFO
Definition openxr.h:53
@ XR_TYPE_COMPOSITION_LAYER_QUAD
Definition openxr.h:64
@ XR_TYPE_SWAPCHAIN_IMAGE_ACQUIRE_INFO
Definition openxr.h:60
@ XR_TYPE_FRAME_BEGIN_INFO
Definition openxr.h:58
XrResult xrEndFrame(XrSession session, const XrFrameEndInfo *info)
Definition xr_qemu.cpp:335
uint64_t XrTime
Definition openxr.h:30
XrResult xrLocateViews(XrSession session, const XrViewLocateInfo *info, XrViewState *state, uint32_t viewCapacity, uint32_t *viewCount, XrView *views)
Definition xr_qemu.cpp:369
uint64_t written
Definition sndproxy.c:46
char applicationName[128]
Definition openxr.h:128
uint64_t apiVersion
Definition openxr.h:132
uint32_t applicationVersion
Definition openxr.h:129
char engineName[128]
Definition openxr.h:130
uint32_t engineVersion
Definition openxr.h:131
XrSpace space
Definition openxr.h:251
XrPosef pose
Definition openxr.h:254
XrExtent2Df size
Definition openxr.h:255
XrCompositionLayerFlags layerFlags
Definition openxr.h:250
XrSwapchainSubImage subImage
Definition openxr.h:253
XrEyeVisibility eyeVisibility
Definition openxr.h:252
const void * next
Definition openxr.h:249
XrStructureType type
Definition openxr.h:248
float width
Definition openxr.h:115
float height
Definition openxr.h:115
int32_t width
Definition openxr.h:112
int32_t height
Definition openxr.h:112
float angleLeft
Definition openxr.h:109
float angleDown
Definition openxr.h:109
float angleRight
Definition openxr.h:109
float angleUp
Definition openxr.h:109
const void * next
Definition openxr.h:271
XrStructureType type
Definition openxr.h:270
XrEnvironmentBlendMode environmentBlendMode
Definition openxr.h:277
const XrCompositionLayerBaseHeader *const * layers
Definition openxr.h:279
XrStructureType type
Definition openxr.h:274
const void * next
Definition openxr.h:275
uint32_t layerCount
Definition openxr.h:278
XrTime displayTime
Definition openxr.h:276
XrTime predictedDisplayTime
Definition openxr.h:265
XrBool32 shouldRender
Definition openxr.h:267
XrDuration predictedDisplayPeriod
Definition openxr.h:266
void * next
Definition openxr.h:264
XrStructureType type
Definition openxr.h:263
const void * next
Definition openxr.h:260
XrStructureType type
Definition openxr.h:259
XrApplicationInfo applicationInfo
Definition openxr.h:139
const char *const * enabledExtensionNames
Definition openxr.h:143
XrStructureType type
Definition openxr.h:136
const char *const * enabledApiLayerNames
Definition openxr.h:141
uint64_t createFlags
Definition openxr.h:138
uint32_t enabledExtensionCount
Definition openxr.h:142
uint32_t enabledApiLayerCount
Definition openxr.h:140
const void * next
Definition openxr.h:137
int32_t x
Definition openxr.h:124
int32_t y
Definition openxr.h:124
XrQuaternionf orientation
Definition openxr.h:105
XrVector3f position
Definition openxr.h:106
float y
Definition openxr.h:102
float z
Definition openxr.h:102
float w
Definition openxr.h:102
float x
Definition openxr.h:102
XrExtent2Di extent
Definition openxr.h:121
int32_t x
Definition openxr.h:119
struct XrRect2Di::@743 offset
int32_t y
Definition openxr.h:119
XrStructureType type
Definition openxr.h:207
const void * next
Definition openxr.h:208
XrReferenceSpaceType referenceSpaceType
Definition openxr.h:209
XrPosef poseInReferenceSpace
Definition openxr.h:210
XrViewConfigurationType primaryViewConfigurationType
Definition openxr.h:162
XrStructureType type
Definition openxr.h:160
const void * next
Definition openxr.h:161
XrSystemId systemId
Definition openxr.h:156
uint64_t createFlags
Definition openxr.h:155
XrStructureType type
Definition openxr.h:153
const void * next
Definition openxr.h:154
XrSwapchainUsageFlags usageFlags
Definition openxr.h:169
uint32_t mipCount
Definition openxr.h:176
const void * next
Definition openxr.h:167
uint32_t sampleCount
Definition openxr.h:171
uint32_t width
Definition openxr.h:172
uint64_t createFlags
Definition openxr.h:168
uint32_t arraySize
Definition openxr.h:175
XrStructureType type
Definition openxr.h:166
uint32_t faceCount
Definition openxr.h:174
int64_t format
Definition openxr.h:170
uint32_t height
Definition openxr.h:173
const void * next
Definition openxr.h:194
XrStructureType type
Definition openxr.h:193
XrStructureType type
Definition openxr.h:185
uint32_t * rgba
Definition openxr.h:187
void * next
Definition openxr.h:186
uint32_t width
Definition openxr.h:188
uint32_t height
Definition openxr.h:189
XrStructureType type
Definition openxr.h:202
const void * next
Definition openxr.h:203
const void * next
Definition openxr.h:198
XrStructureType type
Definition openxr.h:197
XrDuration timeout
Definition openxr.h:199
XrRect2Di imageRect
Definition openxr.h:236
XrSwapchain swapchain
Definition openxr.h:235
uint32_t imageArrayIndex
Definition openxr.h:237
XrStructureType type
Definition openxr.h:147
const void * next
Definition openxr.h:148
XrFormFactor formFactor
Definition openxr.h:149
float y
Definition openxr.h:99
float x
Definition openxr.h:99
float z
Definition openxr.h:99
XrViewConfigurationType viewConfigurationType
Definition openxr.h:223
XrTime displayTime
Definition openxr.h:224
XrSpace space
Definition openxr.h:225
XrStructureType type
Definition openxr.h:221
const void * next
Definition openxr.h:222
const void * next
Definition openxr.h:230
uint64_t viewStateFlags
Definition openxr.h:231
XrStructureType type
Definition openxr.h:229
void * next
Definition openxr.h:215
XrFovf fov
Definition openxr.h:217
XrStructureType type
Definition openxr.h:214
XrPosef pose
Definition openxr.h:216