1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# ! [ doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_direct_mode_display.html)" ]#[doc = "<s>Vulkan Manual Page</s> · Constant"]
pub const EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION: u32 = 1;
#[doc = "<s>Vulkan Manual Page</s> · Constant"]
pub const EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME: *const std::os::raw::c_char =
    crate::cstr!("VK_EXT_direct_mode_display");
#[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkReleaseDisplayEXT.html) · Instance Command"]
#[allow(non_camel_case_types)]
pub type PFN_vkReleaseDisplayEXT = unsafe extern "system" fn(
    physical_device: crate::vk1_0::PhysicalDevice,
    display: crate::extensions::khr_display::DisplayKHR,
) -> crate::vk1_0::Result;
#[doc = "Provides Instance Commands for [`ExtDirectModeDisplayInstanceLoaderExt`](trait.ExtDirectModeDisplayInstanceLoaderExt.html)"]
pub struct ExtDirectModeDisplayInstanceCommands {
    pub release_display_ext: PFN_vkReleaseDisplayEXT,
}
impl ExtDirectModeDisplayInstanceCommands {
    #[inline]
    pub fn load(loader: &crate::InstanceLoader) -> Option<ExtDirectModeDisplayInstanceCommands> {
        unsafe {
            Some(ExtDirectModeDisplayInstanceCommands {
                release_display_ext: std::mem::transmute(loader.symbol("vkReleaseDisplayEXT")?),
            })
        }
    }
}
#[doc = "Provides high level command wrappers for [`ExtDirectModeDisplayInstanceCommands`](struct.ExtDirectModeDisplayInstanceCommands.html)"]
pub trait ExtDirectModeDisplayInstanceLoaderExt {
    #[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkReleaseDisplayEXT.html) · Instance Command"]
    unsafe fn release_display_ext(
        &self,
        physical_device: crate::vk1_0::PhysicalDevice,
        display: crate::extensions::khr_display::DisplayKHR,
    ) -> crate::utils::VulkanResult<()>;
}
impl ExtDirectModeDisplayInstanceLoaderExt for crate::InstanceLoader {
    #[inline]
    #[doc = "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkReleaseDisplayEXT.html) · Instance Command"]
    unsafe fn release_display_ext(
        &self,
        physical_device: crate::vk1_0::PhysicalDevice,
        display: crate::extensions::khr_display::DisplayKHR,
    ) -> crate::utils::VulkanResult<()> {
        let function = self
            .ext_direct_mode_display
            .as_ref()
            .expect("`ext_direct_mode_display` not loaded")
            .release_display_ext;
        let _val = function(physical_device, display);
        crate::utils::VulkanResult::new(_val, ())
    }
}