vulkan_headers/vulkan/
vulkan_directfb.rs1use crate::prelude::*;
2use crate::platform::directfb::*;
3use super::vulkan_core::*;
4
5#[derive(Clone, Copy)]
6#[repr(C)]
7pub struct VkDirectFBSurfaceCreateInfoEXT {
8 pub sType: VkStructureType,
9 pub pNext: *const c_void,
10 pub flags: VkDirectFBSurfaceCreateFlagsEXT,
11 pub dfb: *mut IDirectFB,
12 pub surface: *mut IDirectFBSurface,
13}
14
15pub const VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME: &CStr = c"VK_EXT_directfb_surface";
16pub const VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION: u32 = 1;
17pub const VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: VkStructureType = 1000346000;
18
19unsafe extern "system" {
20 #[cfg(any(doc, feature = "prototypes"))]
22 pub fn vkCreateDirectFBSurfaceEXT(instance: VkInstance, pCreateInfo: *const VkDirectFBSurfaceCreateInfoEXT, pAllocator: *const VkAllocationCallbacks, pSurface: *mut VkSurfaceKHR) -> VkResult;
23
24 #[cfg(any(doc, feature = "prototypes"))]
26 pub fn vkGetPhysicalDeviceDirectFBPresentationSupportEXT(physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32, dfb: *mut IDirectFB) -> VkBool32;
27}
28
29pub type NonNullPFN_vkCreateDirectFBSurfaceEXT = unsafe extern "system" fn(instance: VkInstance, pCreateInfo: *const VkDirectFBSurfaceCreateInfoEXT, pAllocator: *const VkAllocationCallbacks, pSurface: *mut VkSurfaceKHR) -> VkResult;
30pub type NonNullPFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT = unsafe extern "system" fn(physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32, dfb: *mut IDirectFB) -> VkBool32;
31pub type PFN_vkCreateDirectFBSurfaceEXT = Option<NonNullPFN_vkCreateDirectFBSurfaceEXT>;
32pub type PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT = Option<NonNullPFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT>;
33pub type VkDirectFBSurfaceCreateFlagsEXT = VkFlags;