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