erupt/generated/extensions/
ext_conditional_rendering.rs1#[doc(alias = "VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION")]
4pub const EXT_CONDITIONAL_RENDERING_SPEC_VERSION: u32 = 2;
5#[doc(alias = "VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME")]
7pub const EXT_CONDITIONAL_RENDERING_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8 "VK_EXT_conditional_rendering"
9);
10pub const FN_CMD_BEGIN_CONDITIONAL_RENDERING_EXT: *const std::os::raw::c_char = crate::cstr!(
12 "vkCmdBeginConditionalRenderingEXT"
13);
14pub const FN_CMD_END_CONDITIONAL_RENDERING_EXT: *const std::os::raw::c_char = crate::cstr!(
16 "vkCmdEndConditionalRenderingEXT"
17);
18impl crate::vk1_0::BufferUsageFlagBits {
20 pub const CONDITIONAL_RENDERING_EXT: Self = Self(512);
21}
22impl crate::vk1_0::AccessFlagBits {
24 pub const CONDITIONAL_RENDERING_READ_EXT: Self = Self(1048576);
25}
26impl crate::vk1_0::StructureType {
28 pub const COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: Self = Self(
29 1000081000,
30 );
31 pub const PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: Self = Self(
32 1000081001,
33 );
34 pub const CONDITIONAL_RENDERING_BEGIN_INFO_EXT: Self = Self(1000081002);
35}
36impl crate::vk1_0::PipelineStageFlagBits {
38 pub const CONDITIONAL_RENDERING_EXT: Self = Self(262144);
39}
40bitflags::bitflags! {
41 #[doc =
42 "[Vulkan Manual Page](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkConditionalRenderingFlagsEXT.html) · Bitmask of [`ConditionalRenderingFlagBitsEXT`]"]
43 #[doc(alias = "VkConditionalRenderingFlagsEXT")] #[derive(Default)]
44 #[repr(transparent)] pub struct ConditionalRenderingFlagsEXT : u32 { const
45 INVERTED_EXT = ConditionalRenderingFlagBitsEXT::INVERTED_EXT.0; }
46}
47#[doc(alias = "VkConditionalRenderingFlagBitsEXT")]
49#[derive(Copy, Clone, PartialEq, Eq, Hash, Default, Ord, PartialOrd)]
50#[repr(transparent)]
51pub struct ConditionalRenderingFlagBitsEXT(pub u32);
52impl ConditionalRenderingFlagBitsEXT {
53 #[inline]
54 pub const fn bitmask(&self) -> ConditionalRenderingFlagsEXT {
56 ConditionalRenderingFlagsEXT::from_bits_truncate(self.0)
57 }
58}
59impl std::fmt::Debug for ConditionalRenderingFlagBitsEXT {
60 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
61 f.write_str(
62 match self {
63 &Self::INVERTED_EXT => "INVERTED_EXT",
64 _ => "(unknown variant)",
65 },
66 )
67 }
68}
69impl crate::extensions::ext_conditional_rendering::ConditionalRenderingFlagBitsEXT {
71 pub const INVERTED_EXT: Self = Self(1);
72}
73#[allow(non_camel_case_types)]
75pub type PFN_vkCmdBeginConditionalRenderingEXT = unsafe extern "system" fn(
76 command_buffer: crate::vk1_0::CommandBuffer,
77 p_conditional_rendering_begin: *const crate::extensions::ext_conditional_rendering::ConditionalRenderingBeginInfoEXT,
78) -> ();
79#[allow(non_camel_case_types)]
81pub type PFN_vkCmdEndConditionalRenderingEXT = unsafe extern "system" fn(
82 command_buffer: crate::vk1_0::CommandBuffer,
83) -> ();
84impl<'a> crate::ExtendableFrom<'a, PhysicalDeviceConditionalRenderingFeaturesEXT>
85for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
86impl<
87 'a,
88> crate::ExtendableFrom<'a, PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'_>>
89for crate::vk1_0::DeviceCreateInfoBuilder<'a> {}
90impl<'a> crate::ExtendableFrom<'a, CommandBufferInheritanceConditionalRenderingInfoEXT>
91for crate::vk1_0::CommandBufferInheritanceInfoBuilder<'a> {}
92impl<
93 'a,
94> crate::ExtendableFrom<
95 'a,
96 CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'_>,
97> for crate::vk1_0::CommandBufferInheritanceInfoBuilder<'a> {}
98impl<'a> crate::ExtendableFrom<'a, PhysicalDeviceConditionalRenderingFeaturesEXT>
99for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
100impl<
101 'a,
102> crate::ExtendableFrom<'a, PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'_>>
103for crate::vk1_1::PhysicalDeviceFeatures2Builder<'a> {}
104#[doc(alias = "VkConditionalRenderingBeginInfoEXT")]
106#[derive(Copy, Clone)]
107#[repr(C)]
108pub struct ConditionalRenderingBeginInfoEXT {
109 pub s_type: crate::vk1_0::StructureType,
110 pub p_next: *const std::ffi::c_void,
111 pub buffer: crate::vk1_0::Buffer,
112 pub offset: crate::vk1_0::DeviceSize,
113 pub flags: crate::extensions::ext_conditional_rendering::ConditionalRenderingFlagsEXT,
114}
115impl ConditionalRenderingBeginInfoEXT {
116 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
117}
118impl Default for ConditionalRenderingBeginInfoEXT {
119 fn default() -> Self {
120 Self {
121 s_type: Self::STRUCTURE_TYPE,
122 p_next: std::ptr::null(),
123 buffer: Default::default(),
124 offset: Default::default(),
125 flags: Default::default(),
126 }
127 }
128}
129impl std::fmt::Debug for ConditionalRenderingBeginInfoEXT {
130 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
131 f.debug_struct("ConditionalRenderingBeginInfoEXT")
132 .field("s_type", &self.s_type)
133 .field("p_next", &self.p_next)
134 .field("buffer", &self.buffer)
135 .field("offset", &self.offset)
136 .field("flags", &self.flags)
137 .finish()
138 }
139}
140impl ConditionalRenderingBeginInfoEXT {
141 #[inline]
142 pub fn into_builder<'a>(self) -> ConditionalRenderingBeginInfoEXTBuilder<'a> {
143 ConditionalRenderingBeginInfoEXTBuilder(self, std::marker::PhantomData)
144 }
145}
146#[derive(Copy, Clone)]
147#[repr(transparent)]
149pub struct ConditionalRenderingBeginInfoEXTBuilder<'a>(
150 ConditionalRenderingBeginInfoEXT,
151 std::marker::PhantomData<&'a ()>,
152);
153impl<'a> ConditionalRenderingBeginInfoEXTBuilder<'a> {
154 #[inline]
155 pub fn new() -> ConditionalRenderingBeginInfoEXTBuilder<'a> {
156 ConditionalRenderingBeginInfoEXTBuilder(
157 Default::default(),
158 std::marker::PhantomData,
159 )
160 }
161 #[inline]
162 #[must_use]
163 pub fn buffer(mut self, buffer: crate::vk1_0::Buffer) -> Self {
164 self.0.buffer = buffer as _;
165 self
166 }
167 #[inline]
168 #[must_use]
169 pub fn offset(mut self, offset: crate::vk1_0::DeviceSize) -> Self {
170 self.0.offset = offset as _;
171 self
172 }
173 #[inline]
174 #[must_use]
175 pub fn flags(
176 mut self,
177 flags: crate::extensions::ext_conditional_rendering::ConditionalRenderingFlagsEXT,
178 ) -> Self {
179 self.0.flags = flags as _;
180 self
181 }
182 #[inline]
183 pub fn build_dangling(self) -> ConditionalRenderingBeginInfoEXT {
186 self.0
187 }
188}
189impl<'a> std::default::Default for ConditionalRenderingBeginInfoEXTBuilder<'a> {
190 fn default() -> ConditionalRenderingBeginInfoEXTBuilder<'a> {
191 Self::new()
192 }
193}
194impl<'a> std::fmt::Debug for ConditionalRenderingBeginInfoEXTBuilder<'a> {
195 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
196 std::fmt::Debug::fmt(&self.0, f)
197 }
198}
199impl<'a> std::ops::Deref for ConditionalRenderingBeginInfoEXTBuilder<'a> {
200 type Target = ConditionalRenderingBeginInfoEXT;
201 fn deref(&self) -> &Self::Target {
202 &self.0
203 }
204}
205impl<'a> std::ops::DerefMut for ConditionalRenderingBeginInfoEXTBuilder<'a> {
206 fn deref_mut(&mut self) -> &mut Self::Target {
207 &mut self.0
208 }
209}
210#[doc(alias = "VkCommandBufferInheritanceConditionalRenderingInfoEXT")]
212#[derive(Copy, Clone)]
213#[repr(C)]
214pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
215 pub s_type: crate::vk1_0::StructureType,
216 pub p_next: *const std::ffi::c_void,
217 pub conditional_rendering_enable: crate::vk1_0::Bool32,
218}
219impl CommandBufferInheritanceConditionalRenderingInfoEXT {
220 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
221}
222impl Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
223 fn default() -> Self {
224 Self {
225 s_type: Self::STRUCTURE_TYPE,
226 p_next: std::ptr::null(),
227 conditional_rendering_enable: Default::default(),
228 }
229 }
230}
231impl std::fmt::Debug for CommandBufferInheritanceConditionalRenderingInfoEXT {
232 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
233 f.debug_struct("CommandBufferInheritanceConditionalRenderingInfoEXT")
234 .field("s_type", &self.s_type)
235 .field("p_next", &self.p_next)
236 .field(
237 "conditional_rendering_enable",
238 &(self.conditional_rendering_enable != 0),
239 )
240 .finish()
241 }
242}
243impl CommandBufferInheritanceConditionalRenderingInfoEXT {
244 #[inline]
245 pub fn into_builder<'a>(
246 self,
247 ) -> CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
248 CommandBufferInheritanceConditionalRenderingInfoEXTBuilder(
249 self,
250 std::marker::PhantomData,
251 )
252 }
253}
254#[derive(Copy, Clone)]
255#[repr(transparent)]
257pub struct CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a>(
258 CommandBufferInheritanceConditionalRenderingInfoEXT,
259 std::marker::PhantomData<&'a ()>,
260);
261impl<'a> CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
262 #[inline]
263 pub fn new() -> CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
264 CommandBufferInheritanceConditionalRenderingInfoEXTBuilder(
265 Default::default(),
266 std::marker::PhantomData,
267 )
268 }
269 #[inline]
270 #[must_use]
271 pub fn conditional_rendering_enable(
272 mut self,
273 conditional_rendering_enable: bool,
274 ) -> Self {
275 self.0.conditional_rendering_enable = conditional_rendering_enable as _;
276 self
277 }
278 #[inline]
279 pub fn build_dangling(self) -> CommandBufferInheritanceConditionalRenderingInfoEXT {
282 self.0
283 }
284}
285impl<'a> std::default::Default
286for CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
287 fn default() -> CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
288 Self::new()
289 }
290}
291impl<'a> std::fmt::Debug
292for CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
293 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
294 std::fmt::Debug::fmt(&self.0, f)
295 }
296}
297impl<'a> std::ops::Deref
298for CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
299 type Target = CommandBufferInheritanceConditionalRenderingInfoEXT;
300 fn deref(&self) -> &Self::Target {
301 &self.0
302 }
303}
304impl<'a> std::ops::DerefMut
305for CommandBufferInheritanceConditionalRenderingInfoEXTBuilder<'a> {
306 fn deref_mut(&mut self) -> &mut Self::Target {
307 &mut self.0
308 }
309}
310#[doc(alias = "VkPhysicalDeviceConditionalRenderingFeaturesEXT")]
312#[derive(Copy, Clone)]
313#[repr(C)]
314pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
315 pub s_type: crate::vk1_0::StructureType,
316 pub p_next: *mut std::ffi::c_void,
317 pub conditional_rendering: crate::vk1_0::Bool32,
318 pub inherited_conditional_rendering: crate::vk1_0::Bool32,
319}
320impl PhysicalDeviceConditionalRenderingFeaturesEXT {
321 pub const STRUCTURE_TYPE: crate::vk1_0::StructureType = crate::vk1_0::StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
322}
323impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
324 fn default() -> Self {
325 Self {
326 s_type: Self::STRUCTURE_TYPE,
327 p_next: std::ptr::null_mut(),
328 conditional_rendering: Default::default(),
329 inherited_conditional_rendering: Default::default(),
330 }
331 }
332}
333impl std::fmt::Debug for PhysicalDeviceConditionalRenderingFeaturesEXT {
334 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
335 f.debug_struct("PhysicalDeviceConditionalRenderingFeaturesEXT")
336 .field("s_type", &self.s_type)
337 .field("p_next", &self.p_next)
338 .field("conditional_rendering", &(self.conditional_rendering != 0))
339 .field(
340 "inherited_conditional_rendering",
341 &(self.inherited_conditional_rendering != 0),
342 )
343 .finish()
344 }
345}
346impl PhysicalDeviceConditionalRenderingFeaturesEXT {
347 #[inline]
348 pub fn into_builder<'a>(
349 self,
350 ) -> PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
351 PhysicalDeviceConditionalRenderingFeaturesEXTBuilder(
352 self,
353 std::marker::PhantomData,
354 )
355 }
356}
357#[derive(Copy, Clone)]
358#[repr(transparent)]
360pub struct PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a>(
361 PhysicalDeviceConditionalRenderingFeaturesEXT,
362 std::marker::PhantomData<&'a ()>,
363);
364impl<'a> PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
365 #[inline]
366 pub fn new() -> PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
367 PhysicalDeviceConditionalRenderingFeaturesEXTBuilder(
368 Default::default(),
369 std::marker::PhantomData,
370 )
371 }
372 #[inline]
373 #[must_use]
374 pub fn conditional_rendering(mut self, conditional_rendering: bool) -> Self {
375 self.0.conditional_rendering = conditional_rendering as _;
376 self
377 }
378 #[inline]
379 #[must_use]
380 pub fn inherited_conditional_rendering(
381 mut self,
382 inherited_conditional_rendering: bool,
383 ) -> Self {
384 self.0.inherited_conditional_rendering = inherited_conditional_rendering as _;
385 self
386 }
387 #[inline]
388 pub fn build_dangling(self) -> PhysicalDeviceConditionalRenderingFeaturesEXT {
391 self.0
392 }
393}
394impl<'a> std::default::Default
395for PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
396 fn default() -> PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
397 Self::new()
398 }
399}
400impl<'a> std::fmt::Debug for PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
401 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
402 std::fmt::Debug::fmt(&self.0, f)
403 }
404}
405impl<'a> std::ops::Deref for PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
406 type Target = PhysicalDeviceConditionalRenderingFeaturesEXT;
407 fn deref(&self) -> &Self::Target {
408 &self.0
409 }
410}
411impl<'a> std::ops::DerefMut
412for PhysicalDeviceConditionalRenderingFeaturesEXTBuilder<'a> {
413 fn deref_mut(&mut self) -> &mut Self::Target {
414 &mut self.0
415 }
416}
417impl crate::DeviceLoader {
419 #[inline]
420 #[track_caller]
421 #[doc(alias = "vkCmdBeginConditionalRenderingEXT")]
423 pub unsafe fn cmd_begin_conditional_rendering_ext(
424 &self,
425 command_buffer: crate::vk1_0::CommandBuffer,
426 conditional_rendering_begin: &crate::extensions::ext_conditional_rendering::ConditionalRenderingBeginInfoEXT,
427 ) -> () {
428 let _function = self
429 .cmd_begin_conditional_rendering_ext
430 .expect(crate::NOT_LOADED_MESSAGE);
431 let _return = _function(command_buffer as _, conditional_rendering_begin as _);
432 ()
433 }
434 #[inline]
435 #[track_caller]
436 #[doc(alias = "vkCmdEndConditionalRenderingEXT")]
438 pub unsafe fn cmd_end_conditional_rendering_ext(
439 &self,
440 command_buffer: crate::vk1_0::CommandBuffer,
441 ) -> () {
442 let _function = self
443 .cmd_end_conditional_rendering_ext
444 .expect(crate::NOT_LOADED_MESSAGE);
445 let _return = _function(command_buffer as _);
446 ()
447 }
448}