mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-28 10:36:15 +00:00
st/oxr: Add XR_MNDX_xdev_space extension header
This commit is contained in:
parent
889dc32f67
commit
158f420748
80
src/external/openxr_includes/openxr/XR_MNDX_xdev_space.h
vendored
Normal file
80
src/external/openxr_includes/openxr/XR_MNDX_xdev_space.h
vendored
Normal file
|
@ -0,0 +1,80 @@
|
|||
// Copyright 2023-2024, Collabora, Ltd.
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
/*!
|
||||
* @file
|
||||
* @brief Preview header for XR_MNDX_xdev_space extension.
|
||||
* @author Jakob Bornecrantz <jakob@collabora.com>
|
||||
* @ingroup external_openxr
|
||||
*/
|
||||
#ifndef XR_MNDX_XDEV_SPACE_H
|
||||
#define XR_MNDX_XDEV_SPACE_H 1
|
||||
|
||||
#include "openxr_extension_helpers.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Extension number 445 (444 prefix)
|
||||
#define XR_MNDX_xdev_space 1
|
||||
#define XR_MNDX_xdev_space_SPEC_VERSION 1
|
||||
#define XR_MNDX_XDEV_SPACE_EXTENSION_NAME "XR_MNDX_xdev_space"
|
||||
|
||||
|
||||
XR_DEFINE_ATOM(XrXDevIdMNDX)
|
||||
XR_DEFINE_HANDLE(XrXDevListMNDX)
|
||||
|
||||
|
||||
XR_STRUCT_ENUM(XR_TYPE_SYSTEM_XDEV_SPACE_PROPERTIES_MNDX, 1000444001);
|
||||
// XrSystemXDevSpacePropertiesMNDX extends XrSystemProperties
|
||||
typedef struct XrSystemXDevSpacePropertiesMNDX {
|
||||
XrStructureType type;
|
||||
void* XR_MAY_ALIAS next;
|
||||
XrBool32 supportsXDevSpace;
|
||||
} XrSystemXDevSpacePropertiesMNDX;
|
||||
|
||||
XR_STRUCT_ENUM(XR_TYPE_CREATE_XDEV_LIST_INFO_MNDX, 1000444002);
|
||||
typedef struct XrCreateXDevListInfoMNDX {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
} XrCreateXDevListInfoMNDX;
|
||||
|
||||
XR_STRUCT_ENUM(XR_TYPE_GET_XDEV_INFO_MNDX, 1000444003);
|
||||
typedef struct XrGetXDevInfoMNDX {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
XrXDevIdMNDX id;
|
||||
} XrGetXDevInfoMNDX;
|
||||
|
||||
XR_STRUCT_ENUM(XR_TYPE_XDEV_PROPERTIES_MNDX, 1000444004);
|
||||
typedef struct XrXDevPropertiesMNDX {
|
||||
XrStructureType type;
|
||||
void* XR_MAY_ALIAS next;
|
||||
char name[256];
|
||||
char serial[256];
|
||||
XrBool32 canCreateSpace;
|
||||
} XrXDevPropertiesMNDX;
|
||||
|
||||
XR_STRUCT_ENUM(XR_TYPE_CREATE_XDEV_SPACE_INFO_MNDX, 1000444005);
|
||||
typedef struct XrCreateXDevSpaceInfoMNDX {
|
||||
XrStructureType type;
|
||||
const void* XR_MAY_ALIAS next;
|
||||
XrXDevListMNDX xdevList;
|
||||
XrXDevIdMNDX id;
|
||||
XrPosef offset;
|
||||
} XrCreateXDevSpaceInfoMNDX;
|
||||
|
||||
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrCreateXDevListMNDX)(XrSession session, const XrCreateXDevListInfoMNDX *info, XrXDevListMNDX *xdevList);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrGetXDevListGenerationNumberMNDX)(XrXDevListMNDX xdevList, uint64_t *outGeneration);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrEnumerateXDevsMNDX)(XrXDevListMNDX xdevList, uint32_t xdevCapacityInput, uint32_t* xdevCountOutput, XrXDevIdMNDX* xdevs);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrGetXDevPropertiesMNDX)(XrXDevListMNDX xdevList, const XrGetXDevInfoMNDX *info, XrXDevPropertiesMNDX *properties);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrDestroyXDevListMNDX)(XrXDevListMNDX xdevList);
|
||||
typedef XrResult (XRAPI_PTR *PFN_xrCreateXDevSpaceMNDX)(XrSession session, const XrCreateXDevSpaceInfoMNDX *createInfo, XrSpace *space);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
18
src/external/openxr_includes/openxr/openxr_extension_helpers.h
vendored
Normal file
18
src/external/openxr_includes/openxr/openxr_extension_helpers.h
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
** Copyright (c) 2017-2022, The Khronos Group Inc.
|
||||
**
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <openxr/openxr.h>
|
||||
|
||||
// These are just convenience macros for defining enums that would
|
||||
// normally be declared in the body of the enum, but can't be declared
|
||||
// that way easily for experimental extensions.
|
||||
|
||||
#define XR_ENUM(type, enm, constant) static const type enm = (type)constant
|
||||
#define XR_STRUCT_ENUM(enm, constant) XR_ENUM(XrStructureType, enm, constant)
|
||||
#define XR_RESULT_ENUM(enm, constant) XR_ENUM(XrResult, enm, constant)
|
||||
#define XR_REFSPACE_ENUM(enm, constant) XR_ENUM(XrReferenceSpaceType, enm, constant)
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2018-2023, Collabora, Ltd.
|
||||
// Copyright 2018-2024, Collabora, Ltd.
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
/*!
|
||||
* @file
|
||||
|
@ -62,5 +62,6 @@ typedef __eglMustCastToProperFunctionPointerType (*PFNEGLGETPROCADDRESSPROC)(con
|
|||
#include "openxr/openxr_loader_negotiation.h" // IWYU pragma: export
|
||||
|
||||
#include "openxr/XR_MNDX_hydra.h"
|
||||
#include "openxr/XR_MNDX_xdev_space.h"
|
||||
#include "openxr/XR_MNDX_system_buttons.h"
|
||||
#include "openxr/XR_MNDX_ball_on_a_stick_controller.h"
|
||||
|
|
Loading…
Reference in a new issue