erupt/generated/extensions/
ext_primitives_generated_query.rs

1// DO NOT EDIT: @generated by erupt's generator
2///<s>Vulkan Manual Page</s> · Constant
3#[doc(alias = "VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION")]
4pub const EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION: u32 = 1;
5///<s>Vulkan Manual Page</s> · Constant
6#[doc(alias = "VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME")]
7pub const EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8    "VK_EXT_primitives_generated_query"
9);
10///Provided by [`crate::extensions::ext_primitives_generated_query`]
11impl crate::vk1_0::QueryType {
12    pub const PRIMITIVES_GENERATED_EXT: Self = Self(1000382000);
13}
14///Provided by [`crate::extensions::ext_primitives_generated_query`]
15impl crate::vk1_0::StructureType {
16    pub const PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: Self = Self(
17        1000382000,
18    );
19}
20impl<'a> crate::ExtendableFrom<'a, PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>
21for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
22impl<
23    'a,
24> crate::ExtendableFrom<'a, PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'_>>
25for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
26impl<'a> crate::ExtendableFrom<'a, PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>
27for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
28impl<
29    'a,
30> crate::ExtendableFrom<'a, PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'_>>
31for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
32///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT.html) · Structure
33#[doc(alias = "VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT")]
34#[derive(Copy, Clone)]
35#[repr(C)]
36pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
37    pub s_type: crate::vk1_0::StructureType,
38    pub p_next: *mut std::ffi::c_void,
39    pub primitives_generated_query: crate::vk1_0::Bool32,
40    pub primitives_generated_query_with_rasterizer_discard: crate::vk1_0::Bool32,
41    pub primitives_generated_query_with_non_zero_streams: crate::vk1_0::Bool32,
42}
43impl PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
44    pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT;
45}
46impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
47    fn default() -> Self {
48        Self {
49            s_type: Self::STRUCTURE_TYPE,
50            p_next: std::ptr::null_mut(),
51            primitives_generated_query: Default::default(),
52            primitives_generated_query_with_rasterizer_discard: Default::default(),
53            primitives_generated_query_with_non_zero_streams: Default::default(),
54        }
55    }
56}
57impl std::fmt::Debug for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
58    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
59        f.debug_struct("PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT")
60            .field("s_type", &self.s_type)
61            .field("p_next", &self.p_next)
62            .field("primitives_generated_query", &(self.primitives_generated_query != 0))
63            .field(
64                "primitives_generated_query_with_rasterizer_discard",
65                &(self.primitives_generated_query_with_rasterizer_discard != 0),
66            )
67            .field(
68                "primitives_generated_query_with_non_zero_streams",
69                &(self.primitives_generated_query_with_non_zero_streams != 0),
70            )
71            .finish()
72    }
73}
74impl PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
75    #[inline]
76    pub fn into_builder<'a>(
77        self,
78    ) -> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
79        PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder(
80            self,
81            std::marker::PhantomData,
82        )
83    }
84}
85#[derive(Copy, Clone)]
86///[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT.html) · Builder of [`PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT`]
87#[repr(transparent)]
88pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a>(
89    PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT,
90    std::marker::PhantomData<&'a ()>,
91);
92impl<'a> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
93    #[inline]
94    pub fn new() -> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
95        PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder(
96            Default::default(),
97            std::marker::PhantomData,
98        )
99    }
100    #[inline]
101    #[must_use]
102    pub fn primitives_generated_query(
103        mut self,
104        primitives_generated_query: bool,
105    ) -> Self {
106        self.0.primitives_generated_query = primitives_generated_query as _;
107        self
108    }
109    #[inline]
110    #[must_use]
111    pub fn primitives_generated_query_with_rasterizer_discard(
112        mut self,
113        primitives_generated_query_with_rasterizer_discard: bool,
114    ) -> Self {
115        self
116            .0
117            .primitives_generated_query_with_rasterizer_discard = primitives_generated_query_with_rasterizer_discard
118            as _;
119        self
120    }
121    #[inline]
122    #[must_use]
123    pub fn primitives_generated_query_with_non_zero_streams(
124        mut self,
125        primitives_generated_query_with_non_zero_streams: bool,
126    ) -> Self {
127        self
128            .0
129            .primitives_generated_query_with_non_zero_streams = primitives_generated_query_with_non_zero_streams
130            as _;
131        self
132    }
133    #[inline]
134    /// Discards all lifetime information.
135    /// Use the `Deref` and `DerefMut` implementations if possible.
136    pub fn build_dangling(self) -> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
137        self.0
138    }
139}
140impl<'a> std::default::Default
141for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
142    fn default() -> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
143        Self::new()
144    }
145}
146impl<'a> std::fmt::Debug
147for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
148    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
149        std::fmt::Debug::fmt(&self.0, f)
150    }
151}
152impl<'a> std::ops::Deref
153for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
154    type Target = PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
155    fn deref(&self) -> &Self::Target {
156        &self.0
157    }
158}
159impl<'a> std::ops::DerefMut
160for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> {
161    fn deref_mut(&mut self) -> &mut Self::Target {
162        &mut self.0
163    }
164}