Path: blob/master/thirdparty/openxr/src/common/xr_dependencies.h
9903 views
// Copyright (c) 2018-2025 The Khronos Group Inc.1//2// SPDX-License-Identifier: Apache-2.0 OR MIT3//4// This file includes headers with types which openxr.h depends on in order5// to compile when platforms, graphics apis, and the like are enabled.67#pragma once89#ifdef XR_USE_PLATFORM_ANDROID10#include <android/native_window.h>11#include <android/window.h>12#include <android/native_window_jni.h>13#endif // XR_USE_PLATFORM_ANDROID1415#ifdef XR_USE_PLATFORM_WIN321617#include <winapifamily.h>18#if !(WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM))19// Enable desktop partition APIs, such as RegOpenKeyEx, LoadLibraryEx, PathFileExists etc.20#undef WINAPI_PARTITION_DESKTOP21#define WINAPI_PARTITION_DESKTOP 122#endif2324#ifndef NOMINMAX25#define NOMINMAX26#endif // !NOMINMAX2728#ifndef WIN32_LEAN_AND_MEAN29#define WIN32_LEAN_AND_MEAN30#endif // !WIN32_LEAN_AND_MEAN3132#include <windows.h>33#include <unknwn.h>3435#endif // XR_USE_PLATFORM_WIN323637#ifdef XR_USE_GRAPHICS_API_D3D1138#include <d3d11.h>39#endif // XR_USE_GRAPHICS_API_D3D114041#ifdef XR_USE_GRAPHICS_API_D3D1242#include <d3d12.h>43#endif // XR_USE_GRAPHICS_API_D3D124445#ifdef XR_USE_PLATFORM_XLIB46#include <X11/Xlib.h>47#include <X11/Xutil.h>48#endif // XR_USE_PLATFORM_XLIB4950#ifdef XR_USE_PLATFORM_XCB51#include <xcb/xcb.h>52#endif // XR_USE_PLATFORM_XCB5354#if defined(XR_USE_GRAPHICS_API_OPENGL_ES) || defined(XR_USE_PLATFORM_EGL) || defined(XR_USE_PLATFORM_ANDROID)55#ifdef XRDEPENDENCIES_USE_GLAD56#include <glad/egl.h>57#else58#include <EGL/egl.h>59#endif60#endif // XR_USE_GRAPHICS_API_OPENGL_ES || XR_USE_PLATFORM_EGL || XR_USE_PLATFORM_ANDROID6162#if defined(XR_USE_GRAPHICS_API_OPENGL) && (defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB))63#ifdef XRDEPENDENCIES_USE_GLAD64#include <glad/glx.h>65#else66#include <GL/glx.h>67#endif68#endif // XR_USE_GRAPHICS_API_OPENGL && XR_USE_PLATFORM_XLIB || XR_USE_PLATFORM_XCB6970#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_XCB)71#include <xcb/glx.h>72#endif // XR_USE_GRAPHICS_API_OPENGL && XR_USE_PLATFORM_XCB7374#if defined(XR_USE_GRAPHICS_API_OPENGL) && defined(XR_USE_PLATFORM_MACOS) && !defined(XRDEPENDENCIES_USE_GLAD)75#include <OpenCL/cl_gl_ext.h>76#endif // XR_USE_GRAPHICS_API_OPENGL && XR_USE_PLATFORM_MACOS && !XRDEPENDENCIES_USE_GLAD7778#ifdef XR_USE_GRAPHICS_API_VULKAN79#include <vulkan/vulkan.h>80#endif // XR_USE_GRAPHICS_API_VULKAN8182#ifdef XR_USE_PLATFORM_WAYLAND83#include <wayland-client.h>84#endif // XR_USE_PLATFORM_WAYLAND8586#if defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)87#ifdef Success88#undef Success89#endif // Success9091#ifdef Always92#undef Always93#endif // Always9495#ifdef None96#undef None97#endif // None98#endif // defined(XR_USE_PLATFORM_XLIB) || defined(XR_USE_PLATFORM_XCB)99100#ifdef XR_USE_TIMESPEC101#include <time.h>102#endif // XR_USE_TIMESPEC103104105