1 | #ifndef VULKAN_XLIB_H_ |
2 | #define VULKAN_XLIB_H_ 1 |
3 | |
4 | /* |
5 | ** Copyright 2015-2023 The Khronos Group Inc. |
6 | ** |
7 | ** SPDX-License-Identifier: Apache-2.0 |
8 | */ |
9 | |
10 | /* |
11 | ** This header is generated from the Khronos Vulkan XML API Registry. |
12 | ** |
13 | */ |
14 | |
15 | |
16 | #ifdef __cplusplus |
17 | extern "C" { |
18 | #endif |
19 | |
20 | |
21 | |
22 | #define VK_KHR_xlib_surface 1 |
23 | #define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 |
24 | #define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface" |
25 | typedef VkFlags VkXlibSurfaceCreateFlagsKHR; |
26 | typedef struct VkXlibSurfaceCreateInfoKHR { |
27 | VkStructureType sType; |
28 | const void* pNext; |
29 | VkXlibSurfaceCreateFlagsKHR flags; |
30 | Display* dpy; |
31 | Window window; |
32 | } VkXlibSurfaceCreateInfoKHR; |
33 | |
34 | typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
35 | typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID); |
36 | |
37 | #ifndef VK_NO_PROTOTYPES |
38 | VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( |
39 | VkInstance instance, |
40 | const VkXlibSurfaceCreateInfoKHR* pCreateInfo, |
41 | const VkAllocationCallbacks* pAllocator, |
42 | VkSurfaceKHR* pSurface); |
43 | |
44 | VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( |
45 | VkPhysicalDevice physicalDevice, |
46 | uint32_t queueFamilyIndex, |
47 | Display* dpy, |
48 | VisualID visualID); |
49 | #endif |
50 | |
51 | #ifdef __cplusplus |
52 | } |
53 | #endif |
54 | |
55 | #endif |
56 | |