Skip to main content

vulkan_headers/vulkan/
vulkan_ggp.rs

1use crate::prelude::*;
2use crate::platform::ggp::*;
3use super::vulkan_core::*;
4
5#[derive(Clone, Copy)]
6#[repr(C)]
7pub struct VkPresentFrameTokenGGP {
8    pub sType: VkStructureType,
9    pub pNext: *const c_void,
10    pub frameToken: GgpFrameToken,
11}
12
13#[derive(Clone, Copy)]
14#[repr(C)]
15pub struct VkStreamDescriptorSurfaceCreateInfoGGP {
16    pub sType: VkStructureType,
17    pub pNext: *const c_void,
18    pub flags: VkStreamDescriptorSurfaceCreateFlagsGGP,
19    pub streamDescriptor: GgpStreamDescriptor,
20}
21
22pub const VK_GGP_FRAME_TOKEN_EXTENSION_NAME: &CStr = c"VK_GGP_frame_token";
23pub const VK_GGP_FRAME_TOKEN_SPEC_VERSION: u32 = 1;
24pub const VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME: &CStr = c"VK_GGP_stream_descriptor_surface";
25pub const VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION: u32 = 1;
26pub const VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: VkStructureType = 1000191000;
27pub const VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: VkStructureType = 1000049000;
28
29unsafe extern "system" {
30    /// Available if built with `prototypes`.
31    #[cfg(any(doc, feature = "prototypes"))]
32    pub fn vkCreateStreamDescriptorSurfaceGGP(instance: VkInstance, pCreateInfo: *const VkStreamDescriptorSurfaceCreateInfoGGP, pAllocator: *const VkAllocationCallbacks, pSurface: *mut VkSurfaceKHR) -> VkResult;
33}
34
35pub type NonNullPFN_vkCreateStreamDescriptorSurfaceGGP = unsafe extern "system" fn(instance: VkInstance, pCreateInfo: *const VkStreamDescriptorSurfaceCreateInfoGGP, pAllocator: *const VkAllocationCallbacks, pSurface: *mut VkSurfaceKHR) -> VkResult;
36pub type PFN_vkCreateStreamDescriptorSurfaceGGP = Option<NonNullPFN_vkCreateStreamDescriptorSurfaceGGP>;
37pub type VkStreamDescriptorSurfaceCreateFlagsGGP = VkFlags;