Monado OpenXR Runtime
Loading...
Searching...
No Matches
xrt_openxr_includes.h
Go to the documentation of this file.
1// Copyright 2018-2024, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Include all of the openxr headers in one place.
6 * @author Jakob Bornecrantz <jakob@collabora.com>
7 * @author Korcan Hussein <korcan.hussein@collabora.com>
8 * @ingroup xrt_iface
9 */
10
11#pragma once
12
13#include "xrt/xrt_openxr_config.h"
14
15//! @todo Move these to the build system instead.
16#define XR_USE_TIMESPEC 1
17
18#ifdef XR_USE_PLATFORM_ANDROID
19#include <jni.h>
20#endif
21
22#ifdef XR_USE_PLATFORM_XLIB
23typedef struct _XDisplay Display;
24typedef void *GLXFBConfig;
25typedef void *GLXDrawable;
26typedef void *GLXContext;
27#endif
28
29#ifdef XR_USE_PLATFORM_WIN32
30#include <Unknwn.h>
31#endif
32
33#if defined(XR_USE_PLATFORM_EGL) || defined(XR_USE_GRAPHICS_API_OPENGL_ES)
34typedef void *EGLDisplay;
35typedef void *EGLContext;
36typedef void *EGLConfig;
37typedef void *EGLDeviceEXT;
38typedef unsigned int EGLenum;
39typedef void (*__eglMustCastToProperFunctionPointerType)(void); // NOLINT
40typedef __eglMustCastToProperFunctionPointerType (*PFNEGLGETPROCADDRESSPROC)(const char *procname);
41#endif
42
43#if defined(XR_USE_PLATFORM_WIN32)
44#include "xrt_windows.h"
45#endif
46
47#if defined(XR_USE_GRAPHICS_API_D3D11)
48#include <d3d11.h>
49#endif
50
51#if defined(XR_USE_GRAPHICS_API_D3D12)
52#include <d3d12.h>
53#endif
54
55#if defined(XR_USE_GRAPHICS_API_VULKAN)
56#include "xrt_vulkan_includes.h"
57#endif
58
59#ifdef XR_USE_TIMESPEC
60#include <time.h>
61#endif
62
63#include "openxr/openxr.h" // IWYU pragma: export
64#include "openxr/openxr_platform.h" // IWYU pragma: export
65#include "openxr/openxr_loader_negotiation.h" // IWYU pragma: export
66#include "openxr/openxr_reflection.h" // IWYU pragma: export
67
68#include "openxr/XR_MNDX_ball_on_a_stick_controller.h"
69#include "openxr/XR_MNDX_blubur_s1.h"
70#include "openxr/XR_MNDX_oculus_remote.h"
71#include "openxr/XR_MNDX_hydra.h"
72#include "openxr/XR_MNDX_psvr2_interaction.h"
73#include "openxr/XR_MNDX_system_buttons.h"
74#include "openxr/XR_MNDX_xdev_space.h"
75#include "openxr/XR_MNDX_flipvr.h"
76#include "openxr/XR_MND_query_egl_device.h"
Include all of the Vulkan headers in one place, and cope with any "messy" includes implied by it.
A minimal way to include Windows.h.