1#ifndef VULKAN_XCB_H_
2#define VULKAN_XCB_H_ 1
3
4/*
5** Copyright 2015-2022 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_xcb_surface 1
23#define VK_KHR_XCB_SURFACE_SPEC_VERSION   6
24#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
25typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
26typedef struct VkXcbSurfaceCreateInfoKHR {
27    VkStructureType               sType;
28    const void*                   pNext;
29    VkXcbSurfaceCreateFlagsKHR    flags;
30    xcb_connection_t*             connection;
31    xcb_window_t                  window;
32} VkXcbSurfaceCreateInfoKHR;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
36
37#ifndef VK_NO_PROTOTYPES
38VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
39    VkInstance                                  instance,
40    const VkXcbSurfaceCreateInfoKHR*            pCreateInfo,
41    const VkAllocationCallbacks*                pAllocator,
42    VkSurfaceKHR*                               pSurface);
43
44VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
45    VkPhysicalDevice                            physicalDevice,
46    uint32_t                                    queueFamilyIndex,
47    xcb_connection_t*                           connection,
48    xcb_visualid_t                              visual_id);
49#endif
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif
56