Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/openxr/src/common/xr_dependencies.h
9903 views
1
// Copyright (c) 2018-2025 The Khronos Group Inc.
2
//
3
// SPDX-License-Identifier: Apache-2.0 OR MIT
4
//
5
// This file includes headers with types which openxr.h depends on in order
6
// to compile when platforms, graphics apis, and the like are enabled.
7
8
#pragma once
9
10
#ifdef XR_USE_PLATFORM_ANDROID
11
#include <android/native_window.h>
12
#include <android/window.h>
13
#include <android/native_window_jni.h>
14
#endif // XR_USE_PLATFORM_ANDROID
15
16
#ifdef XR_USE_PLATFORM_WIN32
17
18
#include <winapifamily.h>
19
#if !(WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM))
20
// Enable desktop partition APIs, such as RegOpenKeyEx, LoadLibraryEx, PathFileExists etc.
21
#undef WINAPI_PARTITION_DESKTOP
22
#define WINAPI_PARTITION_DESKTOP 1
23
#endif
24
25
#ifndef NOMINMAX
26
#define NOMINMAX
27
#endif // !NOMINMAX
28
29
#ifndef WIN32_LEAN_AND_MEAN
30
#define WIN32_LEAN_AND_MEAN
31
#endif // !WIN32_LEAN_AND_MEAN
32
33
#include <windows.h>
34
#include <unknwn.h>
35
36
#endif // XR_USE_PLATFORM_WIN32
37
38
#ifdef XR_USE_GRAPHICS_API_D3D11
39
#include <d3d11.h>
40
#endif // XR_USE_GRAPHICS_API_D3D11
41
42
#ifdef XR_USE_GRAPHICS_API_D3D12
43
#include <d3d12.h>
44
#endif // XR_USE_GRAPHICS_API_D3D12
45
46
#ifdef XR_USE_PLATFORM_XLIB
47
#include <X11/Xlib.h>
48
#include <X11/Xutil.h>
49
#endif // XR_USE_PLATFORM_XLIB
50
51
#ifdef XR_USE_PLATFORM_XCB
52
#include <xcb/xcb.h>
53
#endif // XR_USE_PLATFORM_XCB
54
55
#if defined(XR_USE_GRAPHICS_API_OPENGL_ES) || defined(XR_USE_PLATFORM_EGL) || defined(XR_USE_PLATFORM_ANDROID)
56
#ifdef XRDEPENDENCIES_USE_GLAD
57
#include <glad/egl.h>
58
#else
59
#include <EGL/egl.h>
60
#endif
61
#endif // XR_USE_GRAPHICS_API_OPENGL_ES || XR_USE_PLATFORM_EGL || XR_USE_PLATFORM_ANDROID
62
63
#if defined(XR_USE_GRAPHICS_API_OPENGL) && (defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB))
64
#ifdef XRDEPENDENCIES_USE_GLAD
65
#include <glad/glx.h>
66
#else
67
#include <GL/glx.h>
68
#endif
69
#endif // XR_USE_GRAPHICS_API_OPENGL && XR_USE_PLATFORM_XLIB || XR_USE_PLATFORM_XCB
70
71
#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_XCB)
72
#include <xcb/glx.h>
73
#endif // XR_USE_GRAPHICS_API_OPENGL && XR_USE_PLATFORM_XCB
74
75
#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_MACOS) && !defined(XRDEPENDENCIES_USE_GLAD)
76
#include <OpenCL/cl_gl_ext.h>
77
#endif // XR_USE_GRAPHICS_API_OPENGL && XR_USE_PLATFORM_MACOS && !XRDEPENDENCIES_USE_GLAD
78
79
#ifdef XR_USE_GRAPHICS_API_VULKAN
80
#include <vulkan/vulkan.h>
81
#endif // XR_USE_GRAPHICS_API_VULKAN
82
83
#ifdef XR_USE_PLATFORM_WAYLAND
84
#include <wayland-client.h>
85
#endif // XR_USE_PLATFORM_WAYLAND
86
87
#if defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
88
#ifdef Success
89
#undef Success
90
#endif // Success
91
92
#ifdef Always
93
#undef Always
94
#endif // Always
95
96
#ifdef None
97
#undef None
98
#endif // None
99
#endif // defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)
100
101
#ifdef XR_USE_TIMESPEC
102
#include <time.h>
103
#endif // XR_USE_TIMESPEC
104
105