1 #ifndef VULKAN_XCB_H_ 2 #define VULKAN_XCB_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 // 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" 26 typedef VkFlags VkXcbSurfaceCreateFlagsKHR; 27 typedef 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 35 typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 36 typedef 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 39 VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR( 40 VkInstance instance, 41 const VkXcbSurfaceCreateInfoKHR* pCreateInfo, 42 const VkAllocationCallbacks* pAllocator, 43 VkSurfaceKHR* pSurface); 44 45 VKAPI_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