erupt/generated/extensions/
ext_4444_formats.rs

1// DO NOT EDIT: @generated by erupt's generator
2///<s>Vulkan Manual Page</s> · Constant
3#[doc(alias = "VK_EXT_4444_FORMATS_SPEC_VERSION")]
4pub const EXT_4444_FORMATS_SPEC_VERSION: u32 = 1;
5///<s>Vulkan Manual Page</s> · Constant
6#[doc(alias = "VK_EXT_4444_FORMATS_EXTENSION_NAME")]
7pub const EXT_4444_FORMATS_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8    "VK_EXT_4444_formats"
9);
10///Provided by [`crate::extensions::ext_4444_formats`]
11impl crate::vk1_0::Format {
12    pub const A4R4G4B4_UNORM_PACK16_EXT: Self = Self::A4R4G4B4_UNORM_PACK16;
13    pub const A4B4G4R4_UNORM_PACK16_EXT: Self = Self::A4B4G4R4_UNORM_PACK16;
14}
15///Provided by [`crate::extensions::ext_4444_formats`]
16impl crate::vk1_0::StructureType {
17    pub const PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: Self = Self(1000340000);
18}
19impl<'a> crate::ExtendableFrom<'a, PhysicalDevice4444FormatsFeaturesEXT>
20for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
21impl<'a> crate::ExtendableFrom<'a, PhysicalDevice4444FormatsFeaturesEXTBuilder<'_>>
22for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
23impl<'a> crate::ExtendableFrom<'a, PhysicalDevice4444FormatsFeaturesEXT>
24for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
25impl<'a> crate::ExtendableFrom<'a, PhysicalDevice4444FormatsFeaturesEXTBuilder<'_>>
26for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
27///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevice4444FormatsFeaturesEXT.html) · Structure
28#[doc(alias = "VkPhysicalDevice4444FormatsFeaturesEXT")]
29#[derive(Copy, Clone)]
30#[repr(C)]
31pub struct PhysicalDevice4444FormatsFeaturesEXT {
32    pub s_type: crate::vk1_0::StructureType,
33    pub p_next: *mut std::ffi::c_void,
34    pub format_a4r4g4b4: crate::vk1_0::Bool32,
35    pub format_a4b4g4r4: crate::vk1_0::Bool32,
36}
37impl PhysicalDevice4444FormatsFeaturesEXT {
38    pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
39}
40impl Default for PhysicalDevice4444FormatsFeaturesEXT {
41    fn default() -> Self {
42        Self {
43            s_type: Self::STRUCTURE_TYPE,
44            p_next: std::ptr::null_mut(),
45            format_a4r4g4b4: Default::default(),
46            format_a4b4g4r4: Default::default(),
47        }
48    }
49}
50impl std::fmt::Debug for PhysicalDevice4444FormatsFeaturesEXT {
51    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
52        f.debug_struct("PhysicalDevice4444FormatsFeaturesEXT")
53            .field("s_type", &self.s_type)
54            .field("p_next", &self.p_next)
55            .field("format_a4r4g4b4", &(self.format_a4r4g4b4 != 0))
56            .field("format_a4b4g4r4", &(self.format_a4b4g4r4 != 0))
57            .finish()
58    }
59}
60impl PhysicalDevice4444FormatsFeaturesEXT {
61    #[inline]
62    pub fn into_builder<'a>(self) -> PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
63        PhysicalDevice4444FormatsFeaturesEXTBuilder(self, std::marker::PhantomData)
64    }
65}
66#[derive(Copy, Clone)]
67///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevice4444FormatsFeaturesEXT.html) · Builder of [`PhysicalDevice4444FormatsFeaturesEXT`]
68#[repr(transparent)]
69pub struct PhysicalDevice4444FormatsFeaturesEXTBuilder<'a>(
70    PhysicalDevice4444FormatsFeaturesEXT,
71    std::marker::PhantomData<&'a ()>,
72);
73impl<'a> PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
74    #[inline]
75    pub fn new() -> PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
76        PhysicalDevice4444FormatsFeaturesEXTBuilder(
77            Default::default(),
78            std::marker::PhantomData,
79        )
80    }
81    #[inline]
82    #[must_use]
83    pub fn format_a4r4g4b4(mut self, format_a4r4g4b4: bool) -> Self {
84        self.0.format_a4r4g4b4 = format_a4r4g4b4 as _;
85        self
86    }
87    #[inline]
88    #[must_use]
89    pub fn format_a4b4g4r4(mut self, format_a4b4g4r4: bool) -> Self {
90        self.0.format_a4b4g4r4 = format_a4b4g4r4 as _;
91        self
92    }
93    #[inline]
94    /// Discards all lifetime information.
95    /// Use the `Deref` and `DerefMut` implementations if possible.
96    pub fn build_dangling(self) -> PhysicalDevice4444FormatsFeaturesEXT {
97        self.0
98    }
99}
100impl<'a> std::default::Default for PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
101    fn default() -> PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
102        Self::new()
103    }
104}
105impl<'a> std::fmt::Debug for PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
106    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
107        std::fmt::Debug::fmt(&self.0, f)
108    }
109}
110impl<'a> std::ops::Deref for PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
111    type Target = PhysicalDevice4444FormatsFeaturesEXT;
112    fn deref(&self) -> &Self::Target {
113        &self.0
114    }
115}
116impl<'a> std::ops::DerefMut for PhysicalDevice4444FormatsFeaturesEXTBuilder<'a> {
117    fn deref_mut(&mut self) -> &mut Self::Target {
118        &mut self.0
119    }
120}