vulkan_headers/vulkan/
vulkan_xcb.rs1use crate::prelude::*;
2use crate::platform::xcb::*;
3use super::vulkan_core::*;
4
5#[derive(Clone, Copy)]
6#[repr(C)]
7pub struct VkXcbSurfaceCreateInfoKHR {
8 pub sType: VkStructureType,
9 pub pNext: *const c_void,
10 pub flags: VkXcbSurfaceCreateFlagsKHR,
11 pub connection: *mut xcb_connection_t,
12 pub window: xcb_window_t,
13}
14
15pub const VK_KHR_XCB_SURFACE_EXTENSION_NAME: &CStr = c"VK_KHR_xcb_surface";
16pub const VK_KHR_XCB_SURFACE_SPEC_VERSION: u32 = 6;
17pub const VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: VkStructureType = 1000005000;
18
19unsafe extern "system" {
20 #[cfg(any(doc, feature = "prototypes"))]
22 pub fn vkCreateXcbSurfaceKHR(instance: VkInstance, pCreateInfo: *const VkXcbSurfaceCreateInfoKHR, pAllocator: *const VkAllocationCallbacks, pSurface: *mut VkSurfaceKHR) -> VkResult;
23
24 #[cfg(any(doc, feature = "prototypes"))]
26 pub fn vkGetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32, connection: *mut xcb_connection_t, visual_id: xcb_visualid_t) -> VkBool32;
27}
28
29pub type NonNullPFN_vkCreateXcbSurfaceKHR = unsafe extern "system" fn(instance: VkInstance, pCreateInfo: *const VkXcbSurfaceCreateInfoKHR, pAllocator: *const VkAllocationCallbacks, pSurface: *mut VkSurfaceKHR) -> VkResult;
30pub type NonNullPFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = unsafe extern "system" fn(physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32, connection: *mut xcb_connection_t, visual_id: xcb_visualid_t) -> VkBool32;
31pub type PFN_vkCreateXcbSurfaceKHR = Option<NonNullPFN_vkCreateXcbSurfaceKHR>;
32pub type PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR = Option<NonNullPFN_vkGetPhysicalDeviceXcbPresentationSupportKHR>;
33pub type VkXcbSurfaceCreateFlagsKHR = VkFlags;