Monado OpenXR Runtime
xrt_openxr_includes.h
Go to the documentation of this file.
1 // Copyright 2018-2023, 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 //! @todo Move these to the build system instead.
14 #define XR_USE_TIMESPEC 1
15 
16 #ifdef XR_USE_PLATFORM_ANDROID
17 #include <jni.h>
18 #endif
19 
20 #ifdef XR_USE_PLATFORM_XLIB
21 typedef struct _XDisplay Display;
22 typedef void *GLXFBConfig;
23 typedef void *GLXDrawable;
24 typedef void *GLXContext;
25 #endif
26 
27 #ifdef XR_USE_PLATFORM_WIN32
28 #include <Unknwn.h>
29 #endif
30 
31 #if defined(XR_USE_PLATFORM_EGL) || defined(XR_USE_GRAPHICS_API_OPENGL_ES)
32 typedef void *EGLDisplay;
33 typedef void *EGLContext;
34 typedef void *EGLConfig;
35 typedef unsigned int EGLenum;
36 typedef void (*__eglMustCastToProperFunctionPointerType)(void); // NOLINT
37 typedef __eglMustCastToProperFunctionPointerType (*PFNEGLGETPROCADDRESSPROC)(const char *procname);
38 #endif
39 
40 #if defined(XR_USE_PLATFORM_WIN32)
41 #include "xrt_windows.h"
42 #endif
43 
44 #if defined(XR_USE_GRAPHICS_API_D3D11)
45 #include <d3d11.h>
46 #endif
47 
48 #if defined(XR_USE_GRAPHICS_API_D3D12)
49 #include <d3d12.h>
50 #endif
51 
52 #if defined(XR_USE_GRAPHICS_API_VULKAN)
53 #include "xrt_vulkan_includes.h"
54 #endif
55 
56 #ifdef XR_USE_TIMESPEC
57 #include <time.h>
58 #endif
59 
60 #include "openxr/openxr.h" // IWYU pragma: export
61 #include "openxr/openxr_platform.h" // IWYU pragma: export
62 #include "openxr/openxr_loader_negotiation.h" // IWYU pragma: export
63 
64 #include "openxr/XR_MNDX_hydra.h"
65 #include "openxr/XR_MNDX_system_buttons.h"
66 #include "openxr/XR_MNDX_ball_on_a_stick_controller.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.