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
17extern "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"
25typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
26typedef struct VkXlibSurfaceCreateInfoKHR {
27 VkStructureType sType;
28 const void* pNext;
29 VkXlibSurfaceCreateFlagsKHR flags;
30 Display* dpy;
31 Window window;
32} VkXlibSurfaceCreateInfoKHR;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
36
37#ifndef VK_NO_PROTOTYPES
38VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
39 VkInstance instance,
40 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
41 const VkAllocationCallbacks* pAllocator,
42 VkSurfaceKHR* pSurface);
43
44VKAPI_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