Monado OpenXR Runtime
xrt_gfx_vk.h
Go to the documentation of this file.
1 // Copyright 2019, Collabora, Ltd.
2 // SPDX-License-Identifier: BSL-1.0
3 /*!
4  * @file
5  * @brief Header defining a XRT graphics provider.
6  * @author Jakob Bornecrantz <jakob@collabora.com>
7  * @ingroup xrt_iface
8  */
9 
10 #pragma once
11 
12 #include "xrt/xrt_device.h"
13 #include "xrt/xrt_compositor.h"
15 
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 struct time_state;
22 
23 
24 /*!
25  * @ingroup xrt_iface
26  */
27 extern const char *xrt_gfx_vk_instance_extensions;
28 
29 /*!
30  * @ingroup xrt_iface
31  */
32 extern const char *xrt_gfx_vk_device_extensions;
33 
34 /*!
35  * @ingroup xrt_iface
36  */
37 void
38 xrt_gfx_vk_get_versions(struct xrt_api_requirements *ver);
39 
40 /*!
41  * @ingroup xrt_iface
42  */
43 struct xrt_compositor_vk *
44 xrt_gfx_vk_provider_create(struct xrt_compositor_fd *xcfd,
45  VkInstance instance,
46  PFN_vkGetInstanceProcAddr get_instance_proc_addr,
47  VkPhysicalDevice physical_device,
48  VkDevice device,
49  uint32_t queue_family_index,
50  uint32_t queue_index);
51 
52 
53 #ifdef __cplusplus
54 }
55 #endif
Include all of the Vulkan headers in one place.
Main compositor.
Definition: xrt_compositor.h:474
Base class for a Vulkan client compositor.
Definition: xrt_compositor.h:421
Header defining a xrt HMD device.
A range of API versions supported.
Definition: xrt_defines.h:286
Time-keeping state structure.
Definition: u_time.cpp:46
Header defining a XRT graphics provider.