1#![allow(
9 non_camel_case_types,
10 non_snake_case,
11 clippy::bad_bit_mask,
12 clippy::let_unit_value,
13 clippy::missing_safety_doc,
14 clippy::missing_transmute_annotations,
15 clippy::too_many_arguments,
16 clippy::type_complexity,
17 clippy::unnecessary_cast,
18 clippy::upper_case_acronyms,
19 clippy::useless_transmute
20)]
21
22use core::ffi::{c_char, c_int, c_void};
23use core::fmt;
24use core::ptr;
25
26use crate::*;
27
28#[repr(C)]
30#[derive(Copy, Clone, Default, Debug, PartialEq)]
31pub struct AabbPositionsKHR {
32 pub min_x: f32,
33 pub min_y: f32,
34 pub min_z: f32,
35 pub max_x: f32,
36 pub max_y: f32,
37 pub max_z: f32,
38}
39
40#[repr(C)]
42#[derive(Copy, Clone, Debug)]
43pub struct AccelerationStructureBuildGeometryInfoKHR {
44 pub s_type: StructureType,
45 pub next: *const c_void,
46 pub type_: AccelerationStructureTypeKHR,
47 pub flags: BuildAccelerationStructureFlagsKHR,
48 pub mode: BuildAccelerationStructureModeKHR,
49 pub src_acceleration_structure: AccelerationStructureKHR,
50 pub dst_acceleration_structure: AccelerationStructureKHR,
51 pub geometry_count: u32,
52 pub geometries: *const AccelerationStructureGeometryKHR,
53 pub pointer_geometries: *const *const AccelerationStructureGeometryKHR,
54 pub scratch_data: DeviceOrHostAddressKHR,
55}
56
57impl Default for AccelerationStructureBuildGeometryInfoKHR {
58 #[inline]
59 fn default() -> Self {
60 Self {
61 s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
62 next: ptr::null(),
63 type_: AccelerationStructureTypeKHR::default(),
64 flags: BuildAccelerationStructureFlagsKHR::default(),
65 mode: BuildAccelerationStructureModeKHR::default(),
66 src_acceleration_structure: AccelerationStructureKHR::default(),
67 dst_acceleration_structure: AccelerationStructureKHR::default(),
68 geometry_count: u32::default(),
69 geometries: ptr::null(),
70 pointer_geometries: ptr::null(),
71 scratch_data: DeviceOrHostAddressKHR::default(),
72 }
73 }
74}
75
76#[repr(C)]
78#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
79pub struct AccelerationStructureBuildRangeInfoKHR {
80 pub primitive_count: u32,
81 pub primitive_offset: u32,
82 pub first_vertex: u32,
83 pub transform_offset: u32,
84}
85
86#[repr(C)]
88#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
89pub struct AccelerationStructureBuildSizesInfoKHR {
90 pub s_type: StructureType,
91 pub next: *const c_void,
92 pub acceleration_structure_size: DeviceSize,
93 pub update_scratch_size: DeviceSize,
94 pub build_scratch_size: DeviceSize,
95}
96
97impl Default for AccelerationStructureBuildSizesInfoKHR {
98 #[inline]
99 fn default() -> Self {
100 Self {
101 s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
102 next: ptr::null(),
103 acceleration_structure_size: DeviceSize::default(),
104 update_scratch_size: DeviceSize::default(),
105 build_scratch_size: DeviceSize::default(),
106 }
107 }
108}
109
110#[repr(C)]
112#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
113pub struct AccelerationStructureCaptureDescriptorDataInfoEXT {
114 pub s_type: StructureType,
115 pub next: *const c_void,
116 pub acceleration_structure: AccelerationStructureKHR,
117 pub acceleration_structure_nv: AccelerationStructureNV,
118}
119
120impl Default for AccelerationStructureCaptureDescriptorDataInfoEXT {
121 #[inline]
122 fn default() -> Self {
123 Self {
124 s_type: StructureType::ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
125 next: ptr::null(),
126 acceleration_structure: AccelerationStructureKHR::default(),
127 acceleration_structure_nv: AccelerationStructureNV::default(),
128 }
129 }
130}
131
132#[repr(C)]
134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
135pub struct AccelerationStructureCreateInfoKHR {
136 pub s_type: StructureType,
137 pub next: *const c_void,
138 pub create_flags: AccelerationStructureCreateFlagsKHR,
139 pub buffer: Buffer,
140 pub offset: DeviceSize,
141 pub size: DeviceSize,
142 pub type_: AccelerationStructureTypeKHR,
143 pub device_address: DeviceAddress,
144}
145
146impl Default for AccelerationStructureCreateInfoKHR {
147 #[inline]
148 fn default() -> Self {
149 Self {
150 s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
151 next: ptr::null(),
152 create_flags: AccelerationStructureCreateFlagsKHR::default(),
153 buffer: Buffer::default(),
154 offset: DeviceSize::default(),
155 size: DeviceSize::default(),
156 type_: AccelerationStructureTypeKHR::default(),
157 device_address: DeviceAddress::default(),
158 }
159 }
160}
161
162#[repr(C)]
164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
165pub struct AccelerationStructureCreateInfoNV {
166 pub s_type: StructureType,
167 pub next: *const c_void,
168 pub compacted_size: DeviceSize,
169 pub info: AccelerationStructureInfoNV,
170}
171
172impl Default for AccelerationStructureCreateInfoNV {
173 #[inline]
174 fn default() -> Self {
175 Self {
176 s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_NV,
177 next: ptr::null(),
178 compacted_size: DeviceSize::default(),
179 info: AccelerationStructureInfoNV::default(),
180 }
181 }
182}
183
184#[repr(C)]
186#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
187pub struct AccelerationStructureDeviceAddressInfoKHR {
188 pub s_type: StructureType,
189 pub next: *const c_void,
190 pub acceleration_structure: AccelerationStructureKHR,
191}
192
193impl Default for AccelerationStructureDeviceAddressInfoKHR {
194 #[inline]
195 fn default() -> Self {
196 Self {
197 s_type: StructureType::ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
198 next: ptr::null(),
199 acceleration_structure: AccelerationStructureKHR::default(),
200 }
201 }
202}
203
204#[repr(C)]
206#[derive(Copy, Clone, Debug)]
207pub struct AccelerationStructureGeometryAabbsDataKHR {
208 pub s_type: StructureType,
209 pub next: *const c_void,
210 pub data: DeviceOrHostAddressConstKHR,
211 pub stride: DeviceSize,
212}
213
214impl Default for AccelerationStructureGeometryAabbsDataKHR {
215 #[inline]
216 fn default() -> Self {
217 Self {
218 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
219 next: ptr::null(),
220 data: DeviceOrHostAddressConstKHR::default(),
221 stride: DeviceSize::default(),
222 }
223 }
224}
225
226#[repr(C)]
228#[derive(Copy, Clone, Debug)]
229pub struct AccelerationStructureGeometryInstancesDataKHR {
230 pub s_type: StructureType,
231 pub next: *const c_void,
232 pub array_of_pointers: Bool32,
233 pub data: DeviceOrHostAddressConstKHR,
234}
235
236impl Default for AccelerationStructureGeometryInstancesDataKHR {
237 #[inline]
238 fn default() -> Self {
239 Self {
240 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
241 next: ptr::null(),
242 array_of_pointers: Bool32::default(),
243 data: DeviceOrHostAddressConstKHR::default(),
244 }
245 }
246}
247
248#[repr(C)]
250#[derive(Copy, Clone, Debug)]
251pub struct AccelerationStructureGeometryKHR {
252 pub s_type: StructureType,
253 pub next: *const c_void,
254 pub geometry_type: GeometryTypeKHR,
255 pub geometry: AccelerationStructureGeometryDataKHR,
256 pub flags: GeometryFlagsKHR,
257}
258
259impl Default for AccelerationStructureGeometryKHR {
260 #[inline]
261 fn default() -> Self {
262 Self {
263 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_KHR,
264 next: ptr::null(),
265 geometry_type: GeometryTypeKHR::default(),
266 geometry: AccelerationStructureGeometryDataKHR::default(),
267 flags: GeometryFlagsKHR::default(),
268 }
269 }
270}
271
272#[repr(C)]
274#[derive(Copy, Clone, Debug)]
275pub struct AccelerationStructureGeometryLinearSweptSpheresDataNV {
276 pub s_type: StructureType,
277 pub next: *const c_void,
278 pub vertex_format: Format,
279 pub vertex_data: DeviceOrHostAddressConstKHR,
280 pub vertex_stride: DeviceSize,
281 pub radius_format: Format,
282 pub radius_data: DeviceOrHostAddressConstKHR,
283 pub radius_stride: DeviceSize,
284 pub index_type: IndexType,
285 pub index_data: DeviceOrHostAddressConstKHR,
286 pub index_stride: DeviceSize,
287 pub indexing_mode: RayTracingLssIndexingModeNV,
288 pub end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV,
289}
290
291impl Default for AccelerationStructureGeometryLinearSweptSpheresDataNV {
292 #[inline]
293 fn default() -> Self {
294 Self {
295 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV,
296 next: ptr::null(),
297 vertex_format: Format::default(),
298 vertex_data: DeviceOrHostAddressConstKHR::default(),
299 vertex_stride: DeviceSize::default(),
300 radius_format: Format::default(),
301 radius_data: DeviceOrHostAddressConstKHR::default(),
302 radius_stride: DeviceSize::default(),
303 index_type: IndexType::default(),
304 index_data: DeviceOrHostAddressConstKHR::default(),
305 index_stride: DeviceSize::default(),
306 indexing_mode: RayTracingLssIndexingModeNV::default(),
307 end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV::default(),
308 }
309 }
310}
311
312#[repr(C)]
314#[derive(Copy, Clone, Debug)]
315pub struct AccelerationStructureGeometryMotionTrianglesDataNV {
316 pub s_type: StructureType,
317 pub next: *const c_void,
318 pub vertex_data: DeviceOrHostAddressConstKHR,
319}
320
321impl Default for AccelerationStructureGeometryMotionTrianglesDataNV {
322 #[inline]
323 fn default() -> Self {
324 Self {
325 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
326 next: ptr::null(),
327 vertex_data: DeviceOrHostAddressConstKHR::default(),
328 }
329 }
330}
331
332#[repr(C)]
334#[derive(Copy, Clone, Debug)]
335pub struct AccelerationStructureGeometrySpheresDataNV {
336 pub s_type: StructureType,
337 pub next: *const c_void,
338 pub vertex_format: Format,
339 pub vertex_data: DeviceOrHostAddressConstKHR,
340 pub vertex_stride: DeviceSize,
341 pub radius_format: Format,
342 pub radius_data: DeviceOrHostAddressConstKHR,
343 pub radius_stride: DeviceSize,
344 pub index_type: IndexType,
345 pub index_data: DeviceOrHostAddressConstKHR,
346 pub index_stride: DeviceSize,
347}
348
349impl Default for AccelerationStructureGeometrySpheresDataNV {
350 #[inline]
351 fn default() -> Self {
352 Self {
353 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV,
354 next: ptr::null(),
355 vertex_format: Format::default(),
356 vertex_data: DeviceOrHostAddressConstKHR::default(),
357 vertex_stride: DeviceSize::default(),
358 radius_format: Format::default(),
359 radius_data: DeviceOrHostAddressConstKHR::default(),
360 radius_stride: DeviceSize::default(),
361 index_type: IndexType::default(),
362 index_data: DeviceOrHostAddressConstKHR::default(),
363 index_stride: DeviceSize::default(),
364 }
365 }
366}
367
368#[repr(C)]
370#[derive(Copy, Clone, Debug)]
371pub struct AccelerationStructureGeometryTrianglesDataKHR {
372 pub s_type: StructureType,
373 pub next: *const c_void,
374 pub vertex_format: Format,
375 pub vertex_data: DeviceOrHostAddressConstKHR,
376 pub vertex_stride: DeviceSize,
377 pub max_vertex: u32,
378 pub index_type: IndexType,
379 pub index_data: DeviceOrHostAddressConstKHR,
380 pub transform_data: DeviceOrHostAddressConstKHR,
381}
382
383impl Default for AccelerationStructureGeometryTrianglesDataKHR {
384 #[inline]
385 fn default() -> Self {
386 Self {
387 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
388 next: ptr::null(),
389 vertex_format: Format::default(),
390 vertex_data: DeviceOrHostAddressConstKHR::default(),
391 vertex_stride: DeviceSize::default(),
392 max_vertex: u32::default(),
393 index_type: IndexType::default(),
394 index_data: DeviceOrHostAddressConstKHR::default(),
395 transform_data: DeviceOrHostAddressConstKHR::default(),
396 }
397 }
398}
399
400#[repr(C)]
402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
403pub struct AccelerationStructureInfoNV {
404 pub s_type: StructureType,
405 pub next: *const c_void,
406 pub type_: AccelerationStructureTypeNV,
407 pub flags: BuildAccelerationStructureFlagsNV,
408 pub instance_count: u32,
409 pub geometry_count: u32,
410 pub geometries: *const GeometryNV,
411}
412
413impl Default for AccelerationStructureInfoNV {
414 #[inline]
415 fn default() -> Self {
416 Self {
417 s_type: StructureType::ACCELERATION_STRUCTURE_INFO_NV,
418 next: ptr::null(),
419 type_: AccelerationStructureTypeNV::default(),
420 flags: BuildAccelerationStructureFlagsNV::default(),
421 instance_count: u32::default(),
422 geometry_count: u32::default(),
423 geometries: ptr::null(),
424 }
425 }
426}
427
428bitfields32! {
429 struct AccelerationStructureInstanceKHRBitfields0 {
430 (instance_custom_index, with_instance_custom_index)[0 .. 24],
431 (mask, with_mask)[24 .. 32],
432 }
433}
434
435bitfields32! {
436 struct AccelerationStructureInstanceKHRBitfields1 {
437 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
438 (flags, with_flags)[24 .. 32],
439 }
440}
441
442#[repr(C)]
444#[derive(Copy, Clone, Default, Debug, PartialEq)]
445pub struct AccelerationStructureInstanceKHR {
446 pub transform: TransformMatrixKHR,
447 pub acceleration_structure_reference: u64,
448 pub bitfields0: AccelerationStructureInstanceKHRBitfields0,
449 pub bitfields1: AccelerationStructureInstanceKHRBitfields1,
450}
451
452bitfields32! {
453 struct AccelerationStructureMatrixMotionInstanceNVBitfields0 {
454 (instance_custom_index, with_instance_custom_index)[0 .. 24],
455 (mask, with_mask)[24 .. 32],
456 }
457}
458
459bitfields32! {
460 struct AccelerationStructureMatrixMotionInstanceNVBitfields1 {
461 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
462 (flags, with_flags)[24 .. 32],
463 }
464}
465
466#[repr(C)]
468#[derive(Copy, Clone, Default, Debug, PartialEq)]
469pub struct AccelerationStructureMatrixMotionInstanceNV {
470 pub transform_t0: TransformMatrixKHR,
471 pub transform_t1: TransformMatrixKHR,
472 pub acceleration_structure_reference: u64,
473 pub bitfields0: AccelerationStructureMatrixMotionInstanceNVBitfields0,
474 pub bitfields1: AccelerationStructureMatrixMotionInstanceNVBitfields1,
475}
476
477#[repr(C)]
479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
480pub struct AccelerationStructureMemoryRequirementsInfoNV {
481 pub s_type: StructureType,
482 pub next: *const c_void,
483 pub type_: AccelerationStructureMemoryRequirementsTypeNV,
484 pub acceleration_structure: AccelerationStructureNV,
485}
486
487impl Default for AccelerationStructureMemoryRequirementsInfoNV {
488 #[inline]
489 fn default() -> Self {
490 Self {
491 s_type: StructureType::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
492 next: ptr::null(),
493 type_: AccelerationStructureMemoryRequirementsTypeNV::default(),
494 acceleration_structure: AccelerationStructureNV::default(),
495 }
496 }
497}
498
499#[repr(C)]
501#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
502pub struct AccelerationStructureMotionInfoNV {
503 pub s_type: StructureType,
504 pub next: *const c_void,
505 pub max_instances: u32,
506 pub flags: AccelerationStructureMotionInfoFlagsNV,
507}
508
509impl Default for AccelerationStructureMotionInfoNV {
510 #[inline]
511 fn default() -> Self {
512 Self {
513 s_type: StructureType::ACCELERATION_STRUCTURE_MOTION_INFO_NV,
514 next: ptr::null(),
515 max_instances: u32::default(),
516 flags: AccelerationStructureMotionInfoFlagsNV::default(),
517 }
518 }
519}
520
521#[repr(C)]
523#[derive(Copy, Clone, Default, Debug)]
524pub struct AccelerationStructureMotionInstanceNV {
525 pub type_: AccelerationStructureMotionInstanceTypeNV,
526 pub flags: AccelerationStructureMotionInstanceFlagsNV,
527 pub data: AccelerationStructureMotionInstanceDataNV,
528}
529
530bitfields32! {
531 struct AccelerationStructureSRTMotionInstanceNVBitfields0 {
532 (instance_custom_index, with_instance_custom_index)[0 .. 24],
533 (mask, with_mask)[24 .. 32],
534 }
535}
536
537bitfields32! {
538 struct AccelerationStructureSRTMotionInstanceNVBitfields1 {
539 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
540 (flags, with_flags)[24 .. 32],
541 }
542}
543
544#[repr(C)]
546#[derive(Copy, Clone, Default, Debug, PartialEq)]
547pub struct AccelerationStructureSRTMotionInstanceNV {
548 pub transform_t0: SRTDataNV,
549 pub transform_t1: SRTDataNV,
550 pub acceleration_structure_reference: u64,
551 pub bitfields0: AccelerationStructureSRTMotionInstanceNVBitfields0,
552 pub bitfields1: AccelerationStructureSRTMotionInstanceNVBitfields1,
553}
554
555#[repr(C)]
557#[derive(Copy, Clone, Debug)]
558pub struct AccelerationStructureTrianglesDisplacementMicromapNV {
559 pub s_type: StructureType,
560 pub next: *mut c_void,
561 pub displacement_bias_and_scale_format: Format,
562 pub displacement_vector_format: Format,
563 pub displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR,
564 pub displacement_bias_and_scale_stride: DeviceSize,
565 pub displacement_vector_buffer: DeviceOrHostAddressConstKHR,
566 pub displacement_vector_stride: DeviceSize,
567 pub displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
568 pub displaced_micromap_primitive_flags_stride: DeviceSize,
569 pub index_type: IndexType,
570 pub index_buffer: DeviceOrHostAddressConstKHR,
571 pub index_stride: DeviceSize,
572 pub base_triangle: u32,
573 pub usage_counts_count: u32,
574 pub usage_counts: *const MicromapUsageEXT,
575 pub pointer_usage_counts: *const *const MicromapUsageEXT,
576 pub micromap: MicromapEXT,
577}
578
579impl Default for AccelerationStructureTrianglesDisplacementMicromapNV {
580 #[inline]
581 fn default() -> Self {
582 Self {
583 s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
584 next: ptr::null_mut(),
585 displacement_bias_and_scale_format: Format::default(),
586 displacement_vector_format: Format::default(),
587 displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR::default(),
588 displacement_bias_and_scale_stride: DeviceSize::default(),
589 displacement_vector_buffer: DeviceOrHostAddressConstKHR::default(),
590 displacement_vector_stride: DeviceSize::default(),
591 displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR::default(),
592 displaced_micromap_primitive_flags_stride: DeviceSize::default(),
593 index_type: IndexType::default(),
594 index_buffer: DeviceOrHostAddressConstKHR::default(),
595 index_stride: DeviceSize::default(),
596 base_triangle: u32::default(),
597 usage_counts_count: u32::default(),
598 usage_counts: ptr::null(),
599 pointer_usage_counts: ptr::null(),
600 micromap: MicromapEXT::default(),
601 }
602 }
603}
604
605#[repr(C)]
607#[derive(Copy, Clone, Debug)]
608pub struct AccelerationStructureTrianglesOpacityMicromapEXT {
609 pub s_type: StructureType,
610 pub next: *mut c_void,
611 pub index_type: IndexType,
612 pub index_buffer: DeviceOrHostAddressConstKHR,
613 pub index_stride: DeviceSize,
614 pub base_triangle: u32,
615 pub usage_counts_count: u32,
616 pub usage_counts: *const MicromapUsageEXT,
617 pub pointer_usage_counts: *const *const MicromapUsageEXT,
618 pub micromap: MicromapEXT,
619}
620
621impl Default for AccelerationStructureTrianglesOpacityMicromapEXT {
622 #[inline]
623 fn default() -> Self {
624 Self {
625 s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
626 next: ptr::null_mut(),
627 index_type: IndexType::default(),
628 index_buffer: DeviceOrHostAddressConstKHR::default(),
629 index_stride: DeviceSize::default(),
630 base_triangle: u32::default(),
631 usage_counts_count: u32::default(),
632 usage_counts: ptr::null(),
633 pointer_usage_counts: ptr::null(),
634 micromap: MicromapEXT::default(),
635 }
636 }
637}
638
639#[repr(C)]
641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
642pub struct AccelerationStructureVersionInfoKHR {
643 pub s_type: StructureType,
644 pub next: *const c_void,
645 pub version_data: *const u8,
646}
647
648impl Default for AccelerationStructureVersionInfoKHR {
649 #[inline]
650 fn default() -> Self {
651 Self {
652 s_type: StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
653 next: ptr::null(),
654 version_data: ptr::null(),
655 }
656 }
657}
658
659#[repr(C)]
661#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
662pub struct AcquireNextImageInfoKHR {
663 pub s_type: StructureType,
664 pub next: *const c_void,
665 pub swapchain: SwapchainKHR,
666 pub timeout: u64,
667 pub semaphore: Semaphore,
668 pub fence: Fence,
669 pub device_mask: u32,
670}
671
672impl Default for AcquireNextImageInfoKHR {
673 #[inline]
674 fn default() -> Self {
675 Self {
676 s_type: StructureType::ACQUIRE_NEXT_IMAGE_INFO_KHR,
677 next: ptr::null(),
678 swapchain: SwapchainKHR::default(),
679 timeout: u64::default(),
680 semaphore: Semaphore::default(),
681 fence: Fence::default(),
682 device_mask: u32::default(),
683 }
684 }
685}
686
687#[repr(C)]
689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
690pub struct AcquireProfilingLockInfoKHR {
691 pub s_type: StructureType,
692 pub next: *const c_void,
693 pub flags: AcquireProfilingLockFlagsKHR,
694 pub timeout: u64,
695}
696
697impl Default for AcquireProfilingLockInfoKHR {
698 #[inline]
699 fn default() -> Self {
700 Self {
701 s_type: StructureType::ACQUIRE_PROFILING_LOCK_INFO_KHR,
702 next: ptr::null(),
703 flags: AcquireProfilingLockFlagsKHR::default(),
704 timeout: u64::default(),
705 }
706 }
707}
708
709#[repr(C)]
711#[derive(Copy, Clone)]
712pub struct AllocationCallbacks {
713 pub user_data: *mut c_void,
714 pub allocation: PFN_vkAllocationFunction,
715 pub reallocation: PFN_vkReallocationFunction,
716 pub free: PFN_vkFreeFunction,
717 pub internal_allocation: PFN_vkInternalAllocationNotification,
718 pub internal_free: PFN_vkInternalFreeNotification,
719}
720
721impl fmt::Debug for AllocationCallbacks {
722 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
723 f.debug_struct("AllocationCallbacks")
724 .field("user_data", &self.user_data)
725 .field("allocation", &(self.allocation.map(|f| f as *const u8)))
726 .field("reallocation", &(self.reallocation.map(|f| f as *const u8)))
727 .field("free", &(self.free.map(|f| f as *const u8)))
728 .field(
729 "internal_allocation",
730 &(self.internal_allocation.map(|f| f as *const u8)),
731 )
732 .field(
733 "internal_free",
734 &(self.internal_free.map(|f| f as *const u8)),
735 )
736 .finish()
737 }
738}
739
740impl Default for AllocationCallbacks {
741 #[inline]
742 fn default() -> Self {
743 Self {
744 user_data: ptr::null_mut(),
745 allocation: PFN_vkAllocationFunction::default(),
746 reallocation: PFN_vkReallocationFunction::default(),
747 free: PFN_vkFreeFunction::default(),
748 internal_allocation: PFN_vkInternalAllocationNotification::default(),
749 internal_free: PFN_vkInternalFreeNotification::default(),
750 }
751 }
752}
753
754#[repr(C)]
756#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
757pub struct AmigoProfilingSubmitInfoSEC {
758 pub s_type: StructureType,
759 pub next: *const c_void,
760 pub first_draw_timestamp: u64,
761 pub swap_buffer_timestamp: u64,
762}
763
764impl Default for AmigoProfilingSubmitInfoSEC {
765 #[inline]
766 fn default() -> Self {
767 Self {
768 s_type: StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC,
769 next: ptr::null(),
770 first_draw_timestamp: u64::default(),
771 swap_buffer_timestamp: u64::default(),
772 }
773 }
774}
775
776#[repr(C)]
778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
779pub struct AndroidHardwareBufferFormatProperties2ANDROID {
780 pub s_type: StructureType,
781 pub next: *mut c_void,
782 pub format: Format,
783 pub external_format: u64,
784 pub format_features: FormatFeatureFlags2,
785 pub sampler_ycbcr_conversion_components: ComponentMapping,
786 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
787 pub suggested_ycbcr_range: SamplerYcbcrRange,
788 pub suggested_x_chroma_offset: ChromaLocation,
789 pub suggested_y_chroma_offset: ChromaLocation,
790}
791
792impl Default for AndroidHardwareBufferFormatProperties2ANDROID {
793 #[inline]
794 fn default() -> Self {
795 Self {
796 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
797 next: ptr::null_mut(),
798 format: Format::default(),
799 external_format: u64::default(),
800 format_features: FormatFeatureFlags2::default(),
801 sampler_ycbcr_conversion_components: ComponentMapping::default(),
802 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
803 suggested_ycbcr_range: SamplerYcbcrRange::default(),
804 suggested_x_chroma_offset: ChromaLocation::default(),
805 suggested_y_chroma_offset: ChromaLocation::default(),
806 }
807 }
808}
809
810#[repr(C)]
812#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
813pub struct AndroidHardwareBufferFormatPropertiesANDROID {
814 pub s_type: StructureType,
815 pub next: *mut c_void,
816 pub format: Format,
817 pub external_format: u64,
818 pub format_features: FormatFeatureFlags,
819 pub sampler_ycbcr_conversion_components: ComponentMapping,
820 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
821 pub suggested_ycbcr_range: SamplerYcbcrRange,
822 pub suggested_x_chroma_offset: ChromaLocation,
823 pub suggested_y_chroma_offset: ChromaLocation,
824}
825
826impl Default for AndroidHardwareBufferFormatPropertiesANDROID {
827 #[inline]
828 fn default() -> Self {
829 Self {
830 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
831 next: ptr::null_mut(),
832 format: Format::default(),
833 external_format: u64::default(),
834 format_features: FormatFeatureFlags::default(),
835 sampler_ycbcr_conversion_components: ComponentMapping::default(),
836 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
837 suggested_ycbcr_range: SamplerYcbcrRange::default(),
838 suggested_x_chroma_offset: ChromaLocation::default(),
839 suggested_y_chroma_offset: ChromaLocation::default(),
840 }
841 }
842}
843
844#[repr(C)]
846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
847pub struct AndroidHardwareBufferFormatResolvePropertiesANDROID {
848 pub s_type: StructureType,
849 pub next: *mut c_void,
850 pub color_attachment_format: Format,
851}
852
853impl Default for AndroidHardwareBufferFormatResolvePropertiesANDROID {
854 #[inline]
855 fn default() -> Self {
856 Self {
857 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID,
858 next: ptr::null_mut(),
859 color_attachment_format: Format::default(),
860 }
861 }
862}
863
864#[repr(C)]
866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
867pub struct AndroidHardwareBufferPropertiesANDROID {
868 pub s_type: StructureType,
869 pub next: *mut c_void,
870 pub allocation_size: DeviceSize,
871 pub memory_type_bits: u32,
872}
873
874impl Default for AndroidHardwareBufferPropertiesANDROID {
875 #[inline]
876 fn default() -> Self {
877 Self {
878 s_type: StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
879 next: ptr::null_mut(),
880 allocation_size: DeviceSize::default(),
881 memory_type_bits: u32::default(),
882 }
883 }
884}
885
886#[repr(C)]
888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
889pub struct AndroidHardwareBufferUsageANDROID {
890 pub s_type: StructureType,
891 pub next: *mut c_void,
892 pub android_hardware_buffer_usage: u64,
893}
894
895impl Default for AndroidHardwareBufferUsageANDROID {
896 #[inline]
897 fn default() -> Self {
898 Self {
899 s_type: StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
900 next: ptr::null_mut(),
901 android_hardware_buffer_usage: u64::default(),
902 }
903 }
904}
905
906#[repr(C)]
908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
909pub struct AndroidSurfaceCreateInfoKHR {
910 pub s_type: StructureType,
911 pub next: *const c_void,
912 pub flags: AndroidSurfaceCreateFlagsKHR,
913 pub window: *mut ANativeWindow,
914}
915
916impl Default for AndroidSurfaceCreateInfoKHR {
917 #[inline]
918 fn default() -> Self {
919 Self {
920 s_type: StructureType::ANDROID_SURFACE_CREATE_INFO_KHR,
921 next: ptr::null(),
922 flags: AndroidSurfaceCreateFlagsKHR::default(),
923 window: ptr::null_mut(),
924 }
925 }
926}
927
928#[repr(C)]
930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
931pub struct AntiLagDataAMD {
932 pub s_type: StructureType,
933 pub next: *const c_void,
934 pub mode: AntiLagModeAMD,
935 pub max_fps: u32,
936 pub presentation_info: *const AntiLagPresentationInfoAMD,
937}
938
939impl Default for AntiLagDataAMD {
940 #[inline]
941 fn default() -> Self {
942 Self {
943 s_type: StructureType::ANTI_LAG_DATA_AMD,
944 next: ptr::null(),
945 mode: AntiLagModeAMD::default(),
946 max_fps: u32::default(),
947 presentation_info: ptr::null(),
948 }
949 }
950}
951
952#[repr(C)]
954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
955pub struct AntiLagPresentationInfoAMD {
956 pub s_type: StructureType,
957 pub next: *mut c_void,
958 pub stage: AntiLagStageAMD,
959 pub frame_index: u64,
960}
961
962impl Default for AntiLagPresentationInfoAMD {
963 #[inline]
964 fn default() -> Self {
965 Self {
966 s_type: StructureType::ANTI_LAG_PRESENTATION_INFO_AMD,
967 next: ptr::null_mut(),
968 stage: AntiLagStageAMD::default(),
969 frame_index: u64::default(),
970 }
971 }
972}
973
974#[repr(C)]
976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
977pub struct ApplicationInfo {
978 pub s_type: StructureType,
979 pub next: *const c_void,
980 pub application_name: *const c_char,
981 pub application_version: u32,
982 pub engine_name: *const c_char,
983 pub engine_version: u32,
984 pub api_version: u32,
985}
986
987impl Default for ApplicationInfo {
988 #[inline]
989 fn default() -> Self {
990 Self {
991 s_type: StructureType::APPLICATION_INFO,
992 next: ptr::null(),
993 application_name: ptr::null(),
994 application_version: u32::default(),
995 engine_name: ptr::null(),
996 engine_version: u32::default(),
997 api_version: u32::default(),
998 }
999 }
1000}
1001
1002#[repr(C)]
1004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1005pub struct ApplicationParametersEXT {
1006 pub s_type: StructureType,
1007 pub next: *const c_void,
1008 pub vendor_id: u32,
1009 pub device_id: u32,
1010 pub key: u32,
1011 pub value: u64,
1012}
1013
1014impl Default for ApplicationParametersEXT {
1015 #[inline]
1016 fn default() -> Self {
1017 Self {
1018 s_type: StructureType::APPLICATION_PARAMETERS_EXT,
1019 next: ptr::null(),
1020 vendor_id: u32::default(),
1021 device_id: u32::default(),
1022 key: u32::default(),
1023 value: u64::default(),
1024 }
1025 }
1026}
1027
1028#[repr(C)]
1030#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1031pub struct AttachmentDescription {
1032 pub flags: AttachmentDescriptionFlags,
1033 pub format: Format,
1034 pub samples: SampleCountFlags,
1035 pub load_op: AttachmentLoadOp,
1036 pub store_op: AttachmentStoreOp,
1037 pub stencil_load_op: AttachmentLoadOp,
1038 pub stencil_store_op: AttachmentStoreOp,
1039 pub initial_layout: ImageLayout,
1040 pub final_layout: ImageLayout,
1041}
1042
1043#[repr(C)]
1045#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1046pub struct AttachmentDescription2 {
1047 pub s_type: StructureType,
1048 pub next: *const c_void,
1049 pub flags: AttachmentDescriptionFlags,
1050 pub format: Format,
1051 pub samples: SampleCountFlags,
1052 pub load_op: AttachmentLoadOp,
1053 pub store_op: AttachmentStoreOp,
1054 pub stencil_load_op: AttachmentLoadOp,
1055 pub stencil_store_op: AttachmentStoreOp,
1056 pub initial_layout: ImageLayout,
1057 pub final_layout: ImageLayout,
1058}
1059
1060impl Default for AttachmentDescription2 {
1061 #[inline]
1062 fn default() -> Self {
1063 Self {
1064 s_type: StructureType::ATTACHMENT_DESCRIPTION_2,
1065 next: ptr::null(),
1066 flags: AttachmentDescriptionFlags::default(),
1067 format: Format::default(),
1068 samples: SampleCountFlags::default(),
1069 load_op: AttachmentLoadOp::default(),
1070 store_op: AttachmentStoreOp::default(),
1071 stencil_load_op: AttachmentLoadOp::default(),
1072 stencil_store_op: AttachmentStoreOp::default(),
1073 initial_layout: ImageLayout::default(),
1074 final_layout: ImageLayout::default(),
1075 }
1076 }
1077}
1078
1079#[repr(C)]
1081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1082pub struct AttachmentDescriptionStencilLayout {
1083 pub s_type: StructureType,
1084 pub next: *mut c_void,
1085 pub stencil_initial_layout: ImageLayout,
1086 pub stencil_final_layout: ImageLayout,
1087}
1088
1089impl Default for AttachmentDescriptionStencilLayout {
1090 #[inline]
1091 fn default() -> Self {
1092 Self {
1093 s_type: StructureType::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1094 next: ptr::null_mut(),
1095 stencil_initial_layout: ImageLayout::default(),
1096 stencil_final_layout: ImageLayout::default(),
1097 }
1098 }
1099}
1100
1101#[repr(C)]
1103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1104pub struct AttachmentFeedbackLoopInfoEXT {
1105 pub s_type: StructureType,
1106 pub next: *const c_void,
1107 pub feedback_loop_enable: Bool32,
1108}
1109
1110impl Default for AttachmentFeedbackLoopInfoEXT {
1111 #[inline]
1112 fn default() -> Self {
1113 Self {
1114 s_type: StructureType::ATTACHMENT_FEEDBACK_LOOP_INFO_EXT,
1115 next: ptr::null(),
1116 feedback_loop_enable: Bool32::default(),
1117 }
1118 }
1119}
1120
1121#[repr(C)]
1123#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1124pub struct AttachmentReference {
1125 pub attachment: u32,
1126 pub layout: ImageLayout,
1127}
1128
1129#[repr(C)]
1131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1132pub struct AttachmentReference2 {
1133 pub s_type: StructureType,
1134 pub next: *const c_void,
1135 pub attachment: u32,
1136 pub layout: ImageLayout,
1137 pub aspect_mask: ImageAspectFlags,
1138}
1139
1140impl Default for AttachmentReference2 {
1141 #[inline]
1142 fn default() -> Self {
1143 Self {
1144 s_type: StructureType::ATTACHMENT_REFERENCE_2,
1145 next: ptr::null(),
1146 attachment: u32::default(),
1147 layout: ImageLayout::default(),
1148 aspect_mask: ImageAspectFlags::default(),
1149 }
1150 }
1151}
1152
1153#[repr(C)]
1155#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1156pub struct AttachmentReferenceStencilLayout {
1157 pub s_type: StructureType,
1158 pub next: *mut c_void,
1159 pub stencil_layout: ImageLayout,
1160}
1161
1162impl Default for AttachmentReferenceStencilLayout {
1163 #[inline]
1164 fn default() -> Self {
1165 Self {
1166 s_type: StructureType::ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1167 next: ptr::null_mut(),
1168 stencil_layout: ImageLayout::default(),
1169 }
1170 }
1171}
1172
1173#[repr(C)]
1175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1176pub struct AttachmentSampleCountInfoAMD {
1177 pub s_type: StructureType,
1178 pub next: *const c_void,
1179 pub color_attachment_count: u32,
1180 pub color_attachment_samples: *const SampleCountFlags,
1181 pub depth_stencil_attachment_samples: SampleCountFlags,
1182}
1183
1184impl Default for AttachmentSampleCountInfoAMD {
1185 #[inline]
1186 fn default() -> Self {
1187 Self {
1188 s_type: StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1189 next: ptr::null(),
1190 color_attachment_count: u32::default(),
1191 color_attachment_samples: ptr::null(),
1192 depth_stencil_attachment_samples: SampleCountFlags::default(),
1193 }
1194 }
1195}
1196
1197#[repr(C)]
1199#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1200pub struct AttachmentSampleLocationsEXT {
1201 pub attachment_index: u32,
1202 pub sample_locations_info: SampleLocationsInfoEXT,
1203}
1204
1205#[repr(C)]
1207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1208pub struct BaseInStructure {
1209 pub s_type: StructureType,
1210 pub next: *const BaseInStructure,
1211}
1212
1213impl Default for BaseInStructure {
1214 #[inline]
1215 fn default() -> Self {
1216 Self {
1217 s_type: StructureType::default(),
1218 next: ptr::null(),
1219 }
1220 }
1221}
1222
1223#[repr(C)]
1225#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1226pub struct BaseOutStructure {
1227 pub s_type: StructureType,
1228 pub next: *mut BaseOutStructure,
1229}
1230
1231impl Default for BaseOutStructure {
1232 #[inline]
1233 fn default() -> Self {
1234 Self {
1235 s_type: StructureType::default(),
1236 next: ptr::null_mut(),
1237 }
1238 }
1239}
1240
1241#[repr(C)]
1243#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1244pub struct BindAccelerationStructureMemoryInfoNV {
1245 pub s_type: StructureType,
1246 pub next: *const c_void,
1247 pub acceleration_structure: AccelerationStructureNV,
1248 pub memory: DeviceMemory,
1249 pub memory_offset: DeviceSize,
1250 pub device_index_count: u32,
1251 pub device_indices: *const u32,
1252}
1253
1254impl Default for BindAccelerationStructureMemoryInfoNV {
1255 #[inline]
1256 fn default() -> Self {
1257 Self {
1258 s_type: StructureType::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
1259 next: ptr::null(),
1260 acceleration_structure: AccelerationStructureNV::default(),
1261 memory: DeviceMemory::default(),
1262 memory_offset: DeviceSize::default(),
1263 device_index_count: u32::default(),
1264 device_indices: ptr::null(),
1265 }
1266 }
1267}
1268
1269#[repr(C)]
1271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1272pub struct BindBufferMemoryDeviceGroupInfo {
1273 pub s_type: StructureType,
1274 pub next: *const c_void,
1275 pub device_index_count: u32,
1276 pub device_indices: *const u32,
1277}
1278
1279impl Default for BindBufferMemoryDeviceGroupInfo {
1280 #[inline]
1281 fn default() -> Self {
1282 Self {
1283 s_type: StructureType::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1284 next: ptr::null(),
1285 device_index_count: u32::default(),
1286 device_indices: ptr::null(),
1287 }
1288 }
1289}
1290
1291#[repr(C)]
1293#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1294pub struct BindBufferMemoryInfo {
1295 pub s_type: StructureType,
1296 pub next: *const c_void,
1297 pub buffer: Buffer,
1298 pub memory: DeviceMemory,
1299 pub memory_offset: DeviceSize,
1300}
1301
1302impl Default for BindBufferMemoryInfo {
1303 #[inline]
1304 fn default() -> Self {
1305 Self {
1306 s_type: StructureType::BIND_BUFFER_MEMORY_INFO,
1307 next: ptr::null(),
1308 buffer: Buffer::default(),
1309 memory: DeviceMemory::default(),
1310 memory_offset: DeviceSize::default(),
1311 }
1312 }
1313}
1314
1315#[repr(C)]
1317#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1318pub struct BindDataGraphPipelineSessionMemoryInfoARM {
1319 pub s_type: StructureType,
1320 pub next: *const c_void,
1321 pub session: DataGraphPipelineSessionARM,
1322 pub bind_point: DataGraphPipelineSessionBindPointARM,
1323 pub object_index: u32,
1324 pub memory: DeviceMemory,
1325 pub memory_offset: DeviceSize,
1326}
1327
1328impl Default for BindDataGraphPipelineSessionMemoryInfoARM {
1329 #[inline]
1330 fn default() -> Self {
1331 Self {
1332 s_type: StructureType::BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM,
1333 next: ptr::null(),
1334 session: DataGraphPipelineSessionARM::default(),
1335 bind_point: DataGraphPipelineSessionBindPointARM::default(),
1336 object_index: u32::default(),
1337 memory: DeviceMemory::default(),
1338 memory_offset: DeviceSize::default(),
1339 }
1340 }
1341}
1342
1343#[repr(C)]
1345#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1346pub struct BindDescriptorBufferEmbeddedSamplersInfoEXT {
1347 pub s_type: StructureType,
1348 pub next: *const c_void,
1349 pub stage_flags: ShaderStageFlags,
1350 pub layout: PipelineLayout,
1351 pub set: u32,
1352}
1353
1354impl Default for BindDescriptorBufferEmbeddedSamplersInfoEXT {
1355 #[inline]
1356 fn default() -> Self {
1357 Self {
1358 s_type: StructureType::BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT,
1359 next: ptr::null(),
1360 stage_flags: ShaderStageFlags::default(),
1361 layout: PipelineLayout::default(),
1362 set: u32::default(),
1363 }
1364 }
1365}
1366
1367#[repr(C)]
1369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1370pub struct BindDescriptorSetsInfo {
1371 pub s_type: StructureType,
1372 pub next: *const c_void,
1373 pub stage_flags: ShaderStageFlags,
1374 pub layout: PipelineLayout,
1375 pub first_set: u32,
1376 pub descriptor_set_count: u32,
1377 pub descriptor_sets: *const DescriptorSet,
1378 pub dynamic_offset_count: u32,
1379 pub dynamic_offsets: *const u32,
1380}
1381
1382impl Default for BindDescriptorSetsInfo {
1383 #[inline]
1384 fn default() -> Self {
1385 Self {
1386 s_type: StructureType::BIND_DESCRIPTOR_SETS_INFO,
1387 next: ptr::null(),
1388 stage_flags: ShaderStageFlags::default(),
1389 layout: PipelineLayout::default(),
1390 first_set: u32::default(),
1391 descriptor_set_count: u32::default(),
1392 descriptor_sets: ptr::null(),
1393 dynamic_offset_count: u32::default(),
1394 dynamic_offsets: ptr::null(),
1395 }
1396 }
1397}
1398
1399#[repr(C)]
1401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1402pub struct BindImageMemoryDeviceGroupInfo {
1403 pub s_type: StructureType,
1404 pub next: *const c_void,
1405 pub device_index_count: u32,
1406 pub device_indices: *const u32,
1407 pub split_instance_bind_region_count: u32,
1408 pub split_instance_bind_regions: *const Rect2D,
1409}
1410
1411impl Default for BindImageMemoryDeviceGroupInfo {
1412 #[inline]
1413 fn default() -> Self {
1414 Self {
1415 s_type: StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1416 next: ptr::null(),
1417 device_index_count: u32::default(),
1418 device_indices: ptr::null(),
1419 split_instance_bind_region_count: u32::default(),
1420 split_instance_bind_regions: ptr::null(),
1421 }
1422 }
1423}
1424
1425#[repr(C)]
1427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1428pub struct BindImageMemoryInfo {
1429 pub s_type: StructureType,
1430 pub next: *const c_void,
1431 pub image: Image,
1432 pub memory: DeviceMemory,
1433 pub memory_offset: DeviceSize,
1434}
1435
1436impl Default for BindImageMemoryInfo {
1437 #[inline]
1438 fn default() -> Self {
1439 Self {
1440 s_type: StructureType::BIND_IMAGE_MEMORY_INFO,
1441 next: ptr::null(),
1442 image: Image::default(),
1443 memory: DeviceMemory::default(),
1444 memory_offset: DeviceSize::default(),
1445 }
1446 }
1447}
1448
1449#[repr(C)]
1451#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1452pub struct BindImageMemorySwapchainInfoKHR {
1453 pub s_type: StructureType,
1454 pub next: *const c_void,
1455 pub swapchain: SwapchainKHR,
1456 pub image_index: u32,
1457}
1458
1459impl Default for BindImageMemorySwapchainInfoKHR {
1460 #[inline]
1461 fn default() -> Self {
1462 Self {
1463 s_type: StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
1464 next: ptr::null(),
1465 swapchain: SwapchainKHR::default(),
1466 image_index: u32::default(),
1467 }
1468 }
1469}
1470
1471#[repr(C)]
1473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1474pub struct BindImagePlaneMemoryInfo {
1475 pub s_type: StructureType,
1476 pub next: *const c_void,
1477 pub plane_aspect: ImageAspectFlags,
1478}
1479
1480impl Default for BindImagePlaneMemoryInfo {
1481 #[inline]
1482 fn default() -> Self {
1483 Self {
1484 s_type: StructureType::BIND_IMAGE_PLANE_MEMORY_INFO,
1485 next: ptr::null(),
1486 plane_aspect: ImageAspectFlags::default(),
1487 }
1488 }
1489}
1490
1491#[repr(C)]
1493#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1494pub struct BindIndexBufferIndirectCommandEXT {
1495 pub buffer_address: DeviceAddress,
1496 pub size: u32,
1497 pub index_type: IndexType,
1498}
1499
1500#[repr(C)]
1502#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1503pub struct BindIndexBufferIndirectCommandNV {
1504 pub buffer_address: DeviceAddress,
1505 pub size: u32,
1506 pub index_type: IndexType,
1507}
1508
1509#[repr(C)]
1511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1512pub struct BindMemoryStatus {
1513 pub s_type: StructureType,
1514 pub next: *const c_void,
1515 pub result: *mut Result,
1516}
1517
1518impl Default for BindMemoryStatus {
1519 #[inline]
1520 fn default() -> Self {
1521 Self {
1522 s_type: StructureType::BIND_MEMORY_STATUS,
1523 next: ptr::null(),
1524 result: ptr::null_mut(),
1525 }
1526 }
1527}
1528
1529#[repr(C)]
1531#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1532pub struct BindPipelineIndirectCommandNV {
1533 pub pipeline_address: DeviceAddress,
1534}
1535
1536#[repr(C)]
1538#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1539pub struct BindShaderGroupIndirectCommandNV {
1540 pub group_index: u32,
1541}
1542
1543#[repr(C)]
1545#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1546pub struct BindSparseInfo {
1547 pub s_type: StructureType,
1548 pub next: *const c_void,
1549 pub wait_semaphore_count: u32,
1550 pub wait_semaphores: *const Semaphore,
1551 pub buffer_bind_count: u32,
1552 pub buffer_binds: *const SparseBufferMemoryBindInfo,
1553 pub image_opaque_bind_count: u32,
1554 pub image_opaque_binds: *const SparseImageOpaqueMemoryBindInfo,
1555 pub image_bind_count: u32,
1556 pub image_binds: *const SparseImageMemoryBindInfo,
1557 pub signal_semaphore_count: u32,
1558 pub signal_semaphores: *const Semaphore,
1559}
1560
1561impl Default for BindSparseInfo {
1562 #[inline]
1563 fn default() -> Self {
1564 Self {
1565 s_type: StructureType::BIND_SPARSE_INFO,
1566 next: ptr::null(),
1567 wait_semaphore_count: u32::default(),
1568 wait_semaphores: ptr::null(),
1569 buffer_bind_count: u32::default(),
1570 buffer_binds: ptr::null(),
1571 image_opaque_bind_count: u32::default(),
1572 image_opaque_binds: ptr::null(),
1573 image_bind_count: u32::default(),
1574 image_binds: ptr::null(),
1575 signal_semaphore_count: u32::default(),
1576 signal_semaphores: ptr::null(),
1577 }
1578 }
1579}
1580
1581#[repr(C)]
1583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1584pub struct BindTensorMemoryInfoARM {
1585 pub s_type: StructureType,
1586 pub next: *const c_void,
1587 pub tensor: TensorARM,
1588 pub memory: DeviceMemory,
1589 pub memory_offset: DeviceSize,
1590}
1591
1592impl Default for BindTensorMemoryInfoARM {
1593 #[inline]
1594 fn default() -> Self {
1595 Self {
1596 s_type: StructureType::BIND_TENSOR_MEMORY_INFO_ARM,
1597 next: ptr::null(),
1598 tensor: TensorARM::default(),
1599 memory: DeviceMemory::default(),
1600 memory_offset: DeviceSize::default(),
1601 }
1602 }
1603}
1604
1605#[repr(C)]
1607#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1608pub struct BindVertexBufferIndirectCommandEXT {
1609 pub buffer_address: DeviceAddress,
1610 pub size: u32,
1611 pub stride: u32,
1612}
1613
1614#[repr(C)]
1616#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1617pub struct BindVertexBufferIndirectCommandNV {
1618 pub buffer_address: DeviceAddress,
1619 pub size: u32,
1620 pub stride: u32,
1621}
1622
1623#[repr(C)]
1625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1626pub struct BindVideoSessionMemoryInfoKHR {
1627 pub s_type: StructureType,
1628 pub next: *const c_void,
1629 pub memory_bind_index: u32,
1630 pub memory: DeviceMemory,
1631 pub memory_offset: DeviceSize,
1632 pub memory_size: DeviceSize,
1633}
1634
1635impl Default for BindVideoSessionMemoryInfoKHR {
1636 #[inline]
1637 fn default() -> Self {
1638 Self {
1639 s_type: StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
1640 next: ptr::null(),
1641 memory_bind_index: u32::default(),
1642 memory: DeviceMemory::default(),
1643 memory_offset: DeviceSize::default(),
1644 memory_size: DeviceSize::default(),
1645 }
1646 }
1647}
1648
1649#[repr(C)]
1651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1652pub struct BlitImageCubicWeightsInfoQCOM {
1653 pub s_type: StructureType,
1654 pub next: *const c_void,
1655 pub cubic_weights: CubicFilterWeightsQCOM,
1656}
1657
1658impl Default for BlitImageCubicWeightsInfoQCOM {
1659 #[inline]
1660 fn default() -> Self {
1661 Self {
1662 s_type: StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
1663 next: ptr::null(),
1664 cubic_weights: CubicFilterWeightsQCOM::default(),
1665 }
1666 }
1667}
1668
1669#[repr(C)]
1671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1672pub struct BlitImageInfo2 {
1673 pub s_type: StructureType,
1674 pub next: *const c_void,
1675 pub src_image: Image,
1676 pub src_image_layout: ImageLayout,
1677 pub dst_image: Image,
1678 pub dst_image_layout: ImageLayout,
1679 pub region_count: u32,
1680 pub regions: *const ImageBlit2,
1681 pub filter: Filter,
1682}
1683
1684impl Default for BlitImageInfo2 {
1685 #[inline]
1686 fn default() -> Self {
1687 Self {
1688 s_type: StructureType::BLIT_IMAGE_INFO_2,
1689 next: ptr::null(),
1690 src_image: Image::default(),
1691 src_image_layout: ImageLayout::default(),
1692 dst_image: Image::default(),
1693 dst_image_layout: ImageLayout::default(),
1694 region_count: u32::default(),
1695 regions: ptr::null(),
1696 filter: Filter::default(),
1697 }
1698 }
1699}
1700
1701#[repr(C)]
1703#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1704pub struct BufferCaptureDescriptorDataInfoEXT {
1705 pub s_type: StructureType,
1706 pub next: *const c_void,
1707 pub buffer: Buffer,
1708}
1709
1710impl Default for BufferCaptureDescriptorDataInfoEXT {
1711 #[inline]
1712 fn default() -> Self {
1713 Self {
1714 s_type: StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1715 next: ptr::null(),
1716 buffer: Buffer::default(),
1717 }
1718 }
1719}
1720
1721#[repr(C)]
1723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1724pub struct BufferCollectionBufferCreateInfoFUCHSIA {
1725 pub s_type: StructureType,
1726 pub next: *const c_void,
1727 pub collection: BufferCollectionFUCHSIA,
1728 pub index: u32,
1729}
1730
1731impl Default for BufferCollectionBufferCreateInfoFUCHSIA {
1732 #[inline]
1733 fn default() -> Self {
1734 Self {
1735 s_type: StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
1736 next: ptr::null(),
1737 collection: BufferCollectionFUCHSIA::default(),
1738 index: u32::default(),
1739 }
1740 }
1741}
1742
1743#[repr(C)]
1745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1746pub struct BufferCollectionConstraintsInfoFUCHSIA {
1747 pub s_type: StructureType,
1748 pub next: *const c_void,
1749 pub min_buffer_count: u32,
1750 pub max_buffer_count: u32,
1751 pub min_buffer_count_for_camping: u32,
1752 pub min_buffer_count_for_dedicated_slack: u32,
1753 pub min_buffer_count_for_shared_slack: u32,
1754}
1755
1756impl Default for BufferCollectionConstraintsInfoFUCHSIA {
1757 #[inline]
1758 fn default() -> Self {
1759 Self {
1760 s_type: StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
1761 next: ptr::null(),
1762 min_buffer_count: u32::default(),
1763 max_buffer_count: u32::default(),
1764 min_buffer_count_for_camping: u32::default(),
1765 min_buffer_count_for_dedicated_slack: u32::default(),
1766 min_buffer_count_for_shared_slack: u32::default(),
1767 }
1768 }
1769}
1770
1771#[repr(C)]
1773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1774pub struct BufferCollectionCreateInfoFUCHSIA {
1775 pub s_type: StructureType,
1776 pub next: *const c_void,
1777 pub collection_token: zx_handle_t,
1778}
1779
1780impl Default for BufferCollectionCreateInfoFUCHSIA {
1781 #[inline]
1782 fn default() -> Self {
1783 Self {
1784 s_type: StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
1785 next: ptr::null(),
1786 collection_token: zx_handle_t::default(),
1787 }
1788 }
1789}
1790
1791#[repr(C)]
1793#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1794pub struct BufferCollectionImageCreateInfoFUCHSIA {
1795 pub s_type: StructureType,
1796 pub next: *const c_void,
1797 pub collection: BufferCollectionFUCHSIA,
1798 pub index: u32,
1799}
1800
1801impl Default for BufferCollectionImageCreateInfoFUCHSIA {
1802 #[inline]
1803 fn default() -> Self {
1804 Self {
1805 s_type: StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
1806 next: ptr::null(),
1807 collection: BufferCollectionFUCHSIA::default(),
1808 index: u32::default(),
1809 }
1810 }
1811}
1812
1813#[repr(C)]
1815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1816pub struct BufferCollectionPropertiesFUCHSIA {
1817 pub s_type: StructureType,
1818 pub next: *mut c_void,
1819 pub memory_type_bits: u32,
1820 pub buffer_count: u32,
1821 pub create_info_index: u32,
1822 pub sysmem_pixel_format: u64,
1823 pub format_features: FormatFeatureFlags,
1824 pub sysmem_color_space_index: SysmemColorSpaceFUCHSIA,
1825 pub sampler_ycbcr_conversion_components: ComponentMapping,
1826 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
1827 pub suggested_ycbcr_range: SamplerYcbcrRange,
1828 pub suggested_x_chroma_offset: ChromaLocation,
1829 pub suggested_y_chroma_offset: ChromaLocation,
1830}
1831
1832impl Default for BufferCollectionPropertiesFUCHSIA {
1833 #[inline]
1834 fn default() -> Self {
1835 Self {
1836 s_type: StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
1837 next: ptr::null_mut(),
1838 memory_type_bits: u32::default(),
1839 buffer_count: u32::default(),
1840 create_info_index: u32::default(),
1841 sysmem_pixel_format: u64::default(),
1842 format_features: FormatFeatureFlags::default(),
1843 sysmem_color_space_index: SysmemColorSpaceFUCHSIA::default(),
1844 sampler_ycbcr_conversion_components: ComponentMapping::default(),
1845 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
1846 suggested_ycbcr_range: SamplerYcbcrRange::default(),
1847 suggested_x_chroma_offset: ChromaLocation::default(),
1848 suggested_y_chroma_offset: ChromaLocation::default(),
1849 }
1850 }
1851}
1852
1853#[repr(C)]
1855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1856pub struct BufferConstraintsInfoFUCHSIA {
1857 pub s_type: StructureType,
1858 pub next: *const c_void,
1859 pub create_info: BufferCreateInfo,
1860 pub required_format_features: FormatFeatureFlags,
1861 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
1862}
1863
1864impl Default for BufferConstraintsInfoFUCHSIA {
1865 #[inline]
1866 fn default() -> Self {
1867 Self {
1868 s_type: StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA,
1869 next: ptr::null(),
1870 create_info: BufferCreateInfo::default(),
1871 required_format_features: FormatFeatureFlags::default(),
1872 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
1873 }
1874 }
1875}
1876
1877#[repr(C)]
1879#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1880pub struct BufferCopy {
1881 pub src_offset: DeviceSize,
1882 pub dst_offset: DeviceSize,
1883 pub size: DeviceSize,
1884}
1885
1886#[repr(C)]
1888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1889pub struct BufferCopy2 {
1890 pub s_type: StructureType,
1891 pub next: *const c_void,
1892 pub src_offset: DeviceSize,
1893 pub dst_offset: DeviceSize,
1894 pub size: DeviceSize,
1895}
1896
1897impl Default for BufferCopy2 {
1898 #[inline]
1899 fn default() -> Self {
1900 Self {
1901 s_type: StructureType::BUFFER_COPY_2,
1902 next: ptr::null(),
1903 src_offset: DeviceSize::default(),
1904 dst_offset: DeviceSize::default(),
1905 size: DeviceSize::default(),
1906 }
1907 }
1908}
1909
1910#[repr(C)]
1912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1913pub struct BufferCreateInfo {
1914 pub s_type: StructureType,
1915 pub next: *const c_void,
1916 pub flags: BufferCreateFlags,
1917 pub size: DeviceSize,
1918 pub usage: BufferUsageFlags,
1919 pub sharing_mode: SharingMode,
1920 pub queue_family_index_count: u32,
1921 pub queue_family_indices: *const u32,
1922}
1923
1924impl Default for BufferCreateInfo {
1925 #[inline]
1926 fn default() -> Self {
1927 Self {
1928 s_type: StructureType::BUFFER_CREATE_INFO,
1929 next: ptr::null(),
1930 flags: BufferCreateFlags::default(),
1931 size: DeviceSize::default(),
1932 usage: BufferUsageFlags::default(),
1933 sharing_mode: SharingMode::default(),
1934 queue_family_index_count: u32::default(),
1935 queue_family_indices: ptr::null(),
1936 }
1937 }
1938}
1939
1940#[repr(C)]
1942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1943pub struct BufferDeviceAddressCreateInfoEXT {
1944 pub s_type: StructureType,
1945 pub next: *const c_void,
1946 pub device_address: DeviceAddress,
1947}
1948
1949impl Default for BufferDeviceAddressCreateInfoEXT {
1950 #[inline]
1951 fn default() -> Self {
1952 Self {
1953 s_type: StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
1954 next: ptr::null(),
1955 device_address: DeviceAddress::default(),
1956 }
1957 }
1958}
1959
1960#[repr(C)]
1962#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1963pub struct BufferDeviceAddressInfo {
1964 pub s_type: StructureType,
1965 pub next: *const c_void,
1966 pub buffer: Buffer,
1967}
1968
1969impl Default for BufferDeviceAddressInfo {
1970 #[inline]
1971 fn default() -> Self {
1972 Self {
1973 s_type: StructureType::BUFFER_DEVICE_ADDRESS_INFO,
1974 next: ptr::null(),
1975 buffer: Buffer::default(),
1976 }
1977 }
1978}
1979
1980#[repr(C)]
1982#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1983pub struct BufferImageCopy {
1984 pub buffer_offset: DeviceSize,
1985 pub buffer_row_length: u32,
1986 pub buffer_image_height: u32,
1987 pub image_subresource: ImageSubresourceLayers,
1988 pub image_offset: Offset3D,
1989 pub image_extent: Extent3D,
1990}
1991
1992#[repr(C)]
1994#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1995pub struct BufferImageCopy2 {
1996 pub s_type: StructureType,
1997 pub next: *const c_void,
1998 pub buffer_offset: DeviceSize,
1999 pub buffer_row_length: u32,
2000 pub buffer_image_height: u32,
2001 pub image_subresource: ImageSubresourceLayers,
2002 pub image_offset: Offset3D,
2003 pub image_extent: Extent3D,
2004}
2005
2006impl Default for BufferImageCopy2 {
2007 #[inline]
2008 fn default() -> Self {
2009 Self {
2010 s_type: StructureType::BUFFER_IMAGE_COPY_2,
2011 next: ptr::null(),
2012 buffer_offset: DeviceSize::default(),
2013 buffer_row_length: u32::default(),
2014 buffer_image_height: u32::default(),
2015 image_subresource: ImageSubresourceLayers::default(),
2016 image_offset: Offset3D::default(),
2017 image_extent: Extent3D::default(),
2018 }
2019 }
2020}
2021
2022#[repr(C)]
2024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2025pub struct BufferMemoryBarrier {
2026 pub s_type: StructureType,
2027 pub next: *const c_void,
2028 pub src_access_mask: AccessFlags,
2029 pub dst_access_mask: AccessFlags,
2030 pub src_queue_family_index: u32,
2031 pub dst_queue_family_index: u32,
2032 pub buffer: Buffer,
2033 pub offset: DeviceSize,
2034 pub size: DeviceSize,
2035}
2036
2037impl Default for BufferMemoryBarrier {
2038 #[inline]
2039 fn default() -> Self {
2040 Self {
2041 s_type: StructureType::BUFFER_MEMORY_BARRIER,
2042 next: ptr::null(),
2043 src_access_mask: AccessFlags::default(),
2044 dst_access_mask: AccessFlags::default(),
2045 src_queue_family_index: u32::default(),
2046 dst_queue_family_index: u32::default(),
2047 buffer: Buffer::default(),
2048 offset: DeviceSize::default(),
2049 size: DeviceSize::default(),
2050 }
2051 }
2052}
2053
2054#[repr(C)]
2056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2057pub struct BufferMemoryBarrier2 {
2058 pub s_type: StructureType,
2059 pub next: *const c_void,
2060 pub src_stage_mask: PipelineStageFlags2,
2061 pub src_access_mask: AccessFlags2,
2062 pub dst_stage_mask: PipelineStageFlags2,
2063 pub dst_access_mask: AccessFlags2,
2064 pub src_queue_family_index: u32,
2065 pub dst_queue_family_index: u32,
2066 pub buffer: Buffer,
2067 pub offset: DeviceSize,
2068 pub size: DeviceSize,
2069}
2070
2071impl Default for BufferMemoryBarrier2 {
2072 #[inline]
2073 fn default() -> Self {
2074 Self {
2075 s_type: StructureType::BUFFER_MEMORY_BARRIER_2,
2076 next: ptr::null(),
2077 src_stage_mask: PipelineStageFlags2::default(),
2078 src_access_mask: AccessFlags2::default(),
2079 dst_stage_mask: PipelineStageFlags2::default(),
2080 dst_access_mask: AccessFlags2::default(),
2081 src_queue_family_index: u32::default(),
2082 dst_queue_family_index: u32::default(),
2083 buffer: Buffer::default(),
2084 offset: DeviceSize::default(),
2085 size: DeviceSize::default(),
2086 }
2087 }
2088}
2089
2090#[repr(C)]
2092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2093pub struct BufferMemoryRequirementsInfo2 {
2094 pub s_type: StructureType,
2095 pub next: *const c_void,
2096 pub buffer: Buffer,
2097}
2098
2099impl Default for BufferMemoryRequirementsInfo2 {
2100 #[inline]
2101 fn default() -> Self {
2102 Self {
2103 s_type: StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2,
2104 next: ptr::null(),
2105 buffer: Buffer::default(),
2106 }
2107 }
2108}
2109
2110#[repr(C)]
2112#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2113pub struct BufferOpaqueCaptureAddressCreateInfo {
2114 pub s_type: StructureType,
2115 pub next: *const c_void,
2116 pub opaque_capture_address: u64,
2117}
2118
2119impl Default for BufferOpaqueCaptureAddressCreateInfo {
2120 #[inline]
2121 fn default() -> Self {
2122 Self {
2123 s_type: StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2124 next: ptr::null(),
2125 opaque_capture_address: u64::default(),
2126 }
2127 }
2128}
2129
2130#[repr(C)]
2132#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2133pub struct BufferUsageFlags2CreateInfo {
2134 pub s_type: StructureType,
2135 pub next: *const c_void,
2136 pub usage: BufferUsageFlags2,
2137}
2138
2139impl Default for BufferUsageFlags2CreateInfo {
2140 #[inline]
2141 fn default() -> Self {
2142 Self {
2143 s_type: StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO,
2144 next: ptr::null(),
2145 usage: BufferUsageFlags2::default(),
2146 }
2147 }
2148}
2149
2150#[repr(C)]
2152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2153pub struct BufferViewCreateInfo {
2154 pub s_type: StructureType,
2155 pub next: *const c_void,
2156 pub flags: BufferViewCreateFlags,
2157 pub buffer: Buffer,
2158 pub format: Format,
2159 pub offset: DeviceSize,
2160 pub range: DeviceSize,
2161}
2162
2163impl Default for BufferViewCreateInfo {
2164 #[inline]
2165 fn default() -> Self {
2166 Self {
2167 s_type: StructureType::BUFFER_VIEW_CREATE_INFO,
2168 next: ptr::null(),
2169 flags: BufferViewCreateFlags::default(),
2170 buffer: Buffer::default(),
2171 format: Format::default(),
2172 offset: DeviceSize::default(),
2173 range: DeviceSize::default(),
2174 }
2175 }
2176}
2177
2178#[repr(C)]
2180#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2181pub struct BuildPartitionedAccelerationStructureIndirectCommandNV {
2182 pub op_type: PartitionedAccelerationStructureOpTypeNV,
2183 pub arg_count: u32,
2184 pub arg_data: StridedDeviceAddressNV,
2185}
2186
2187#[repr(C)]
2189#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2190pub struct BuildPartitionedAccelerationStructureInfoNV {
2191 pub s_type: StructureType,
2192 pub next: *mut c_void,
2193 pub input: PartitionedAccelerationStructureInstancesInputNV,
2194 pub src_acceleration_structure_data: DeviceAddress,
2195 pub dst_acceleration_structure_data: DeviceAddress,
2196 pub scratch_data: DeviceAddress,
2197 pub src_infos: DeviceAddress,
2198 pub src_infos_count: DeviceAddress,
2199}
2200
2201impl Default for BuildPartitionedAccelerationStructureInfoNV {
2202 #[inline]
2203 fn default() -> Self {
2204 Self {
2205 s_type: StructureType::BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV,
2206 next: ptr::null_mut(),
2207 input: PartitionedAccelerationStructureInstancesInputNV::default(),
2208 src_acceleration_structure_data: DeviceAddress::default(),
2209 dst_acceleration_structure_data: DeviceAddress::default(),
2210 scratch_data: DeviceAddress::default(),
2211 src_infos: DeviceAddress::default(),
2212 src_infos_count: DeviceAddress::default(),
2213 }
2214 }
2215}
2216
2217#[repr(C)]
2219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2220pub struct CalibratedTimestampInfoKHR {
2221 pub s_type: StructureType,
2222 pub next: *const c_void,
2223 pub time_domain: TimeDomainKHR,
2224}
2225
2226impl Default for CalibratedTimestampInfoKHR {
2227 #[inline]
2228 fn default() -> Self {
2229 Self {
2230 s_type: StructureType::CALIBRATED_TIMESTAMP_INFO_KHR,
2231 next: ptr::null(),
2232 time_domain: TimeDomainKHR::default(),
2233 }
2234 }
2235}
2236
2237#[repr(C)]
2239#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2240pub struct CheckpointData2NV {
2241 pub s_type: StructureType,
2242 pub next: *mut c_void,
2243 pub stage: PipelineStageFlags2,
2244 pub checkpoint_marker: *mut c_void,
2245}
2246
2247impl Default for CheckpointData2NV {
2248 #[inline]
2249 fn default() -> Self {
2250 Self {
2251 s_type: StructureType::CHECKPOINT_DATA_2_NV,
2252 next: ptr::null_mut(),
2253 stage: PipelineStageFlags2::default(),
2254 checkpoint_marker: ptr::null_mut(),
2255 }
2256 }
2257}
2258
2259#[repr(C)]
2261#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2262pub struct CheckpointDataNV {
2263 pub s_type: StructureType,
2264 pub next: *mut c_void,
2265 pub stage: PipelineStageFlags,
2266 pub checkpoint_marker: *mut c_void,
2267}
2268
2269impl Default for CheckpointDataNV {
2270 #[inline]
2271 fn default() -> Self {
2272 Self {
2273 s_type: StructureType::CHECKPOINT_DATA_NV,
2274 next: ptr::null_mut(),
2275 stage: PipelineStageFlags::default(),
2276 checkpoint_marker: ptr::null_mut(),
2277 }
2278 }
2279}
2280
2281#[repr(C)]
2283#[derive(Copy, Clone, Default, Debug)]
2284pub struct ClearAttachment {
2285 pub aspect_mask: ImageAspectFlags,
2286 pub color_attachment: u32,
2287 pub clear_value: ClearValue,
2288}
2289
2290#[repr(C)]
2292#[derive(Copy, Clone, Default, Debug, PartialEq)]
2293pub struct ClearDepthStencilValue {
2294 pub depth: f32,
2295 pub stencil: u32,
2296}
2297
2298#[repr(C)]
2300#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2301pub struct ClearRect {
2302 pub rect: Rect2D,
2303 pub base_array_layer: u32,
2304 pub layer_count: u32,
2305}
2306
2307#[repr(C)]
2309#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2310pub struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
2311 pub cluster_references_count: u32,
2312 pub cluster_references_stride: u32,
2313 pub cluster_references: DeviceAddress,
2314}
2315
2316bitfields32! {
2317 struct ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0 {
2318 (triangle_count, with_triangle_count)[0 .. 9],
2319 (vertex_count, with_vertex_count)[9 .. 18],
2320 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2321 (index_type, with_index_type)[24 .. 28],
2322 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2323 }
2324}
2325
2326#[repr(C)]
2328#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2329pub struct ClusterAccelerationStructureBuildTriangleClusterInfoNV {
2330 pub cluster_id: u32,
2331 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2332 pub base_geometry_index_and_geometry_flags:
2333 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2334 pub index_buffer_stride: u16,
2335 pub vertex_buffer_stride: u16,
2336 pub geometry_index_and_flags_buffer_stride: u16,
2337 pub opacity_micromap_index_buffer_stride: u16,
2338 pub index_buffer: DeviceAddress,
2339 pub vertex_buffer: DeviceAddress,
2340 pub geometry_index_and_flags_buffer: DeviceAddress,
2341 pub opacity_micromap_array: DeviceAddress,
2342 pub opacity_micromap_index_buffer: DeviceAddress,
2343 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0,
2344}
2345
2346bitfields32! {
2347 struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0 {
2348 (triangle_count, with_triangle_count)[0 .. 9],
2349 (vertex_count, with_vertex_count)[9 .. 18],
2350 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2351 (index_type, with_index_type)[24 .. 28],
2352 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2353 }
2354}
2355
2356#[repr(C)]
2358#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2359pub struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
2360 pub cluster_id: u32,
2361 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2362 pub base_geometry_index_and_geometry_flags:
2363 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2364 pub index_buffer_stride: u16,
2365 pub vertex_buffer_stride: u16,
2366 pub geometry_index_and_flags_buffer_stride: u16,
2367 pub opacity_micromap_index_buffer_stride: u16,
2368 pub index_buffer: DeviceAddress,
2369 pub vertex_buffer: DeviceAddress,
2370 pub geometry_index_and_flags_buffer: DeviceAddress,
2371 pub opacity_micromap_array: DeviceAddress,
2372 pub opacity_micromap_index_buffer: DeviceAddress,
2373 pub instantiation_bounding_box_limit: DeviceAddress,
2374 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0,
2375}
2376
2377#[repr(C)]
2379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2380pub struct ClusterAccelerationStructureClustersBottomLevelInputNV {
2381 pub s_type: StructureType,
2382 pub next: *mut c_void,
2383 pub max_total_cluster_count: u32,
2384 pub max_cluster_count_per_acceleration_structure: u32,
2385}
2386
2387impl Default for ClusterAccelerationStructureClustersBottomLevelInputNV {
2388 #[inline]
2389 fn default() -> Self {
2390 Self {
2391 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV,
2392 next: ptr::null_mut(),
2393 max_total_cluster_count: u32::default(),
2394 max_cluster_count_per_acceleration_structure: u32::default(),
2395 }
2396 }
2397}
2398
2399#[repr(C)]
2401#[derive(Copy, Clone, Debug)]
2402pub struct ClusterAccelerationStructureCommandsInfoNV {
2403 pub s_type: StructureType,
2404 pub next: *mut c_void,
2405 pub input: ClusterAccelerationStructureInputInfoNV,
2406 pub dst_implicit_data: DeviceAddress,
2407 pub scratch_data: DeviceAddress,
2408 pub dst_addresses_array: StridedDeviceAddressRegionKHR,
2409 pub dst_sizes_array: StridedDeviceAddressRegionKHR,
2410 pub src_infos_array: StridedDeviceAddressRegionKHR,
2411 pub src_infos_count: DeviceAddress,
2412 pub address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV,
2413}
2414
2415impl Default for ClusterAccelerationStructureCommandsInfoNV {
2416 #[inline]
2417 fn default() -> Self {
2418 Self {
2419 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV,
2420 next: ptr::null_mut(),
2421 input: ClusterAccelerationStructureInputInfoNV::default(),
2422 dst_implicit_data: DeviceAddress::default(),
2423 scratch_data: DeviceAddress::default(),
2424 dst_addresses_array: StridedDeviceAddressRegionKHR::default(),
2425 dst_sizes_array: StridedDeviceAddressRegionKHR::default(),
2426 src_infos_array: StridedDeviceAddressRegionKHR::default(),
2427 src_infos_count: DeviceAddress::default(),
2428 address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV::default(
2429 ),
2430 }
2431 }
2432}
2433
2434bitfields32! {
2435 struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0 {
2436 (geometry_index, with_geometry_index)[0 .. 24],
2437 (reserved, with_reserved)[24 .. 29],
2438 (geometry_flags, with_geometry_flags)[29 .. 32],
2439 }
2440}
2441
2442#[repr(C)]
2444#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2445pub struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
2446 pub bitfields0: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0,
2447}
2448
2449#[repr(C)]
2451#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2452pub struct ClusterAccelerationStructureGetTemplateIndicesInfoNV {
2453 pub cluster_template_address: DeviceAddress,
2454}
2455
2456#[repr(C)]
2458#[derive(Copy, Clone, Debug)]
2459pub struct ClusterAccelerationStructureInputInfoNV {
2460 pub s_type: StructureType,
2461 pub next: *mut c_void,
2462 pub max_acceleration_structure_count: u32,
2463 pub flags: BuildAccelerationStructureFlagsKHR,
2464 pub op_type: ClusterAccelerationStructureOpTypeNV,
2465 pub op_mode: ClusterAccelerationStructureOpModeNV,
2466 pub op_input: ClusterAccelerationStructureOpInputNV,
2467}
2468
2469impl Default for ClusterAccelerationStructureInputInfoNV {
2470 #[inline]
2471 fn default() -> Self {
2472 Self {
2473 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV,
2474 next: ptr::null_mut(),
2475 max_acceleration_structure_count: u32::default(),
2476 flags: BuildAccelerationStructureFlagsKHR::default(),
2477 op_type: ClusterAccelerationStructureOpTypeNV::default(),
2478 op_mode: ClusterAccelerationStructureOpModeNV::default(),
2479 op_input: ClusterAccelerationStructureOpInputNV::default(),
2480 }
2481 }
2482}
2483
2484bitfields32! {
2485 struct ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0 {
2486 (geometry_index_offset, with_geometry_index_offset)[0 .. 24],
2487 (reserved, with_reserved)[24 .. 32],
2488 }
2489}
2490
2491#[repr(C)]
2493#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2494pub struct ClusterAccelerationStructureInstantiateClusterInfoNV {
2495 pub cluster_id_offset: u32,
2496 pub cluster_template_address: DeviceAddress,
2497 pub vertex_buffer: StridedDeviceAddressNV,
2498 pub bitfields0: ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0,
2499}
2500
2501#[repr(C)]
2503#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2504pub struct ClusterAccelerationStructureMoveObjectsInfoNV {
2505 pub src_acceleration_structure: DeviceAddress,
2506}
2507
2508#[repr(C)]
2510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2511pub struct ClusterAccelerationStructureMoveObjectsInputNV {
2512 pub s_type: StructureType,
2513 pub next: *mut c_void,
2514 pub type_: ClusterAccelerationStructureTypeNV,
2515 pub no_move_overlap: Bool32,
2516 pub max_moved_bytes: DeviceSize,
2517}
2518
2519impl Default for ClusterAccelerationStructureMoveObjectsInputNV {
2520 #[inline]
2521 fn default() -> Self {
2522 Self {
2523 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV,
2524 next: ptr::null_mut(),
2525 type_: ClusterAccelerationStructureTypeNV::default(),
2526 no_move_overlap: Bool32::default(),
2527 max_moved_bytes: DeviceSize::default(),
2528 }
2529 }
2530}
2531
2532#[repr(C)]
2534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2535pub struct ClusterAccelerationStructureTriangleClusterInputNV {
2536 pub s_type: StructureType,
2537 pub next: *mut c_void,
2538 pub vertex_format: Format,
2539 pub max_geometry_index_value: u32,
2540 pub max_cluster_unique_geometry_count: u32,
2541 pub max_cluster_triangle_count: u32,
2542 pub max_cluster_vertex_count: u32,
2543 pub max_total_triangle_count: u32,
2544 pub max_total_vertex_count: u32,
2545 pub min_position_truncate_bit_count: u32,
2546}
2547
2548impl Default for ClusterAccelerationStructureTriangleClusterInputNV {
2549 #[inline]
2550 fn default() -> Self {
2551 Self {
2552 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV,
2553 next: ptr::null_mut(),
2554 vertex_format: Format::default(),
2555 max_geometry_index_value: u32::default(),
2556 max_cluster_unique_geometry_count: u32::default(),
2557 max_cluster_triangle_count: u32::default(),
2558 max_cluster_vertex_count: u32::default(),
2559 max_total_triangle_count: u32::default(),
2560 max_total_vertex_count: u32::default(),
2561 min_position_truncate_bit_count: u32::default(),
2562 }
2563 }
2564}
2565
2566#[repr(C)]
2568#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2569pub struct CoarseSampleLocationNV {
2570 pub pixel_x: u32,
2571 pub pixel_y: u32,
2572 pub sample: u32,
2573}
2574
2575#[repr(C)]
2577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2578pub struct CoarseSampleOrderCustomNV {
2579 pub shading_rate: ShadingRatePaletteEntryNV,
2580 pub sample_count: u32,
2581 pub sample_location_count: u32,
2582 pub sample_locations: *const CoarseSampleLocationNV,
2583}
2584
2585impl Default for CoarseSampleOrderCustomNV {
2586 #[inline]
2587 fn default() -> Self {
2588 Self {
2589 shading_rate: ShadingRatePaletteEntryNV::default(),
2590 sample_count: u32::default(),
2591 sample_location_count: u32::default(),
2592 sample_locations: ptr::null(),
2593 }
2594 }
2595}
2596
2597#[repr(C)]
2599#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2600pub struct ColorBlendAdvancedEXT {
2601 pub advanced_blend_op: BlendOp,
2602 pub src_premultiplied: Bool32,
2603 pub dst_premultiplied: Bool32,
2604 pub blend_overlap: BlendOverlapEXT,
2605 pub clamp_results: Bool32,
2606}
2607
2608#[repr(C)]
2610#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2611pub struct ColorBlendEquationEXT {
2612 pub src_color_blend_factor: BlendFactor,
2613 pub dst_color_blend_factor: BlendFactor,
2614 pub color_blend_op: BlendOp,
2615 pub src_alpha_blend_factor: BlendFactor,
2616 pub dst_alpha_blend_factor: BlendFactor,
2617 pub alpha_blend_op: BlendOp,
2618}
2619
2620#[repr(C)]
2622#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2623pub struct CommandBufferAllocateInfo {
2624 pub s_type: StructureType,
2625 pub next: *const c_void,
2626 pub command_pool: CommandPool,
2627 pub level: CommandBufferLevel,
2628 pub command_buffer_count: u32,
2629}
2630
2631impl Default for CommandBufferAllocateInfo {
2632 #[inline]
2633 fn default() -> Self {
2634 Self {
2635 s_type: StructureType::COMMAND_BUFFER_ALLOCATE_INFO,
2636 next: ptr::null(),
2637 command_pool: CommandPool::default(),
2638 level: CommandBufferLevel::default(),
2639 command_buffer_count: u32::default(),
2640 }
2641 }
2642}
2643
2644#[repr(C)]
2646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2647pub struct CommandBufferBeginInfo {
2648 pub s_type: StructureType,
2649 pub next: *const c_void,
2650 pub flags: CommandBufferUsageFlags,
2651 pub inheritance_info: *const CommandBufferInheritanceInfo,
2652}
2653
2654impl Default for CommandBufferBeginInfo {
2655 #[inline]
2656 fn default() -> Self {
2657 Self {
2658 s_type: StructureType::COMMAND_BUFFER_BEGIN_INFO,
2659 next: ptr::null(),
2660 flags: CommandBufferUsageFlags::default(),
2661 inheritance_info: ptr::null(),
2662 }
2663 }
2664}
2665
2666#[repr(C)]
2668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2669pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
2670 pub s_type: StructureType,
2671 pub next: *const c_void,
2672 pub conditional_rendering_enable: Bool32,
2673}
2674
2675impl Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
2676 #[inline]
2677 fn default() -> Self {
2678 Self {
2679 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
2680 next: ptr::null(),
2681 conditional_rendering_enable: Bool32::default(),
2682 }
2683 }
2684}
2685
2686#[repr(C)]
2688#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2689pub struct CommandBufferInheritanceInfo {
2690 pub s_type: StructureType,
2691 pub next: *const c_void,
2692 pub render_pass: RenderPass,
2693 pub subpass: u32,
2694 pub framebuffer: Framebuffer,
2695 pub occlusion_query_enable: Bool32,
2696 pub query_flags: QueryControlFlags,
2697 pub pipeline_statistics: QueryPipelineStatisticFlags,
2698}
2699
2700impl Default for CommandBufferInheritanceInfo {
2701 #[inline]
2702 fn default() -> Self {
2703 Self {
2704 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_INFO,
2705 next: ptr::null(),
2706 render_pass: RenderPass::default(),
2707 subpass: u32::default(),
2708 framebuffer: Framebuffer::default(),
2709 occlusion_query_enable: Bool32::default(),
2710 query_flags: QueryControlFlags::default(),
2711 pipeline_statistics: QueryPipelineStatisticFlags::default(),
2712 }
2713 }
2714}
2715
2716#[repr(C)]
2718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2719pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
2720 pub s_type: StructureType,
2721 pub next: *const c_void,
2722 pub transform: SurfaceTransformFlagsKHR,
2723 pub render_area: Rect2D,
2724}
2725
2726impl Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
2727 #[inline]
2728 fn default() -> Self {
2729 Self {
2730 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
2731 next: ptr::null(),
2732 transform: SurfaceTransformFlagsKHR::default(),
2733 render_area: Rect2D::default(),
2734 }
2735 }
2736}
2737
2738#[repr(C)]
2740#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2741pub struct CommandBufferInheritanceRenderingInfo {
2742 pub s_type: StructureType,
2743 pub next: *const c_void,
2744 pub flags: RenderingFlags,
2745 pub view_mask: u32,
2746 pub color_attachment_count: u32,
2747 pub color_attachment_formats: *const Format,
2748 pub depth_attachment_format: Format,
2749 pub stencil_attachment_format: Format,
2750 pub rasterization_samples: SampleCountFlags,
2751}
2752
2753impl Default for CommandBufferInheritanceRenderingInfo {
2754 #[inline]
2755 fn default() -> Self {
2756 Self {
2757 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
2758 next: ptr::null(),
2759 flags: RenderingFlags::default(),
2760 view_mask: u32::default(),
2761 color_attachment_count: u32::default(),
2762 color_attachment_formats: ptr::null(),
2763 depth_attachment_format: Format::default(),
2764 stencil_attachment_format: Format::default(),
2765 rasterization_samples: SampleCountFlags::default(),
2766 }
2767 }
2768}
2769
2770#[repr(C)]
2772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2773pub struct CommandBufferInheritanceViewportScissorInfoNV {
2774 pub s_type: StructureType,
2775 pub next: *const c_void,
2776 pub viewport_scissor_2d: Bool32,
2777 pub viewport_depth_count: u32,
2778 pub viewport_depths: *const Viewport,
2779}
2780
2781impl Default for CommandBufferInheritanceViewportScissorInfoNV {
2782 #[inline]
2783 fn default() -> Self {
2784 Self {
2785 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
2786 next: ptr::null(),
2787 viewport_scissor_2d: Bool32::default(),
2788 viewport_depth_count: u32::default(),
2789 viewport_depths: ptr::null(),
2790 }
2791 }
2792}
2793
2794#[repr(C)]
2796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2797pub struct CommandBufferSubmitInfo {
2798 pub s_type: StructureType,
2799 pub next: *const c_void,
2800 pub command_buffer: CommandBuffer,
2801 pub device_mask: u32,
2802}
2803
2804impl Default for CommandBufferSubmitInfo {
2805 #[inline]
2806 fn default() -> Self {
2807 Self {
2808 s_type: StructureType::COMMAND_BUFFER_SUBMIT_INFO,
2809 next: ptr::null(),
2810 command_buffer: CommandBuffer::default(),
2811 device_mask: u32::default(),
2812 }
2813 }
2814}
2815
2816#[repr(C)]
2818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2819pub struct CommandPoolCreateInfo {
2820 pub s_type: StructureType,
2821 pub next: *const c_void,
2822 pub flags: CommandPoolCreateFlags,
2823 pub queue_family_index: u32,
2824}
2825
2826impl Default for CommandPoolCreateInfo {
2827 #[inline]
2828 fn default() -> Self {
2829 Self {
2830 s_type: StructureType::COMMAND_POOL_CREATE_INFO,
2831 next: ptr::null(),
2832 flags: CommandPoolCreateFlags::default(),
2833 queue_family_index: u32::default(),
2834 }
2835 }
2836}
2837
2838#[repr(C)]
2840#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2841pub struct ComponentMapping {
2842 pub r: ComponentSwizzle,
2843 pub g: ComponentSwizzle,
2844 pub b: ComponentSwizzle,
2845 pub a: ComponentSwizzle,
2846}
2847
2848#[repr(C)]
2850#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2851pub struct ComputePipelineCreateInfo {
2852 pub s_type: StructureType,
2853 pub next: *const c_void,
2854 pub flags: PipelineCreateFlags,
2855 pub stage: PipelineShaderStageCreateInfo,
2856 pub layout: PipelineLayout,
2857 pub base_pipeline_handle: Pipeline,
2858 pub base_pipeline_index: i32,
2859}
2860
2861impl Default for ComputePipelineCreateInfo {
2862 #[inline]
2863 fn default() -> Self {
2864 Self {
2865 s_type: StructureType::COMPUTE_PIPELINE_CREATE_INFO,
2866 next: ptr::null(),
2867 flags: PipelineCreateFlags::default(),
2868 stage: PipelineShaderStageCreateInfo::default(),
2869 layout: PipelineLayout::default(),
2870 base_pipeline_handle: Pipeline::default(),
2871 base_pipeline_index: i32::default(),
2872 }
2873 }
2874}
2875
2876#[repr(C)]
2878#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2879pub struct ComputePipelineIndirectBufferInfoNV {
2880 pub s_type: StructureType,
2881 pub next: *const c_void,
2882 pub device_address: DeviceAddress,
2883 pub size: DeviceSize,
2884 pub pipeline_device_address_capture_replay: DeviceAddress,
2885}
2886
2887impl Default for ComputePipelineIndirectBufferInfoNV {
2888 #[inline]
2889 fn default() -> Self {
2890 Self {
2891 s_type: StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
2892 next: ptr::null(),
2893 device_address: DeviceAddress::default(),
2894 size: DeviceSize::default(),
2895 pipeline_device_address_capture_replay: DeviceAddress::default(),
2896 }
2897 }
2898}
2899
2900#[repr(C)]
2902#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2903pub struct ConditionalRenderingBeginInfoEXT {
2904 pub s_type: StructureType,
2905 pub next: *const c_void,
2906 pub buffer: Buffer,
2907 pub offset: DeviceSize,
2908 pub flags: ConditionalRenderingFlagsEXT,
2909}
2910
2911impl Default for ConditionalRenderingBeginInfoEXT {
2912 #[inline]
2913 fn default() -> Self {
2914 Self {
2915 s_type: StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
2916 next: ptr::null(),
2917 buffer: Buffer::default(),
2918 offset: DeviceSize::default(),
2919 flags: ConditionalRenderingFlagsEXT::default(),
2920 }
2921 }
2922}
2923
2924#[repr(C)]
2926#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2927pub struct ConformanceVersion {
2928 pub major: u8,
2929 pub minor: u8,
2930 pub subminor: u8,
2931 pub patch: u8,
2932}
2933
2934#[repr(C)]
2936#[derive(Copy, Clone, Debug)]
2937pub struct ConvertCooperativeVectorMatrixInfoNV {
2938 pub s_type: StructureType,
2939 pub next: *const c_void,
2940 pub src_size: usize,
2941 pub src_data: DeviceOrHostAddressConstKHR,
2942 pub dst_size: *mut usize,
2943 pub dst_data: DeviceOrHostAddressKHR,
2944 pub src_component_type: ComponentTypeKHR,
2945 pub dst_component_type: ComponentTypeKHR,
2946 pub num_rows: u32,
2947 pub num_columns: u32,
2948 pub src_layout: CooperativeVectorMatrixLayoutNV,
2949 pub src_stride: usize,
2950 pub dst_layout: CooperativeVectorMatrixLayoutNV,
2951 pub dst_stride: usize,
2952}
2953
2954impl Default for ConvertCooperativeVectorMatrixInfoNV {
2955 #[inline]
2956 fn default() -> Self {
2957 Self {
2958 s_type: StructureType::CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV,
2959 next: ptr::null(),
2960 src_size: usize::default(),
2961 src_data: DeviceOrHostAddressConstKHR::default(),
2962 dst_size: ptr::null_mut(),
2963 dst_data: DeviceOrHostAddressKHR::default(),
2964 src_component_type: ComponentTypeKHR::default(),
2965 dst_component_type: ComponentTypeKHR::default(),
2966 num_rows: u32::default(),
2967 num_columns: u32::default(),
2968 src_layout: CooperativeVectorMatrixLayoutNV::default(),
2969 src_stride: usize::default(),
2970 dst_layout: CooperativeVectorMatrixLayoutNV::default(),
2971 dst_stride: usize::default(),
2972 }
2973 }
2974}
2975
2976#[repr(C)]
2978#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2979pub struct CooperativeMatrixFlexibleDimensionsPropertiesNV {
2980 pub s_type: StructureType,
2981 pub next: *mut c_void,
2982 pub m_granularity: u32,
2983 pub n_granularity: u32,
2984 pub k_granularity: u32,
2985 pub a_type: ComponentTypeKHR,
2986 pub b_type: ComponentTypeKHR,
2987 pub c_type: ComponentTypeKHR,
2988 pub result_type: ComponentTypeKHR,
2989 pub saturating_accumulation: Bool32,
2990 pub scope: ScopeKHR,
2991 pub workgroup_invocations: u32,
2992}
2993
2994impl Default for CooperativeMatrixFlexibleDimensionsPropertiesNV {
2995 #[inline]
2996 fn default() -> Self {
2997 Self {
2998 s_type: StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV,
2999 next: ptr::null_mut(),
3000 m_granularity: u32::default(),
3001 n_granularity: u32::default(),
3002 k_granularity: u32::default(),
3003 a_type: ComponentTypeKHR::default(),
3004 b_type: ComponentTypeKHR::default(),
3005 c_type: ComponentTypeKHR::default(),
3006 result_type: ComponentTypeKHR::default(),
3007 saturating_accumulation: Bool32::default(),
3008 scope: ScopeKHR::default(),
3009 workgroup_invocations: u32::default(),
3010 }
3011 }
3012}
3013
3014#[repr(C)]
3016#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3017pub struct CooperativeMatrixPropertiesKHR {
3018 pub s_type: StructureType,
3019 pub next: *mut c_void,
3020 pub m_size: u32,
3021 pub n_size: u32,
3022 pub k_size: u32,
3023 pub a_type: ComponentTypeKHR,
3024 pub b_type: ComponentTypeKHR,
3025 pub c_type: ComponentTypeKHR,
3026 pub result_type: ComponentTypeKHR,
3027 pub saturating_accumulation: Bool32,
3028 pub scope: ScopeKHR,
3029}
3030
3031impl Default for CooperativeMatrixPropertiesKHR {
3032 #[inline]
3033 fn default() -> Self {
3034 Self {
3035 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR,
3036 next: ptr::null_mut(),
3037 m_size: u32::default(),
3038 n_size: u32::default(),
3039 k_size: u32::default(),
3040 a_type: ComponentTypeKHR::default(),
3041 b_type: ComponentTypeKHR::default(),
3042 c_type: ComponentTypeKHR::default(),
3043 result_type: ComponentTypeKHR::default(),
3044 saturating_accumulation: Bool32::default(),
3045 scope: ScopeKHR::default(),
3046 }
3047 }
3048}
3049
3050#[repr(C)]
3052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3053pub struct CooperativeMatrixPropertiesNV {
3054 pub s_type: StructureType,
3055 pub next: *mut c_void,
3056 pub m_size: u32,
3057 pub n_size: u32,
3058 pub k_size: u32,
3059 pub a_type: ComponentTypeNV,
3060 pub b_type: ComponentTypeNV,
3061 pub c_type: ComponentTypeNV,
3062 pub d_type: ComponentTypeNV,
3063 pub scope: ScopeNV,
3064}
3065
3066impl Default for CooperativeMatrixPropertiesNV {
3067 #[inline]
3068 fn default() -> Self {
3069 Self {
3070 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV,
3071 next: ptr::null_mut(),
3072 m_size: u32::default(),
3073 n_size: u32::default(),
3074 k_size: u32::default(),
3075 a_type: ComponentTypeNV::default(),
3076 b_type: ComponentTypeNV::default(),
3077 c_type: ComponentTypeNV::default(),
3078 d_type: ComponentTypeNV::default(),
3079 scope: ScopeNV::default(),
3080 }
3081 }
3082}
3083
3084#[repr(C)]
3086#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3087pub struct CooperativeVectorPropertiesNV {
3088 pub s_type: StructureType,
3089 pub next: *mut c_void,
3090 pub input_type: ComponentTypeKHR,
3091 pub input_interpretation: ComponentTypeKHR,
3092 pub matrix_interpretation: ComponentTypeKHR,
3093 pub bias_interpretation: ComponentTypeKHR,
3094 pub result_type: ComponentTypeKHR,
3095 pub transpose: Bool32,
3096}
3097
3098impl Default for CooperativeVectorPropertiesNV {
3099 #[inline]
3100 fn default() -> Self {
3101 Self {
3102 s_type: StructureType::COOPERATIVE_VECTOR_PROPERTIES_NV,
3103 next: ptr::null_mut(),
3104 input_type: ComponentTypeKHR::default(),
3105 input_interpretation: ComponentTypeKHR::default(),
3106 matrix_interpretation: ComponentTypeKHR::default(),
3107 bias_interpretation: ComponentTypeKHR::default(),
3108 result_type: ComponentTypeKHR::default(),
3109 transpose: Bool32::default(),
3110 }
3111 }
3112}
3113
3114#[repr(C)]
3116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3117pub struct CopyAccelerationStructureInfoKHR {
3118 pub s_type: StructureType,
3119 pub next: *const c_void,
3120 pub src: AccelerationStructureKHR,
3121 pub dst: AccelerationStructureKHR,
3122 pub mode: CopyAccelerationStructureModeKHR,
3123}
3124
3125impl Default for CopyAccelerationStructureInfoKHR {
3126 #[inline]
3127 fn default() -> Self {
3128 Self {
3129 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR,
3130 next: ptr::null(),
3131 src: AccelerationStructureKHR::default(),
3132 dst: AccelerationStructureKHR::default(),
3133 mode: CopyAccelerationStructureModeKHR::default(),
3134 }
3135 }
3136}
3137
3138#[repr(C)]
3140#[derive(Copy, Clone, Debug)]
3141pub struct CopyAccelerationStructureToMemoryInfoKHR {
3142 pub s_type: StructureType,
3143 pub next: *const c_void,
3144 pub src: AccelerationStructureKHR,
3145 pub dst: DeviceOrHostAddressKHR,
3146 pub mode: CopyAccelerationStructureModeKHR,
3147}
3148
3149impl Default for CopyAccelerationStructureToMemoryInfoKHR {
3150 #[inline]
3151 fn default() -> Self {
3152 Self {
3153 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
3154 next: ptr::null(),
3155 src: AccelerationStructureKHR::default(),
3156 dst: DeviceOrHostAddressKHR::default(),
3157 mode: CopyAccelerationStructureModeKHR::default(),
3158 }
3159 }
3160}
3161
3162#[repr(C)]
3164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3165pub struct CopyBufferInfo2 {
3166 pub s_type: StructureType,
3167 pub next: *const c_void,
3168 pub src_buffer: Buffer,
3169 pub dst_buffer: Buffer,
3170 pub region_count: u32,
3171 pub regions: *const BufferCopy2,
3172}
3173
3174impl Default for CopyBufferInfo2 {
3175 #[inline]
3176 fn default() -> Self {
3177 Self {
3178 s_type: StructureType::COPY_BUFFER_INFO_2,
3179 next: ptr::null(),
3180 src_buffer: Buffer::default(),
3181 dst_buffer: Buffer::default(),
3182 region_count: u32::default(),
3183 regions: ptr::null(),
3184 }
3185 }
3186}
3187
3188#[repr(C)]
3190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3191pub struct CopyBufferToImageInfo2 {
3192 pub s_type: StructureType,
3193 pub next: *const c_void,
3194 pub src_buffer: Buffer,
3195 pub dst_image: Image,
3196 pub dst_image_layout: ImageLayout,
3197 pub region_count: u32,
3198 pub regions: *const BufferImageCopy2,
3199}
3200
3201impl Default for CopyBufferToImageInfo2 {
3202 #[inline]
3203 fn default() -> Self {
3204 Self {
3205 s_type: StructureType::COPY_BUFFER_TO_IMAGE_INFO_2,
3206 next: ptr::null(),
3207 src_buffer: Buffer::default(),
3208 dst_image: Image::default(),
3209 dst_image_layout: ImageLayout::default(),
3210 region_count: u32::default(),
3211 regions: ptr::null(),
3212 }
3213 }
3214}
3215
3216#[repr(C)]
3218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3219pub struct CopyCommandTransformInfoQCOM {
3220 pub s_type: StructureType,
3221 pub next: *const c_void,
3222 pub transform: SurfaceTransformFlagsKHR,
3223}
3224
3225impl Default for CopyCommandTransformInfoQCOM {
3226 #[inline]
3227 fn default() -> Self {
3228 Self {
3229 s_type: StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM,
3230 next: ptr::null(),
3231 transform: SurfaceTransformFlagsKHR::default(),
3232 }
3233 }
3234}
3235
3236#[repr(C)]
3238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3239pub struct CopyDescriptorSet {
3240 pub s_type: StructureType,
3241 pub next: *const c_void,
3242 pub src_set: DescriptorSet,
3243 pub src_binding: u32,
3244 pub src_array_element: u32,
3245 pub dst_set: DescriptorSet,
3246 pub dst_binding: u32,
3247 pub dst_array_element: u32,
3248 pub descriptor_count: u32,
3249}
3250
3251impl Default for CopyDescriptorSet {
3252 #[inline]
3253 fn default() -> Self {
3254 Self {
3255 s_type: StructureType::COPY_DESCRIPTOR_SET,
3256 next: ptr::null(),
3257 src_set: DescriptorSet::default(),
3258 src_binding: u32::default(),
3259 src_array_element: u32::default(),
3260 dst_set: DescriptorSet::default(),
3261 dst_binding: u32::default(),
3262 dst_array_element: u32::default(),
3263 descriptor_count: u32::default(),
3264 }
3265 }
3266}
3267
3268#[repr(C)]
3270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3271pub struct CopyImageInfo2 {
3272 pub s_type: StructureType,
3273 pub next: *const c_void,
3274 pub src_image: Image,
3275 pub src_image_layout: ImageLayout,
3276 pub dst_image: Image,
3277 pub dst_image_layout: ImageLayout,
3278 pub region_count: u32,
3279 pub regions: *const ImageCopy2,
3280}
3281
3282impl Default for CopyImageInfo2 {
3283 #[inline]
3284 fn default() -> Self {
3285 Self {
3286 s_type: StructureType::COPY_IMAGE_INFO_2,
3287 next: ptr::null(),
3288 src_image: Image::default(),
3289 src_image_layout: ImageLayout::default(),
3290 dst_image: Image::default(),
3291 dst_image_layout: ImageLayout::default(),
3292 region_count: u32::default(),
3293 regions: ptr::null(),
3294 }
3295 }
3296}
3297
3298#[repr(C)]
3300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3301pub struct CopyImageToBufferInfo2 {
3302 pub s_type: StructureType,
3303 pub next: *const c_void,
3304 pub src_image: Image,
3305 pub src_image_layout: ImageLayout,
3306 pub dst_buffer: Buffer,
3307 pub region_count: u32,
3308 pub regions: *const BufferImageCopy2,
3309}
3310
3311impl Default for CopyImageToBufferInfo2 {
3312 #[inline]
3313 fn default() -> Self {
3314 Self {
3315 s_type: StructureType::COPY_IMAGE_TO_BUFFER_INFO_2,
3316 next: ptr::null(),
3317 src_image: Image::default(),
3318 src_image_layout: ImageLayout::default(),
3319 dst_buffer: Buffer::default(),
3320 region_count: u32::default(),
3321 regions: ptr::null(),
3322 }
3323 }
3324}
3325
3326#[repr(C)]
3328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3329pub struct CopyImageToImageInfo {
3330 pub s_type: StructureType,
3331 pub next: *const c_void,
3332 pub flags: HostImageCopyFlags,
3333 pub src_image: Image,
3334 pub src_image_layout: ImageLayout,
3335 pub dst_image: Image,
3336 pub dst_image_layout: ImageLayout,
3337 pub region_count: u32,
3338 pub regions: *const ImageCopy2,
3339}
3340
3341impl Default for CopyImageToImageInfo {
3342 #[inline]
3343 fn default() -> Self {
3344 Self {
3345 s_type: StructureType::COPY_IMAGE_TO_IMAGE_INFO,
3346 next: ptr::null(),
3347 flags: HostImageCopyFlags::default(),
3348 src_image: Image::default(),
3349 src_image_layout: ImageLayout::default(),
3350 dst_image: Image::default(),
3351 dst_image_layout: ImageLayout::default(),
3352 region_count: u32::default(),
3353 regions: ptr::null(),
3354 }
3355 }
3356}
3357
3358#[repr(C)]
3360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3361pub struct CopyImageToMemoryInfo {
3362 pub s_type: StructureType,
3363 pub next: *const c_void,
3364 pub flags: HostImageCopyFlags,
3365 pub src_image: Image,
3366 pub src_image_layout: ImageLayout,
3367 pub region_count: u32,
3368 pub regions: *const ImageToMemoryCopy,
3369}
3370
3371impl Default for CopyImageToMemoryInfo {
3372 #[inline]
3373 fn default() -> Self {
3374 Self {
3375 s_type: StructureType::COPY_IMAGE_TO_MEMORY_INFO,
3376 next: ptr::null(),
3377 flags: HostImageCopyFlags::default(),
3378 src_image: Image::default(),
3379 src_image_layout: ImageLayout::default(),
3380 region_count: u32::default(),
3381 regions: ptr::null(),
3382 }
3383 }
3384}
3385
3386#[repr(C)]
3388#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3389pub struct CopyMemoryIndirectCommandNV {
3390 pub src_address: DeviceAddress,
3391 pub dst_address: DeviceAddress,
3392 pub size: DeviceSize,
3393}
3394
3395#[repr(C)]
3397#[derive(Copy, Clone, Debug)]
3398pub struct CopyMemoryToAccelerationStructureInfoKHR {
3399 pub s_type: StructureType,
3400 pub next: *const c_void,
3401 pub src: DeviceOrHostAddressConstKHR,
3402 pub dst: AccelerationStructureKHR,
3403 pub mode: CopyAccelerationStructureModeKHR,
3404}
3405
3406impl Default for CopyMemoryToAccelerationStructureInfoKHR {
3407 #[inline]
3408 fn default() -> Self {
3409 Self {
3410 s_type: StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
3411 next: ptr::null(),
3412 src: DeviceOrHostAddressConstKHR::default(),
3413 dst: AccelerationStructureKHR::default(),
3414 mode: CopyAccelerationStructureModeKHR::default(),
3415 }
3416 }
3417}
3418
3419#[repr(C)]
3421#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3422pub struct CopyMemoryToImageIndirectCommandNV {
3423 pub src_address: DeviceAddress,
3424 pub buffer_row_length: u32,
3425 pub buffer_image_height: u32,
3426 pub image_subresource: ImageSubresourceLayers,
3427 pub image_offset: Offset3D,
3428 pub image_extent: Extent3D,
3429}
3430
3431#[repr(C)]
3433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3434pub struct CopyMemoryToImageInfo {
3435 pub s_type: StructureType,
3436 pub next: *const c_void,
3437 pub flags: HostImageCopyFlags,
3438 pub dst_image: Image,
3439 pub dst_image_layout: ImageLayout,
3440 pub region_count: u32,
3441 pub regions: *const MemoryToImageCopy,
3442}
3443
3444impl Default for CopyMemoryToImageInfo {
3445 #[inline]
3446 fn default() -> Self {
3447 Self {
3448 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INFO,
3449 next: ptr::null(),
3450 flags: HostImageCopyFlags::default(),
3451 dst_image: Image::default(),
3452 dst_image_layout: ImageLayout::default(),
3453 region_count: u32::default(),
3454 regions: ptr::null(),
3455 }
3456 }
3457}
3458
3459#[repr(C)]
3461#[derive(Copy, Clone, Debug)]
3462pub struct CopyMemoryToMicromapInfoEXT {
3463 pub s_type: StructureType,
3464 pub next: *const c_void,
3465 pub src: DeviceOrHostAddressConstKHR,
3466 pub dst: MicromapEXT,
3467 pub mode: CopyMicromapModeEXT,
3468}
3469
3470impl Default for CopyMemoryToMicromapInfoEXT {
3471 #[inline]
3472 fn default() -> Self {
3473 Self {
3474 s_type: StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT,
3475 next: ptr::null(),
3476 src: DeviceOrHostAddressConstKHR::default(),
3477 dst: MicromapEXT::default(),
3478 mode: CopyMicromapModeEXT::default(),
3479 }
3480 }
3481}
3482
3483#[repr(C)]
3485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3486pub struct CopyMicromapInfoEXT {
3487 pub s_type: StructureType,
3488 pub next: *const c_void,
3489 pub src: MicromapEXT,
3490 pub dst: MicromapEXT,
3491 pub mode: CopyMicromapModeEXT,
3492}
3493
3494impl Default for CopyMicromapInfoEXT {
3495 #[inline]
3496 fn default() -> Self {
3497 Self {
3498 s_type: StructureType::COPY_MICROMAP_INFO_EXT,
3499 next: ptr::null(),
3500 src: MicromapEXT::default(),
3501 dst: MicromapEXT::default(),
3502 mode: CopyMicromapModeEXT::default(),
3503 }
3504 }
3505}
3506
3507#[repr(C)]
3509#[derive(Copy, Clone, Debug)]
3510pub struct CopyMicromapToMemoryInfoEXT {
3511 pub s_type: StructureType,
3512 pub next: *const c_void,
3513 pub src: MicromapEXT,
3514 pub dst: DeviceOrHostAddressKHR,
3515 pub mode: CopyMicromapModeEXT,
3516}
3517
3518impl Default for CopyMicromapToMemoryInfoEXT {
3519 #[inline]
3520 fn default() -> Self {
3521 Self {
3522 s_type: StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT,
3523 next: ptr::null(),
3524 src: MicromapEXT::default(),
3525 dst: DeviceOrHostAddressKHR::default(),
3526 mode: CopyMicromapModeEXT::default(),
3527 }
3528 }
3529}
3530
3531#[repr(C)]
3533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3534pub struct CopyTensorInfoARM {
3535 pub s_type: StructureType,
3536 pub next: *const c_void,
3537 pub src_tensor: TensorARM,
3538 pub dst_tensor: TensorARM,
3539 pub region_count: u32,
3540 pub regions: *const TensorCopyARM,
3541}
3542
3543impl Default for CopyTensorInfoARM {
3544 #[inline]
3545 fn default() -> Self {
3546 Self {
3547 s_type: StructureType::COPY_TENSOR_INFO_ARM,
3548 next: ptr::null(),
3549 src_tensor: TensorARM::default(),
3550 dst_tensor: TensorARM::default(),
3551 region_count: u32::default(),
3552 regions: ptr::null(),
3553 }
3554 }
3555}
3556
3557#[repr(C)]
3559#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3560pub struct CuFunctionCreateInfoNVX {
3561 pub s_type: StructureType,
3562 pub next: *const c_void,
3563 pub module: CuModuleNVX,
3564 pub name: *const c_char,
3565}
3566
3567impl Default for CuFunctionCreateInfoNVX {
3568 #[inline]
3569 fn default() -> Self {
3570 Self {
3571 s_type: StructureType::CU_FUNCTION_CREATE_INFO_NVX,
3572 next: ptr::null(),
3573 module: CuModuleNVX::default(),
3574 name: ptr::null(),
3575 }
3576 }
3577}
3578
3579#[repr(C)]
3581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3582pub struct CuLaunchInfoNVX {
3583 pub s_type: StructureType,
3584 pub next: *const c_void,
3585 pub function: CuFunctionNVX,
3586 pub grid_dim_x: u32,
3587 pub grid_dim_y: u32,
3588 pub grid_dim_z: u32,
3589 pub block_dim_x: u32,
3590 pub block_dim_y: u32,
3591 pub block_dim_z: u32,
3592 pub shared_mem_bytes: u32,
3593 pub param_count: usize,
3594 pub params: *const c_void,
3595 pub extra_count: usize,
3596 pub extras: *const c_void,
3597}
3598
3599impl Default for CuLaunchInfoNVX {
3600 #[inline]
3601 fn default() -> Self {
3602 Self {
3603 s_type: StructureType::CU_LAUNCH_INFO_NVX,
3604 next: ptr::null(),
3605 function: CuFunctionNVX::default(),
3606 grid_dim_x: u32::default(),
3607 grid_dim_y: u32::default(),
3608 grid_dim_z: u32::default(),
3609 block_dim_x: u32::default(),
3610 block_dim_y: u32::default(),
3611 block_dim_z: u32::default(),
3612 shared_mem_bytes: u32::default(),
3613 param_count: usize::default(),
3614 params: ptr::null(),
3615 extra_count: usize::default(),
3616 extras: ptr::null(),
3617 }
3618 }
3619}
3620
3621#[repr(C)]
3623#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3624pub struct CuModuleCreateInfoNVX {
3625 pub s_type: StructureType,
3626 pub next: *const c_void,
3627 pub data_size: usize,
3628 pub data: *const c_void,
3629}
3630
3631impl Default for CuModuleCreateInfoNVX {
3632 #[inline]
3633 fn default() -> Self {
3634 Self {
3635 s_type: StructureType::CU_MODULE_CREATE_INFO_NVX,
3636 next: ptr::null(),
3637 data_size: usize::default(),
3638 data: ptr::null(),
3639 }
3640 }
3641}
3642
3643#[repr(C)]
3645#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3646pub struct CuModuleTexturingModeCreateInfoNVX {
3647 pub s_type: StructureType,
3648 pub next: *const c_void,
3649 pub use64bit_texturing: Bool32,
3650}
3651
3652impl Default for CuModuleTexturingModeCreateInfoNVX {
3653 #[inline]
3654 fn default() -> Self {
3655 Self {
3656 s_type: StructureType::CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX,
3657 next: ptr::null(),
3658 use64bit_texturing: Bool32::default(),
3659 }
3660 }
3661}
3662
3663#[repr(C)]
3665#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3666pub struct CudaFunctionCreateInfoNV {
3667 pub s_type: StructureType,
3668 pub next: *const c_void,
3669 pub module: CudaModuleNV,
3670 pub name: *const c_char,
3671}
3672
3673impl Default for CudaFunctionCreateInfoNV {
3674 #[inline]
3675 fn default() -> Self {
3676 Self {
3677 s_type: StructureType::CUDA_FUNCTION_CREATE_INFO_NV,
3678 next: ptr::null(),
3679 module: CudaModuleNV::default(),
3680 name: ptr::null(),
3681 }
3682 }
3683}
3684
3685#[repr(C)]
3687#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3688pub struct CudaLaunchInfoNV {
3689 pub s_type: StructureType,
3690 pub next: *const c_void,
3691 pub function: CudaFunctionNV,
3692 pub grid_dim_x: u32,
3693 pub grid_dim_y: u32,
3694 pub grid_dim_z: u32,
3695 pub block_dim_x: u32,
3696 pub block_dim_y: u32,
3697 pub block_dim_z: u32,
3698 pub shared_mem_bytes: u32,
3699 pub param_count: usize,
3700 pub params: *const c_void,
3701 pub extra_count: usize,
3702 pub extras: *const c_void,
3703}
3704
3705impl Default for CudaLaunchInfoNV {
3706 #[inline]
3707 fn default() -> Self {
3708 Self {
3709 s_type: StructureType::CUDA_LAUNCH_INFO_NV,
3710 next: ptr::null(),
3711 function: CudaFunctionNV::default(),
3712 grid_dim_x: u32::default(),
3713 grid_dim_y: u32::default(),
3714 grid_dim_z: u32::default(),
3715 block_dim_x: u32::default(),
3716 block_dim_y: u32::default(),
3717 block_dim_z: u32::default(),
3718 shared_mem_bytes: u32::default(),
3719 param_count: usize::default(),
3720 params: ptr::null(),
3721 extra_count: usize::default(),
3722 extras: ptr::null(),
3723 }
3724 }
3725}
3726
3727#[repr(C)]
3729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3730pub struct CudaModuleCreateInfoNV {
3731 pub s_type: StructureType,
3732 pub next: *const c_void,
3733 pub data_size: usize,
3734 pub data: *const c_void,
3735}
3736
3737impl Default for CudaModuleCreateInfoNV {
3738 #[inline]
3739 fn default() -> Self {
3740 Self {
3741 s_type: StructureType::CUDA_MODULE_CREATE_INFO_NV,
3742 next: ptr::null(),
3743 data_size: usize::default(),
3744 data: ptr::null(),
3745 }
3746 }
3747}
3748
3749#[repr(C)]
3751#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3752pub struct D3D12FenceSubmitInfoKHR {
3753 pub s_type: StructureType,
3754 pub next: *const c_void,
3755 pub wait_semaphore_values_count: u32,
3756 pub wait_semaphore_values: *const u64,
3757 pub signal_semaphore_values_count: u32,
3758 pub signal_semaphore_values: *const u64,
3759}
3760
3761impl Default for D3D12FenceSubmitInfoKHR {
3762 #[inline]
3763 fn default() -> Self {
3764 Self {
3765 s_type: StructureType::D3D12_FENCE_SUBMIT_INFO_KHR,
3766 next: ptr::null(),
3767 wait_semaphore_values_count: u32::default(),
3768 wait_semaphore_values: ptr::null(),
3769 signal_semaphore_values_count: u32::default(),
3770 signal_semaphore_values: ptr::null(),
3771 }
3772 }
3773}
3774
3775#[repr(C)]
3777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3778pub struct DataGraphPipelineCompilerControlCreateInfoARM {
3779 pub s_type: StructureType,
3780 pub next: *const c_void,
3781 pub vendor_options: *const c_char,
3782}
3783
3784impl Default for DataGraphPipelineCompilerControlCreateInfoARM {
3785 #[inline]
3786 fn default() -> Self {
3787 Self {
3788 s_type: StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
3789 next: ptr::null(),
3790 vendor_options: ptr::null(),
3791 }
3792 }
3793}
3794
3795#[repr(C)]
3797#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3798pub struct DataGraphPipelineConstantARM {
3799 pub s_type: StructureType,
3800 pub next: *const c_void,
3801 pub id: u32,
3802 pub constant_data: *const c_void,
3803}
3804
3805impl Default for DataGraphPipelineConstantARM {
3806 #[inline]
3807 fn default() -> Self {
3808 Self {
3809 s_type: StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM,
3810 next: ptr::null(),
3811 id: u32::default(),
3812 constant_data: ptr::null(),
3813 }
3814 }
3815}
3816
3817#[repr(C)]
3819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3820pub struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
3821 pub s_type: StructureType,
3822 pub next: *const c_void,
3823 pub dimension: u32,
3824 pub zero_count: u32,
3825 pub group_size: u32,
3826}
3827
3828impl Default for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
3829 #[inline]
3830 fn default() -> Self {
3831 Self {
3832 s_type:
3833 StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
3834 next: ptr::null(),
3835 dimension: u32::default(),
3836 zero_count: u32::default(),
3837 group_size: u32::default(),
3838 }
3839 }
3840}
3841
3842#[repr(C)]
3844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3845pub struct DataGraphPipelineCreateInfoARM {
3846 pub s_type: StructureType,
3847 pub next: *const c_void,
3848 pub flags: PipelineCreateFlags2KHR,
3849 pub layout: PipelineLayout,
3850 pub resource_info_count: u32,
3851 pub resource_infos: *const DataGraphPipelineResourceInfoARM,
3852}
3853
3854impl Default for DataGraphPipelineCreateInfoARM {
3855 #[inline]
3856 fn default() -> Self {
3857 Self {
3858 s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
3859 next: ptr::null(),
3860 flags: PipelineCreateFlags2KHR::default(),
3861 layout: PipelineLayout::default(),
3862 resource_info_count: u32::default(),
3863 resource_infos: ptr::null(),
3864 }
3865 }
3866}
3867
3868#[repr(C)]
3870#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3871pub struct DataGraphPipelineDispatchInfoARM {
3872 pub s_type: StructureType,
3873 pub next: *mut c_void,
3874 pub flags: DataGraphPipelineDispatchFlagsARM,
3875}
3876
3877impl Default for DataGraphPipelineDispatchInfoARM {
3878 #[inline]
3879 fn default() -> Self {
3880 Self {
3881 s_type: StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
3882 next: ptr::null_mut(),
3883 flags: DataGraphPipelineDispatchFlagsARM::default(),
3884 }
3885 }
3886}
3887
3888#[repr(C)]
3890#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3891pub struct DataGraphPipelineIdentifierCreateInfoARM {
3892 pub s_type: StructureType,
3893 pub next: *const c_void,
3894 pub identifier_size: u32,
3895 pub identifier: *const u8,
3896}
3897
3898impl Default for DataGraphPipelineIdentifierCreateInfoARM {
3899 #[inline]
3900 fn default() -> Self {
3901 Self {
3902 s_type: StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
3903 next: ptr::null(),
3904 identifier_size: u32::default(),
3905 identifier: ptr::null(),
3906 }
3907 }
3908}
3909
3910#[repr(C)]
3912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3913pub struct DataGraphPipelineInfoARM {
3914 pub s_type: StructureType,
3915 pub next: *const c_void,
3916 pub data_graph_pipeline: Pipeline,
3917}
3918
3919impl Default for DataGraphPipelineInfoARM {
3920 #[inline]
3921 fn default() -> Self {
3922 Self {
3923 s_type: StructureType::DATA_GRAPH_PIPELINE_INFO_ARM,
3924 next: ptr::null(),
3925 data_graph_pipeline: Pipeline::default(),
3926 }
3927 }
3928}
3929
3930#[repr(C)]
3932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3933pub struct DataGraphPipelinePropertyQueryResultARM {
3934 pub s_type: StructureType,
3935 pub next: *const c_void,
3936 pub property: DataGraphPipelinePropertyARM,
3937 pub is_text: Bool32,
3938 pub data_size: usize,
3939 pub data: *mut c_void,
3940}
3941
3942impl Default for DataGraphPipelinePropertyQueryResultARM {
3943 #[inline]
3944 fn default() -> Self {
3945 Self {
3946 s_type: StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
3947 next: ptr::null(),
3948 property: DataGraphPipelinePropertyARM::default(),
3949 is_text: Bool32::default(),
3950 data_size: usize::default(),
3951 data: ptr::null_mut(),
3952 }
3953 }
3954}
3955
3956#[repr(C)]
3958#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3959pub struct DataGraphPipelineResourceInfoARM {
3960 pub s_type: StructureType,
3961 pub next: *const c_void,
3962 pub descriptor_set: u32,
3963 pub binding: u32,
3964 pub array_element: u32,
3965}
3966
3967impl Default for DataGraphPipelineResourceInfoARM {
3968 #[inline]
3969 fn default() -> Self {
3970 Self {
3971 s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
3972 next: ptr::null(),
3973 descriptor_set: u32::default(),
3974 binding: u32::default(),
3975 array_element: u32::default(),
3976 }
3977 }
3978}
3979
3980#[repr(C)]
3982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3983pub struct DataGraphPipelineSessionBindPointRequirementARM {
3984 pub s_type: StructureType,
3985 pub next: *const c_void,
3986 pub bind_point: DataGraphPipelineSessionBindPointARM,
3987 pub bind_point_type: DataGraphPipelineSessionBindPointTypeARM,
3988 pub num_objects: u32,
3989}
3990
3991impl Default for DataGraphPipelineSessionBindPointRequirementARM {
3992 #[inline]
3993 fn default() -> Self {
3994 Self {
3995 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
3996 next: ptr::null(),
3997 bind_point: DataGraphPipelineSessionBindPointARM::default(),
3998 bind_point_type: DataGraphPipelineSessionBindPointTypeARM::default(),
3999 num_objects: u32::default(),
4000 }
4001 }
4002}
4003
4004#[repr(C)]
4006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4007pub struct DataGraphPipelineSessionBindPointRequirementsInfoARM {
4008 pub s_type: StructureType,
4009 pub next: *const c_void,
4010 pub session: DataGraphPipelineSessionARM,
4011}
4012
4013impl Default for DataGraphPipelineSessionBindPointRequirementsInfoARM {
4014 #[inline]
4015 fn default() -> Self {
4016 Self {
4017 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
4018 next: ptr::null(),
4019 session: DataGraphPipelineSessionARM::default(),
4020 }
4021 }
4022}
4023
4024#[repr(C)]
4026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4027pub struct DataGraphPipelineSessionCreateInfoARM {
4028 pub s_type: StructureType,
4029 pub next: *const c_void,
4030 pub flags: DataGraphPipelineSessionCreateFlagsARM,
4031 pub data_graph_pipeline: Pipeline,
4032}
4033
4034impl Default for DataGraphPipelineSessionCreateInfoARM {
4035 #[inline]
4036 fn default() -> Self {
4037 Self {
4038 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
4039 next: ptr::null(),
4040 flags: DataGraphPipelineSessionCreateFlagsARM::default(),
4041 data_graph_pipeline: Pipeline::default(),
4042 }
4043 }
4044}
4045
4046#[repr(C)]
4048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4049pub struct DataGraphPipelineSessionMemoryRequirementsInfoARM {
4050 pub s_type: StructureType,
4051 pub next: *const c_void,
4052 pub session: DataGraphPipelineSessionARM,
4053 pub bind_point: DataGraphPipelineSessionBindPointARM,
4054 pub object_index: u32,
4055}
4056
4057impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM {
4058 #[inline]
4059 fn default() -> Self {
4060 Self {
4061 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
4062 next: ptr::null(),
4063 session: DataGraphPipelineSessionARM::default(),
4064 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4065 object_index: u32::default(),
4066 }
4067 }
4068}
4069
4070#[repr(C)]
4072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4073pub struct DataGraphPipelineShaderModuleCreateInfoARM {
4074 pub s_type: StructureType,
4075 pub next: *const c_void,
4076 pub module: ShaderModule,
4077 pub name: *const c_char,
4078 pub specialization_info: *const SpecializationInfo,
4079 pub constant_count: u32,
4080 pub constants: *const DataGraphPipelineConstantARM,
4081}
4082
4083impl Default for DataGraphPipelineShaderModuleCreateInfoARM {
4084 #[inline]
4085 fn default() -> Self {
4086 Self {
4087 s_type: StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
4088 next: ptr::null(),
4089 module: ShaderModule::default(),
4090 name: ptr::null(),
4091 specialization_info: ptr::null(),
4092 constant_count: u32::default(),
4093 constants: ptr::null(),
4094 }
4095 }
4096}
4097
4098#[repr(C)]
4100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4101pub struct DataGraphProcessingEngineCreateInfoARM {
4102 pub s_type: StructureType,
4103 pub next: *const c_void,
4104 pub processing_engine_count: u32,
4105 pub processing_engines: *mut PhysicalDeviceDataGraphProcessingEngineARM,
4106}
4107
4108impl Default for DataGraphProcessingEngineCreateInfoARM {
4109 #[inline]
4110 fn default() -> Self {
4111 Self {
4112 s_type: StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
4113 next: ptr::null(),
4114 processing_engine_count: u32::default(),
4115 processing_engines: ptr::null_mut(),
4116 }
4117 }
4118}
4119
4120#[repr(C)]
4122#[derive(Copy, Clone, Debug, PartialEq)]
4123pub struct DebugMarkerMarkerInfoEXT {
4124 pub s_type: StructureType,
4125 pub next: *const c_void,
4126 pub marker_name: *const c_char,
4127 pub color: [f32; 4],
4128}
4129
4130impl Default for DebugMarkerMarkerInfoEXT {
4131 #[inline]
4132 fn default() -> Self {
4133 Self {
4134 s_type: StructureType::DEBUG_MARKER_MARKER_INFO_EXT,
4135 next: ptr::null(),
4136 marker_name: ptr::null(),
4137 color: [f32::default(); 4],
4138 }
4139 }
4140}
4141
4142#[repr(C)]
4144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4145pub struct DebugMarkerObjectNameInfoEXT {
4146 pub s_type: StructureType,
4147 pub next: *const c_void,
4148 pub object_type: DebugReportObjectTypeEXT,
4149 pub object: u64,
4150 pub object_name: *const c_char,
4151}
4152
4153impl Default for DebugMarkerObjectNameInfoEXT {
4154 #[inline]
4155 fn default() -> Self {
4156 Self {
4157 s_type: StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
4158 next: ptr::null(),
4159 object_type: DebugReportObjectTypeEXT::default(),
4160 object: u64::default(),
4161 object_name: ptr::null(),
4162 }
4163 }
4164}
4165
4166#[repr(C)]
4168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4169pub struct DebugMarkerObjectTagInfoEXT {
4170 pub s_type: StructureType,
4171 pub next: *const c_void,
4172 pub object_type: DebugReportObjectTypeEXT,
4173 pub object: u64,
4174 pub tag_name: u64,
4175 pub tag_size: usize,
4176 pub tag: *const c_void,
4177}
4178
4179impl Default for DebugMarkerObjectTagInfoEXT {
4180 #[inline]
4181 fn default() -> Self {
4182 Self {
4183 s_type: StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
4184 next: ptr::null(),
4185 object_type: DebugReportObjectTypeEXT::default(),
4186 object: u64::default(),
4187 tag_name: u64::default(),
4188 tag_size: usize::default(),
4189 tag: ptr::null(),
4190 }
4191 }
4192}
4193
4194#[repr(C)]
4196#[derive(Copy, Clone)]
4197pub struct DebugReportCallbackCreateInfoEXT {
4198 pub s_type: StructureType,
4199 pub next: *const c_void,
4200 pub flags: DebugReportFlagsEXT,
4201 pub callback: PFN_vkDebugReportCallbackEXT,
4202 pub user_data: *mut c_void,
4203}
4204
4205impl fmt::Debug for DebugReportCallbackCreateInfoEXT {
4206 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4207 f.debug_struct("DebugReportCallbackCreateInfoEXT")
4208 .field("s_type", &self.s_type)
4209 .field("next", &self.next)
4210 .field("flags", &self.flags)
4211 .field("callback", &(self.callback.map(|f| f as *const u8)))
4212 .field("user_data", &self.user_data)
4213 .finish()
4214 }
4215}
4216
4217impl Default for DebugReportCallbackCreateInfoEXT {
4218 #[inline]
4219 fn default() -> Self {
4220 Self {
4221 s_type: StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
4222 next: ptr::null(),
4223 flags: DebugReportFlagsEXT::default(),
4224 callback: PFN_vkDebugReportCallbackEXT::default(),
4225 user_data: ptr::null_mut(),
4226 }
4227 }
4228}
4229
4230#[repr(C)]
4232#[derive(Copy, Clone, Debug, PartialEq)]
4233pub struct DebugUtilsLabelEXT {
4234 pub s_type: StructureType,
4235 pub next: *const c_void,
4236 pub label_name: *const c_char,
4237 pub color: [f32; 4],
4238}
4239
4240impl Default for DebugUtilsLabelEXT {
4241 #[inline]
4242 fn default() -> Self {
4243 Self {
4244 s_type: StructureType::DEBUG_UTILS_LABEL_EXT,
4245 next: ptr::null(),
4246 label_name: ptr::null(),
4247 color: [f32::default(); 4],
4248 }
4249 }
4250}
4251
4252#[repr(C)]
4254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4255pub struct DebugUtilsMessengerCallbackDataEXT {
4256 pub s_type: StructureType,
4257 pub next: *const c_void,
4258 pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
4259 pub message_id_name: *const c_char,
4260 pub message_id_number: i32,
4261 pub message: *const c_char,
4262 pub queue_label_count: u32,
4263 pub queue_labels: *const DebugUtilsLabelEXT,
4264 pub cmd_buf_label_count: u32,
4265 pub cmd_buf_labels: *const DebugUtilsLabelEXT,
4266 pub object_count: u32,
4267 pub objects: *const DebugUtilsObjectNameInfoEXT,
4268}
4269
4270impl Default for DebugUtilsMessengerCallbackDataEXT {
4271 #[inline]
4272 fn default() -> Self {
4273 Self {
4274 s_type: StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
4275 next: ptr::null(),
4276 flags: DebugUtilsMessengerCallbackDataFlagsEXT::default(),
4277 message_id_name: ptr::null(),
4278 message_id_number: i32::default(),
4279 message: ptr::null(),
4280 queue_label_count: u32::default(),
4281 queue_labels: ptr::null(),
4282 cmd_buf_label_count: u32::default(),
4283 cmd_buf_labels: ptr::null(),
4284 object_count: u32::default(),
4285 objects: ptr::null(),
4286 }
4287 }
4288}
4289
4290#[repr(C)]
4292#[derive(Copy, Clone)]
4293pub struct DebugUtilsMessengerCreateInfoEXT {
4294 pub s_type: StructureType,
4295 pub next: *const c_void,
4296 pub flags: DebugUtilsMessengerCreateFlagsEXT,
4297 pub message_severity: DebugUtilsMessageSeverityFlagsEXT,
4298 pub message_type: DebugUtilsMessageTypeFlagsEXT,
4299 pub user_callback: PFN_vkDebugUtilsMessengerCallbackEXT,
4300 pub user_data: *mut c_void,
4301}
4302
4303impl fmt::Debug for DebugUtilsMessengerCreateInfoEXT {
4304 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4305 f.debug_struct("DebugUtilsMessengerCreateInfoEXT")
4306 .field("s_type", &self.s_type)
4307 .field("next", &self.next)
4308 .field("flags", &self.flags)
4309 .field("message_severity", &self.message_severity)
4310 .field("message_type", &self.message_type)
4311 .field(
4312 "user_callback",
4313 &(self.user_callback.map(|f| f as *const u8)),
4314 )
4315 .field("user_data", &self.user_data)
4316 .finish()
4317 }
4318}
4319
4320impl Default for DebugUtilsMessengerCreateInfoEXT {
4321 #[inline]
4322 fn default() -> Self {
4323 Self {
4324 s_type: StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
4325 next: ptr::null(),
4326 flags: DebugUtilsMessengerCreateFlagsEXT::default(),
4327 message_severity: DebugUtilsMessageSeverityFlagsEXT::default(),
4328 message_type: DebugUtilsMessageTypeFlagsEXT::default(),
4329 user_callback: PFN_vkDebugUtilsMessengerCallbackEXT::default(),
4330 user_data: ptr::null_mut(),
4331 }
4332 }
4333}
4334
4335#[repr(C)]
4337#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4338pub struct DebugUtilsObjectNameInfoEXT {
4339 pub s_type: StructureType,
4340 pub next: *const c_void,
4341 pub object_type: ObjectType,
4342 pub object_handle: u64,
4343 pub object_name: *const c_char,
4344}
4345
4346impl Default for DebugUtilsObjectNameInfoEXT {
4347 #[inline]
4348 fn default() -> Self {
4349 Self {
4350 s_type: StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
4351 next: ptr::null(),
4352 object_type: ObjectType::default(),
4353 object_handle: u64::default(),
4354 object_name: ptr::null(),
4355 }
4356 }
4357}
4358
4359#[repr(C)]
4361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4362pub struct DebugUtilsObjectTagInfoEXT {
4363 pub s_type: StructureType,
4364 pub next: *const c_void,
4365 pub object_type: ObjectType,
4366 pub object_handle: u64,
4367 pub tag_name: u64,
4368 pub tag_size: usize,
4369 pub tag: *const c_void,
4370}
4371
4372impl Default for DebugUtilsObjectTagInfoEXT {
4373 #[inline]
4374 fn default() -> Self {
4375 Self {
4376 s_type: StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
4377 next: ptr::null(),
4378 object_type: ObjectType::default(),
4379 object_handle: u64::default(),
4380 tag_name: u64::default(),
4381 tag_size: usize::default(),
4382 tag: ptr::null(),
4383 }
4384 }
4385}
4386
4387#[repr(C)]
4389#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4390pub struct DecompressMemoryRegionNV {
4391 pub src_address: DeviceAddress,
4392 pub dst_address: DeviceAddress,
4393 pub compressed_size: DeviceSize,
4394 pub decompressed_size: DeviceSize,
4395 pub decompression_method: MemoryDecompressionMethodFlagsNV,
4396}
4397
4398#[repr(C)]
4400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4401pub struct DedicatedAllocationBufferCreateInfoNV {
4402 pub s_type: StructureType,
4403 pub next: *const c_void,
4404 pub dedicated_allocation: Bool32,
4405}
4406
4407impl Default for DedicatedAllocationBufferCreateInfoNV {
4408 #[inline]
4409 fn default() -> Self {
4410 Self {
4411 s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
4412 next: ptr::null(),
4413 dedicated_allocation: Bool32::default(),
4414 }
4415 }
4416}
4417
4418#[repr(C)]
4420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4421pub struct DedicatedAllocationImageCreateInfoNV {
4422 pub s_type: StructureType,
4423 pub next: *const c_void,
4424 pub dedicated_allocation: Bool32,
4425}
4426
4427impl Default for DedicatedAllocationImageCreateInfoNV {
4428 #[inline]
4429 fn default() -> Self {
4430 Self {
4431 s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
4432 next: ptr::null(),
4433 dedicated_allocation: Bool32::default(),
4434 }
4435 }
4436}
4437
4438#[repr(C)]
4440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4441pub struct DedicatedAllocationMemoryAllocateInfoNV {
4442 pub s_type: StructureType,
4443 pub next: *const c_void,
4444 pub image: Image,
4445 pub buffer: Buffer,
4446}
4447
4448impl Default for DedicatedAllocationMemoryAllocateInfoNV {
4449 #[inline]
4450 fn default() -> Self {
4451 Self {
4452 s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
4453 next: ptr::null(),
4454 image: Image::default(),
4455 buffer: Buffer::default(),
4456 }
4457 }
4458}
4459
4460#[repr(C)]
4462#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4463pub struct DependencyInfo {
4464 pub s_type: StructureType,
4465 pub next: *const c_void,
4466 pub dependency_flags: DependencyFlags,
4467 pub memory_barrier_count: u32,
4468 pub memory_barriers: *const MemoryBarrier2,
4469 pub buffer_memory_barrier_count: u32,
4470 pub buffer_memory_barriers: *const BufferMemoryBarrier2,
4471 pub image_memory_barrier_count: u32,
4472 pub image_memory_barriers: *const ImageMemoryBarrier2,
4473}
4474
4475impl Default for DependencyInfo {
4476 #[inline]
4477 fn default() -> Self {
4478 Self {
4479 s_type: StructureType::DEPENDENCY_INFO,
4480 next: ptr::null(),
4481 dependency_flags: DependencyFlags::default(),
4482 memory_barrier_count: u32::default(),
4483 memory_barriers: ptr::null(),
4484 buffer_memory_barrier_count: u32::default(),
4485 buffer_memory_barriers: ptr::null(),
4486 image_memory_barrier_count: u32::default(),
4487 image_memory_barriers: ptr::null(),
4488 }
4489 }
4490}
4491
4492#[repr(C)]
4494#[derive(Copy, Clone, Debug, PartialEq)]
4495pub struct DepthBiasInfoEXT {
4496 pub s_type: StructureType,
4497 pub next: *const c_void,
4498 pub depth_bias_constant_factor: f32,
4499 pub depth_bias_clamp: f32,
4500 pub depth_bias_slope_factor: f32,
4501}
4502
4503impl Default for DepthBiasInfoEXT {
4504 #[inline]
4505 fn default() -> Self {
4506 Self {
4507 s_type: StructureType::DEPTH_BIAS_INFO_EXT,
4508 next: ptr::null(),
4509 depth_bias_constant_factor: f32::default(),
4510 depth_bias_clamp: f32::default(),
4511 depth_bias_slope_factor: f32::default(),
4512 }
4513 }
4514}
4515
4516#[repr(C)]
4518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4519pub struct DepthBiasRepresentationInfoEXT {
4520 pub s_type: StructureType,
4521 pub next: *const c_void,
4522 pub depth_bias_representation: DepthBiasRepresentationEXT,
4523 pub depth_bias_exact: Bool32,
4524}
4525
4526impl Default for DepthBiasRepresentationInfoEXT {
4527 #[inline]
4528 fn default() -> Self {
4529 Self {
4530 s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
4531 next: ptr::null(),
4532 depth_bias_representation: DepthBiasRepresentationEXT::default(),
4533 depth_bias_exact: Bool32::default(),
4534 }
4535 }
4536}
4537
4538#[repr(C)]
4540#[derive(Copy, Clone, Default, Debug, PartialEq)]
4541pub struct DepthClampRangeEXT {
4542 pub min_depth_clamp: f32,
4543 pub max_depth_clamp: f32,
4544}
4545
4546#[repr(C)]
4548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4549pub struct DescriptorAddressInfoEXT {
4550 pub s_type: StructureType,
4551 pub next: *mut c_void,
4552 pub address: DeviceAddress,
4553 pub range: DeviceSize,
4554 pub format: Format,
4555}
4556
4557impl Default for DescriptorAddressInfoEXT {
4558 #[inline]
4559 fn default() -> Self {
4560 Self {
4561 s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
4562 next: ptr::null_mut(),
4563 address: DeviceAddress::default(),
4564 range: DeviceSize::default(),
4565 format: Format::default(),
4566 }
4567 }
4568}
4569
4570#[repr(C)]
4572#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4573pub struct DescriptorBufferBindingInfoEXT {
4574 pub s_type: StructureType,
4575 pub next: *const c_void,
4576 pub address: DeviceAddress,
4577 pub usage: BufferUsageFlags,
4578}
4579
4580impl Default for DescriptorBufferBindingInfoEXT {
4581 #[inline]
4582 fn default() -> Self {
4583 Self {
4584 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
4585 next: ptr::null(),
4586 address: DeviceAddress::default(),
4587 usage: BufferUsageFlags::default(),
4588 }
4589 }
4590}
4591
4592#[repr(C)]
4594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4595pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
4596 pub s_type: StructureType,
4597 pub next: *const c_void,
4598 pub buffer: Buffer,
4599}
4600
4601impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
4602 #[inline]
4603 fn default() -> Self {
4604 Self {
4605 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
4606 next: ptr::null(),
4607 buffer: Buffer::default(),
4608 }
4609 }
4610}
4611
4612#[repr(C)]
4614#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4615pub struct DescriptorBufferInfo {
4616 pub buffer: Buffer,
4617 pub offset: DeviceSize,
4618 pub range: DeviceSize,
4619}
4620
4621#[repr(C)]
4623#[derive(Copy, Clone, Debug)]
4624pub struct DescriptorGetInfoEXT {
4625 pub s_type: StructureType,
4626 pub next: *const c_void,
4627 pub type_: DescriptorType,
4628 pub data: DescriptorDataEXT,
4629}
4630
4631impl Default for DescriptorGetInfoEXT {
4632 #[inline]
4633 fn default() -> Self {
4634 Self {
4635 s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
4636 next: ptr::null(),
4637 type_: DescriptorType::default(),
4638 data: DescriptorDataEXT::default(),
4639 }
4640 }
4641}
4642
4643#[repr(C)]
4645#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4646pub struct DescriptorGetTensorInfoARM {
4647 pub s_type: StructureType,
4648 pub next: *const c_void,
4649 pub tensor_view: TensorViewARM,
4650}
4651
4652impl Default for DescriptorGetTensorInfoARM {
4653 #[inline]
4654 fn default() -> Self {
4655 Self {
4656 s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
4657 next: ptr::null(),
4658 tensor_view: TensorViewARM::default(),
4659 }
4660 }
4661}
4662
4663#[repr(C)]
4665#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4666pub struct DescriptorImageInfo {
4667 pub sampler: Sampler,
4668 pub image_view: ImageView,
4669 pub image_layout: ImageLayout,
4670}
4671
4672#[repr(C)]
4674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4675pub struct DescriptorPoolCreateInfo {
4676 pub s_type: StructureType,
4677 pub next: *const c_void,
4678 pub flags: DescriptorPoolCreateFlags,
4679 pub max_sets: u32,
4680 pub pool_size_count: u32,
4681 pub pool_sizes: *const DescriptorPoolSize,
4682}
4683
4684impl Default for DescriptorPoolCreateInfo {
4685 #[inline]
4686 fn default() -> Self {
4687 Self {
4688 s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
4689 next: ptr::null(),
4690 flags: DescriptorPoolCreateFlags::default(),
4691 max_sets: u32::default(),
4692 pool_size_count: u32::default(),
4693 pool_sizes: ptr::null(),
4694 }
4695 }
4696}
4697
4698#[repr(C)]
4700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4701pub struct DescriptorPoolInlineUniformBlockCreateInfo {
4702 pub s_type: StructureType,
4703 pub next: *const c_void,
4704 pub max_inline_uniform_block_bindings: u32,
4705}
4706
4707impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
4708 #[inline]
4709 fn default() -> Self {
4710 Self {
4711 s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
4712 next: ptr::null(),
4713 max_inline_uniform_block_bindings: u32::default(),
4714 }
4715 }
4716}
4717
4718#[repr(C)]
4720#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4721pub struct DescriptorPoolSize {
4722 pub type_: DescriptorType,
4723 pub descriptor_count: u32,
4724}
4725
4726#[repr(C)]
4728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4729pub struct DescriptorSetAllocateInfo {
4730 pub s_type: StructureType,
4731 pub next: *const c_void,
4732 pub descriptor_pool: DescriptorPool,
4733 pub descriptor_set_count: u32,
4734 pub set_layouts: *const DescriptorSetLayout,
4735}
4736
4737impl Default for DescriptorSetAllocateInfo {
4738 #[inline]
4739 fn default() -> Self {
4740 Self {
4741 s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
4742 next: ptr::null(),
4743 descriptor_pool: DescriptorPool::default(),
4744 descriptor_set_count: u32::default(),
4745 set_layouts: ptr::null(),
4746 }
4747 }
4748}
4749
4750#[repr(C)]
4752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4753pub struct DescriptorSetBindingReferenceVALVE {
4754 pub s_type: StructureType,
4755 pub next: *const c_void,
4756 pub descriptor_set_layout: DescriptorSetLayout,
4757 pub binding: u32,
4758}
4759
4760impl Default for DescriptorSetBindingReferenceVALVE {
4761 #[inline]
4762 fn default() -> Self {
4763 Self {
4764 s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
4765 next: ptr::null(),
4766 descriptor_set_layout: DescriptorSetLayout::default(),
4767 binding: u32::default(),
4768 }
4769 }
4770}
4771
4772#[repr(C)]
4774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4775pub struct DescriptorSetLayoutBinding {
4776 pub binding: u32,
4777 pub descriptor_type: DescriptorType,
4778 pub descriptor_count: u32,
4779 pub stage_flags: ShaderStageFlags,
4780 pub immutable_samplers: *const Sampler,
4781}
4782
4783impl Default for DescriptorSetLayoutBinding {
4784 #[inline]
4785 fn default() -> Self {
4786 Self {
4787 binding: u32::default(),
4788 descriptor_type: DescriptorType::default(),
4789 descriptor_count: u32::default(),
4790 stage_flags: ShaderStageFlags::default(),
4791 immutable_samplers: ptr::null(),
4792 }
4793 }
4794}
4795
4796#[repr(C)]
4798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4799pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
4800 pub s_type: StructureType,
4801 pub next: *const c_void,
4802 pub binding_count: u32,
4803 pub binding_flags: *const DescriptorBindingFlags,
4804}
4805
4806impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
4807 #[inline]
4808 fn default() -> Self {
4809 Self {
4810 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
4811 next: ptr::null(),
4812 binding_count: u32::default(),
4813 binding_flags: ptr::null(),
4814 }
4815 }
4816}
4817
4818#[repr(C)]
4820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4821pub struct DescriptorSetLayoutCreateInfo {
4822 pub s_type: StructureType,
4823 pub next: *const c_void,
4824 pub flags: DescriptorSetLayoutCreateFlags,
4825 pub binding_count: u32,
4826 pub bindings: *const DescriptorSetLayoutBinding,
4827}
4828
4829impl Default for DescriptorSetLayoutCreateInfo {
4830 #[inline]
4831 fn default() -> Self {
4832 Self {
4833 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
4834 next: ptr::null(),
4835 flags: DescriptorSetLayoutCreateFlags::default(),
4836 binding_count: u32::default(),
4837 bindings: ptr::null(),
4838 }
4839 }
4840}
4841
4842#[repr(C)]
4844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4845pub struct DescriptorSetLayoutHostMappingInfoVALVE {
4846 pub s_type: StructureType,
4847 pub next: *mut c_void,
4848 pub descriptor_offset: usize,
4849 pub descriptor_size: u32,
4850}
4851
4852impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
4853 #[inline]
4854 fn default() -> Self {
4855 Self {
4856 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
4857 next: ptr::null_mut(),
4858 descriptor_offset: usize::default(),
4859 descriptor_size: u32::default(),
4860 }
4861 }
4862}
4863
4864#[repr(C)]
4866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4867pub struct DescriptorSetLayoutSupport {
4868 pub s_type: StructureType,
4869 pub next: *mut c_void,
4870 pub supported: Bool32,
4871}
4872
4873impl Default for DescriptorSetLayoutSupport {
4874 #[inline]
4875 fn default() -> Self {
4876 Self {
4877 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
4878 next: ptr::null_mut(),
4879 supported: Bool32::default(),
4880 }
4881 }
4882}
4883
4884#[repr(C)]
4886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4887pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
4888 pub s_type: StructureType,
4889 pub next: *const c_void,
4890 pub descriptor_set_count: u32,
4891 pub descriptor_counts: *const u32,
4892}
4893
4894impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
4895 #[inline]
4896 fn default() -> Self {
4897 Self {
4898 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
4899 next: ptr::null(),
4900 descriptor_set_count: u32::default(),
4901 descriptor_counts: ptr::null(),
4902 }
4903 }
4904}
4905
4906#[repr(C)]
4908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4909pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
4910 pub s_type: StructureType,
4911 pub next: *mut c_void,
4912 pub max_variable_descriptor_count: u32,
4913}
4914
4915impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
4916 #[inline]
4917 fn default() -> Self {
4918 Self {
4919 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
4920 next: ptr::null_mut(),
4921 max_variable_descriptor_count: u32::default(),
4922 }
4923 }
4924}
4925
4926#[repr(C)]
4928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4929pub struct DescriptorUpdateTemplateCreateInfo {
4930 pub s_type: StructureType,
4931 pub next: *const c_void,
4932 pub flags: DescriptorUpdateTemplateCreateFlags,
4933 pub descriptor_update_entry_count: u32,
4934 pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
4935 pub template_type: DescriptorUpdateTemplateType,
4936 pub descriptor_set_layout: DescriptorSetLayout,
4937 pub pipeline_bind_point: PipelineBindPoint,
4938 pub pipeline_layout: PipelineLayout,
4939 pub set: u32,
4940}
4941
4942impl Default for DescriptorUpdateTemplateCreateInfo {
4943 #[inline]
4944 fn default() -> Self {
4945 Self {
4946 s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
4947 next: ptr::null(),
4948 flags: DescriptorUpdateTemplateCreateFlags::default(),
4949 descriptor_update_entry_count: u32::default(),
4950 descriptor_update_entries: ptr::null(),
4951 template_type: DescriptorUpdateTemplateType::default(),
4952 descriptor_set_layout: DescriptorSetLayout::default(),
4953 pipeline_bind_point: PipelineBindPoint::default(),
4954 pipeline_layout: PipelineLayout::default(),
4955 set: u32::default(),
4956 }
4957 }
4958}
4959
4960#[repr(C)]
4962#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4963pub struct DescriptorUpdateTemplateEntry {
4964 pub dst_binding: u32,
4965 pub dst_array_element: u32,
4966 pub descriptor_count: u32,
4967 pub descriptor_type: DescriptorType,
4968 pub offset: usize,
4969 pub stride: usize,
4970}
4971
4972#[repr(C)]
4974#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4975pub struct DeviceAddressBindingCallbackDataEXT {
4976 pub s_type: StructureType,
4977 pub next: *mut c_void,
4978 pub flags: DeviceAddressBindingFlagsEXT,
4979 pub base_address: DeviceAddress,
4980 pub size: DeviceSize,
4981 pub binding_type: DeviceAddressBindingTypeEXT,
4982}
4983
4984impl Default for DeviceAddressBindingCallbackDataEXT {
4985 #[inline]
4986 fn default() -> Self {
4987 Self {
4988 s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
4989 next: ptr::null_mut(),
4990 flags: DeviceAddressBindingFlagsEXT::default(),
4991 base_address: DeviceAddress::default(),
4992 size: DeviceSize::default(),
4993 binding_type: DeviceAddressBindingTypeEXT::default(),
4994 }
4995 }
4996}
4997
4998#[repr(C)]
5000#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5001pub struct DeviceBufferMemoryRequirements {
5002 pub s_type: StructureType,
5003 pub next: *const c_void,
5004 pub create_info: *const BufferCreateInfo,
5005}
5006
5007impl Default for DeviceBufferMemoryRequirements {
5008 #[inline]
5009 fn default() -> Self {
5010 Self {
5011 s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
5012 next: ptr::null(),
5013 create_info: ptr::null(),
5014 }
5015 }
5016}
5017
5018#[repr(C)]
5020#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5021pub struct DeviceCreateInfo {
5022 pub s_type: StructureType,
5023 pub next: *const c_void,
5024 pub flags: DeviceCreateFlags,
5025 pub queue_create_info_count: u32,
5026 pub queue_create_infos: *const DeviceQueueCreateInfo,
5027 pub enabled_layer_count: u32,
5028 pub enabled_layer_names: *const *const c_char,
5029 pub enabled_extension_count: u32,
5030 pub enabled_extension_names: *const *const c_char,
5031 pub enabled_features: *const PhysicalDeviceFeatures,
5032}
5033
5034impl Default for DeviceCreateInfo {
5035 #[inline]
5036 fn default() -> Self {
5037 Self {
5038 s_type: StructureType::DEVICE_CREATE_INFO,
5039 next: ptr::null(),
5040 flags: DeviceCreateFlags::default(),
5041 queue_create_info_count: u32::default(),
5042 queue_create_infos: ptr::null(),
5043 enabled_layer_count: u32::default(),
5044 enabled_layer_names: ptr::null(),
5045 enabled_extension_count: u32::default(),
5046 enabled_extension_names: ptr::null(),
5047 enabled_features: ptr::null(),
5048 }
5049 }
5050}
5051
5052#[repr(C)]
5054#[derive(Copy, Clone)]
5055pub struct DeviceDeviceMemoryReportCreateInfoEXT {
5056 pub s_type: StructureType,
5057 pub next: *const c_void,
5058 pub flags: DeviceMemoryReportFlagsEXT,
5059 pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
5060 pub user_data: *mut c_void,
5061}
5062
5063impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
5064 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5065 f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
5066 .field("s_type", &self.s_type)
5067 .field("next", &self.next)
5068 .field("flags", &self.flags)
5069 .field(
5070 "user_callback",
5071 &(self.user_callback.map(|f| f as *const u8)),
5072 )
5073 .field("user_data", &self.user_data)
5074 .finish()
5075 }
5076}
5077
5078impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
5079 #[inline]
5080 fn default() -> Self {
5081 Self {
5082 s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
5083 next: ptr::null(),
5084 flags: DeviceMemoryReportFlagsEXT::default(),
5085 user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
5086 user_data: ptr::null_mut(),
5087 }
5088 }
5089}
5090
5091#[repr(C)]
5093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5094pub struct DeviceDiagnosticsConfigCreateInfoNV {
5095 pub s_type: StructureType,
5096 pub next: *const c_void,
5097 pub flags: DeviceDiagnosticsConfigFlagsNV,
5098}
5099
5100impl Default for DeviceDiagnosticsConfigCreateInfoNV {
5101 #[inline]
5102 fn default() -> Self {
5103 Self {
5104 s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
5105 next: ptr::null(),
5106 flags: DeviceDiagnosticsConfigFlagsNV::default(),
5107 }
5108 }
5109}
5110
5111#[repr(C)]
5113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5114pub struct DeviceEventInfoEXT {
5115 pub s_type: StructureType,
5116 pub next: *const c_void,
5117 pub device_event: DeviceEventTypeEXT,
5118}
5119
5120impl Default for DeviceEventInfoEXT {
5121 #[inline]
5122 fn default() -> Self {
5123 Self {
5124 s_type: StructureType::DEVICE_EVENT_INFO_EXT,
5125 next: ptr::null(),
5126 device_event: DeviceEventTypeEXT::default(),
5127 }
5128 }
5129}
5130
5131#[repr(C)]
5133#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5134pub struct DeviceFaultAddressInfoEXT {
5135 pub address_type: DeviceFaultAddressTypeEXT,
5136 pub reported_address: DeviceAddress,
5137 pub address_precision: DeviceSize,
5138}
5139
5140#[repr(C)]
5142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5143pub struct DeviceFaultCountsEXT {
5144 pub s_type: StructureType,
5145 pub next: *mut c_void,
5146 pub address_info_count: u32,
5147 pub vendor_info_count: u32,
5148 pub vendor_binary_size: DeviceSize,
5149}
5150
5151impl Default for DeviceFaultCountsEXT {
5152 #[inline]
5153 fn default() -> Self {
5154 Self {
5155 s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
5156 next: ptr::null_mut(),
5157 address_info_count: u32::default(),
5158 vendor_info_count: u32::default(),
5159 vendor_binary_size: DeviceSize::default(),
5160 }
5161 }
5162}
5163
5164#[repr(C)]
5166#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5167pub struct DeviceFaultInfoEXT {
5168 pub s_type: StructureType,
5169 pub next: *mut c_void,
5170 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5171 pub address_infos: *mut DeviceFaultAddressInfoEXT,
5172 pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
5173 pub vendor_binary_data: *mut c_void,
5174}
5175
5176impl Default for DeviceFaultInfoEXT {
5177 #[inline]
5178 fn default() -> Self {
5179 Self {
5180 s_type: StructureType::DEVICE_FAULT_INFO_EXT,
5181 next: ptr::null_mut(),
5182 description: StringArray::default(),
5183 address_infos: ptr::null_mut(),
5184 vendor_infos: ptr::null_mut(),
5185 vendor_binary_data: ptr::null_mut(),
5186 }
5187 }
5188}
5189
5190#[repr(C)]
5192#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5193pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
5194 pub header_size: u32,
5195 pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
5196 pub vendor_id: u32,
5197 pub device_id: u32,
5198 pub driver_version: u32,
5199 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
5200 pub application_name_offset: u32,
5201 pub application_version: u32,
5202 pub engine_name_offset: u32,
5203 pub engine_version: u32,
5204 pub api_version: u32,
5205}
5206
5207#[repr(C)]
5209#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5210pub struct DeviceFaultVendorInfoEXT {
5211 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5212 pub vendor_fault_code: u64,
5213 pub vendor_fault_data: u64,
5214}
5215
5216#[repr(C)]
5218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5219pub struct DeviceGroupBindSparseInfo {
5220 pub s_type: StructureType,
5221 pub next: *const c_void,
5222 pub resource_device_index: u32,
5223 pub memory_device_index: u32,
5224}
5225
5226impl Default for DeviceGroupBindSparseInfo {
5227 #[inline]
5228 fn default() -> Self {
5229 Self {
5230 s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
5231 next: ptr::null(),
5232 resource_device_index: u32::default(),
5233 memory_device_index: u32::default(),
5234 }
5235 }
5236}
5237
5238#[repr(C)]
5240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5241pub struct DeviceGroupCommandBufferBeginInfo {
5242 pub s_type: StructureType,
5243 pub next: *const c_void,
5244 pub device_mask: u32,
5245}
5246
5247impl Default for DeviceGroupCommandBufferBeginInfo {
5248 #[inline]
5249 fn default() -> Self {
5250 Self {
5251 s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
5252 next: ptr::null(),
5253 device_mask: u32::default(),
5254 }
5255 }
5256}
5257
5258#[repr(C)]
5260#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5261pub struct DeviceGroupDeviceCreateInfo {
5262 pub s_type: StructureType,
5263 pub next: *const c_void,
5264 pub physical_device_count: u32,
5265 pub physical_devices: *const PhysicalDevice,
5266}
5267
5268impl Default for DeviceGroupDeviceCreateInfo {
5269 #[inline]
5270 fn default() -> Self {
5271 Self {
5272 s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
5273 next: ptr::null(),
5274 physical_device_count: u32::default(),
5275 physical_devices: ptr::null(),
5276 }
5277 }
5278}
5279
5280#[repr(C)]
5282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5283pub struct DeviceGroupPresentCapabilitiesKHR {
5284 pub s_type: StructureType,
5285 pub next: *mut c_void,
5286 pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE],
5287 pub modes: DeviceGroupPresentModeFlagsKHR,
5288}
5289
5290impl Default for DeviceGroupPresentCapabilitiesKHR {
5291 #[inline]
5292 fn default() -> Self {
5293 Self {
5294 s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
5295 next: ptr::null_mut(),
5296 present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
5297 modes: DeviceGroupPresentModeFlagsKHR::default(),
5298 }
5299 }
5300}
5301
5302#[repr(C)]
5304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5305pub struct DeviceGroupPresentInfoKHR {
5306 pub s_type: StructureType,
5307 pub next: *const c_void,
5308 pub swapchain_count: u32,
5309 pub device_masks: *const u32,
5310 pub mode: DeviceGroupPresentModeFlagsKHR,
5311}
5312
5313impl Default for DeviceGroupPresentInfoKHR {
5314 #[inline]
5315 fn default() -> Self {
5316 Self {
5317 s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
5318 next: ptr::null(),
5319 swapchain_count: u32::default(),
5320 device_masks: ptr::null(),
5321 mode: DeviceGroupPresentModeFlagsKHR::default(),
5322 }
5323 }
5324}
5325
5326#[repr(C)]
5328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5329pub struct DeviceGroupRenderPassBeginInfo {
5330 pub s_type: StructureType,
5331 pub next: *const c_void,
5332 pub device_mask: u32,
5333 pub device_render_area_count: u32,
5334 pub device_render_areas: *const Rect2D,
5335}
5336
5337impl Default for DeviceGroupRenderPassBeginInfo {
5338 #[inline]
5339 fn default() -> Self {
5340 Self {
5341 s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
5342 next: ptr::null(),
5343 device_mask: u32::default(),
5344 device_render_area_count: u32::default(),
5345 device_render_areas: ptr::null(),
5346 }
5347 }
5348}
5349
5350#[repr(C)]
5352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5353pub struct DeviceGroupSubmitInfo {
5354 pub s_type: StructureType,
5355 pub next: *const c_void,
5356 pub wait_semaphore_count: u32,
5357 pub wait_semaphore_device_indices: *const u32,
5358 pub command_buffer_count: u32,
5359 pub command_buffer_device_masks: *const u32,
5360 pub signal_semaphore_count: u32,
5361 pub signal_semaphore_device_indices: *const u32,
5362}
5363
5364impl Default for DeviceGroupSubmitInfo {
5365 #[inline]
5366 fn default() -> Self {
5367 Self {
5368 s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
5369 next: ptr::null(),
5370 wait_semaphore_count: u32::default(),
5371 wait_semaphore_device_indices: ptr::null(),
5372 command_buffer_count: u32::default(),
5373 command_buffer_device_masks: ptr::null(),
5374 signal_semaphore_count: u32::default(),
5375 signal_semaphore_device_indices: ptr::null(),
5376 }
5377 }
5378}
5379
5380#[repr(C)]
5382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5383pub struct DeviceGroupSwapchainCreateInfoKHR {
5384 pub s_type: StructureType,
5385 pub next: *const c_void,
5386 pub modes: DeviceGroupPresentModeFlagsKHR,
5387}
5388
5389impl Default for DeviceGroupSwapchainCreateInfoKHR {
5390 #[inline]
5391 fn default() -> Self {
5392 Self {
5393 s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
5394 next: ptr::null(),
5395 modes: DeviceGroupPresentModeFlagsKHR::default(),
5396 }
5397 }
5398}
5399
5400#[repr(C)]
5402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5403pub struct DeviceImageMemoryRequirements {
5404 pub s_type: StructureType,
5405 pub next: *const c_void,
5406 pub create_info: *const ImageCreateInfo,
5407 pub plane_aspect: ImageAspectFlags,
5408}
5409
5410impl Default for DeviceImageMemoryRequirements {
5411 #[inline]
5412 fn default() -> Self {
5413 Self {
5414 s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
5415 next: ptr::null(),
5416 create_info: ptr::null(),
5417 plane_aspect: ImageAspectFlags::default(),
5418 }
5419 }
5420}
5421
5422#[repr(C)]
5424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5425pub struct DeviceImageSubresourceInfo {
5426 pub s_type: StructureType,
5427 pub next: *const c_void,
5428 pub create_info: *const ImageCreateInfo,
5429 pub subresource: *const ImageSubresource2,
5430}
5431
5432impl Default for DeviceImageSubresourceInfo {
5433 #[inline]
5434 fn default() -> Self {
5435 Self {
5436 s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
5437 next: ptr::null(),
5438 create_info: ptr::null(),
5439 subresource: ptr::null(),
5440 }
5441 }
5442}
5443
5444#[repr(C)]
5446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5447pub struct DeviceMemoryOpaqueCaptureAddressInfo {
5448 pub s_type: StructureType,
5449 pub next: *const c_void,
5450 pub memory: DeviceMemory,
5451}
5452
5453impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
5454 #[inline]
5455 fn default() -> Self {
5456 Self {
5457 s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
5458 next: ptr::null(),
5459 memory: DeviceMemory::default(),
5460 }
5461 }
5462}
5463
5464#[repr(C)]
5466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5467pub struct DeviceMemoryOverallocationCreateInfoAMD {
5468 pub s_type: StructureType,
5469 pub next: *const c_void,
5470 pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
5471}
5472
5473impl Default for DeviceMemoryOverallocationCreateInfoAMD {
5474 #[inline]
5475 fn default() -> Self {
5476 Self {
5477 s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
5478 next: ptr::null(),
5479 overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
5480 }
5481 }
5482}
5483
5484#[repr(C)]
5486#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5487pub struct DeviceMemoryReportCallbackDataEXT {
5488 pub s_type: StructureType,
5489 pub next: *mut c_void,
5490 pub flags: DeviceMemoryReportFlagsEXT,
5491 pub type_: DeviceMemoryReportEventTypeEXT,
5492 pub memory_object_id: u64,
5493 pub size: DeviceSize,
5494 pub object_type: ObjectType,
5495 pub object_handle: u64,
5496 pub heap_index: u32,
5497}
5498
5499impl Default for DeviceMemoryReportCallbackDataEXT {
5500 #[inline]
5501 fn default() -> Self {
5502 Self {
5503 s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
5504 next: ptr::null_mut(),
5505 flags: DeviceMemoryReportFlagsEXT::default(),
5506 type_: DeviceMemoryReportEventTypeEXT::default(),
5507 memory_object_id: u64::default(),
5508 size: DeviceSize::default(),
5509 object_type: ObjectType::default(),
5510 object_handle: u64::default(),
5511 heap_index: u32::default(),
5512 }
5513 }
5514}
5515
5516#[repr(C)]
5518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5519pub struct DevicePipelineBinaryInternalCacheControlKHR {
5520 pub s_type: StructureType,
5521 pub next: *const c_void,
5522 pub disable_internal_cache: Bool32,
5523}
5524
5525impl Default for DevicePipelineBinaryInternalCacheControlKHR {
5526 #[inline]
5527 fn default() -> Self {
5528 Self {
5529 s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
5530 next: ptr::null(),
5531 disable_internal_cache: Bool32::default(),
5532 }
5533 }
5534}
5535
5536#[repr(C)]
5538#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5539pub struct DevicePrivateDataCreateInfo {
5540 pub s_type: StructureType,
5541 pub next: *const c_void,
5542 pub private_data_slot_request_count: u32,
5543}
5544
5545impl Default for DevicePrivateDataCreateInfo {
5546 #[inline]
5547 fn default() -> Self {
5548 Self {
5549 s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
5550 next: ptr::null(),
5551 private_data_slot_request_count: u32::default(),
5552 }
5553 }
5554}
5555
5556#[repr(C)]
5558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5559pub struct DeviceQueueCreateInfo {
5560 pub s_type: StructureType,
5561 pub next: *const c_void,
5562 pub flags: DeviceQueueCreateFlags,
5563 pub queue_family_index: u32,
5564 pub queue_count: u32,
5565 pub queue_priorities: *const f32,
5566}
5567
5568impl Default for DeviceQueueCreateInfo {
5569 #[inline]
5570 fn default() -> Self {
5571 Self {
5572 s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
5573 next: ptr::null(),
5574 flags: DeviceQueueCreateFlags::default(),
5575 queue_family_index: u32::default(),
5576 queue_count: u32::default(),
5577 queue_priorities: ptr::null(),
5578 }
5579 }
5580}
5581
5582#[repr(C)]
5584#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5585pub struct DeviceQueueGlobalPriorityCreateInfo {
5586 pub s_type: StructureType,
5587 pub next: *const c_void,
5588 pub global_priority: QueueGlobalPriority,
5589}
5590
5591impl Default for DeviceQueueGlobalPriorityCreateInfo {
5592 #[inline]
5593 fn default() -> Self {
5594 Self {
5595 s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
5596 next: ptr::null(),
5597 global_priority: QueueGlobalPriority::default(),
5598 }
5599 }
5600}
5601
5602#[repr(C)]
5604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5605pub struct DeviceQueueInfo2 {
5606 pub s_type: StructureType,
5607 pub next: *const c_void,
5608 pub flags: DeviceQueueCreateFlags,
5609 pub queue_family_index: u32,
5610 pub queue_index: u32,
5611}
5612
5613impl Default for DeviceQueueInfo2 {
5614 #[inline]
5615 fn default() -> Self {
5616 Self {
5617 s_type: StructureType::DEVICE_QUEUE_INFO_2,
5618 next: ptr::null(),
5619 flags: DeviceQueueCreateFlags::default(),
5620 queue_family_index: u32::default(),
5621 queue_index: u32::default(),
5622 }
5623 }
5624}
5625
5626#[repr(C)]
5628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5629pub struct DeviceQueueShaderCoreControlCreateInfoARM {
5630 pub s_type: StructureType,
5631 pub next: *mut c_void,
5632 pub shader_core_count: u32,
5633}
5634
5635impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
5636 #[inline]
5637 fn default() -> Self {
5638 Self {
5639 s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
5640 next: ptr::null_mut(),
5641 shader_core_count: u32::default(),
5642 }
5643 }
5644}
5645
5646#[repr(C)]
5648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5649pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
5650 pub s_type: StructureType,
5651 pub next: *const c_void,
5652 pub semaphore_sci_sync_pool_request_count: u32,
5653}
5654
5655impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
5656 #[inline]
5657 fn default() -> Self {
5658 Self {
5659 s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
5660 next: ptr::null(),
5661 semaphore_sci_sync_pool_request_count: u32::default(),
5662 }
5663 }
5664}
5665
5666#[repr(C)]
5668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5669pub struct DeviceTensorMemoryRequirementsARM {
5670 pub s_type: StructureType,
5671 pub next: *const c_void,
5672 pub create_info: *const TensorCreateInfoARM,
5673}
5674
5675impl Default for DeviceTensorMemoryRequirementsARM {
5676 #[inline]
5677 fn default() -> Self {
5678 Self {
5679 s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
5680 next: ptr::null(),
5681 create_info: ptr::null(),
5682 }
5683 }
5684}
5685
5686#[repr(C)]
5688#[derive(Copy, Clone)]
5689pub struct DirectDriverLoadingInfoLUNARG {
5690 pub s_type: StructureType,
5691 pub next: *mut c_void,
5692 pub flags: DirectDriverLoadingFlagsLUNARG,
5693 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
5694}
5695
5696impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
5697 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5698 f.debug_struct("DirectDriverLoadingInfoLUNARG")
5699 .field("s_type", &self.s_type)
5700 .field("next", &self.next)
5701 .field("flags", &self.flags)
5702 .field(
5703 "get_instance_proc_addr",
5704 &(self.get_instance_proc_addr.map(|f| f as *const u8)),
5705 )
5706 .finish()
5707 }
5708}
5709
5710impl Default for DirectDriverLoadingInfoLUNARG {
5711 #[inline]
5712 fn default() -> Self {
5713 Self {
5714 s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
5715 next: ptr::null_mut(),
5716 flags: DirectDriverLoadingFlagsLUNARG::default(),
5717 get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
5718 }
5719 }
5720}
5721
5722#[repr(C)]
5724#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5725pub struct DirectDriverLoadingListLUNARG {
5726 pub s_type: StructureType,
5727 pub next: *const c_void,
5728 pub mode: DirectDriverLoadingModeLUNARG,
5729 pub driver_count: u32,
5730 pub drivers: *const DirectDriverLoadingInfoLUNARG,
5731}
5732
5733impl Default for DirectDriverLoadingListLUNARG {
5734 #[inline]
5735 fn default() -> Self {
5736 Self {
5737 s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
5738 next: ptr::null(),
5739 mode: DirectDriverLoadingModeLUNARG::default(),
5740 driver_count: u32::default(),
5741 drivers: ptr::null(),
5742 }
5743 }
5744}
5745
5746#[repr(C)]
5748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5749pub struct DirectFBSurfaceCreateInfoEXT {
5750 pub s_type: StructureType,
5751 pub next: *const c_void,
5752 pub flags: DirectFBSurfaceCreateFlagsEXT,
5753 pub dfb: *mut IDirectFB,
5754 pub surface: *mut IDirectFBSurface,
5755}
5756
5757impl Default for DirectFBSurfaceCreateInfoEXT {
5758 #[inline]
5759 fn default() -> Self {
5760 Self {
5761 s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
5762 next: ptr::null(),
5763 flags: DirectFBSurfaceCreateFlagsEXT::default(),
5764 dfb: ptr::null_mut(),
5765 surface: ptr::null_mut(),
5766 }
5767 }
5768}
5769
5770#[repr(C)]
5772#[derive(Copy, Clone, Default, Debug)]
5773pub struct DispatchGraphCountInfoAMDX {
5774 pub count: u32,
5775 pub infos: DeviceOrHostAddressConstAMDX,
5776 pub stride: u64,
5777}
5778
5779#[repr(C)]
5781#[derive(Copy, Clone, Default, Debug)]
5782pub struct DispatchGraphInfoAMDX {
5783 pub node_index: u32,
5784 pub payload_count: u32,
5785 pub payloads: DeviceOrHostAddressConstAMDX,
5786 pub payload_stride: u64,
5787}
5788
5789#[repr(C)]
5791#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5792pub struct DispatchIndirectCommand {
5793 pub x: u32,
5794 pub y: u32,
5795 pub z: u32,
5796}
5797
5798#[repr(C)]
5800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5801pub struct DispatchTileInfoQCOM {
5802 pub s_type: StructureType,
5803 pub next: *const c_void,
5804}
5805
5806impl Default for DispatchTileInfoQCOM {
5807 #[inline]
5808 fn default() -> Self {
5809 Self {
5810 s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
5811 next: ptr::null(),
5812 }
5813 }
5814}
5815
5816#[repr(C)]
5818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5819pub struct DisplayEventInfoEXT {
5820 pub s_type: StructureType,
5821 pub next: *const c_void,
5822 pub display_event: DisplayEventTypeEXT,
5823}
5824
5825impl Default for DisplayEventInfoEXT {
5826 #[inline]
5827 fn default() -> Self {
5828 Self {
5829 s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
5830 next: ptr::null(),
5831 display_event: DisplayEventTypeEXT::default(),
5832 }
5833 }
5834}
5835
5836#[repr(C)]
5838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5839pub struct DisplayModeCreateInfoKHR {
5840 pub s_type: StructureType,
5841 pub next: *const c_void,
5842 pub flags: DisplayModeCreateFlagsKHR,
5843 pub parameters: DisplayModeParametersKHR,
5844}
5845
5846impl Default for DisplayModeCreateInfoKHR {
5847 #[inline]
5848 fn default() -> Self {
5849 Self {
5850 s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
5851 next: ptr::null(),
5852 flags: DisplayModeCreateFlagsKHR::default(),
5853 parameters: DisplayModeParametersKHR::default(),
5854 }
5855 }
5856}
5857
5858#[repr(C)]
5860#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5861pub struct DisplayModeParametersKHR {
5862 pub visible_region: Extent2D,
5863 pub refresh_rate: u32,
5864}
5865
5866#[repr(C)]
5868#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5869pub struct DisplayModeProperties2KHR {
5870 pub s_type: StructureType,
5871 pub next: *mut c_void,
5872 pub display_mode_properties: DisplayModePropertiesKHR,
5873}
5874
5875impl Default for DisplayModeProperties2KHR {
5876 #[inline]
5877 fn default() -> Self {
5878 Self {
5879 s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
5880 next: ptr::null_mut(),
5881 display_mode_properties: DisplayModePropertiesKHR::default(),
5882 }
5883 }
5884}
5885
5886#[repr(C)]
5888#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5889pub struct DisplayModePropertiesKHR {
5890 pub display_mode: DisplayModeKHR,
5891 pub parameters: DisplayModeParametersKHR,
5892}
5893
5894#[repr(C)]
5896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5897pub struct DisplayModeStereoPropertiesNV {
5898 pub s_type: StructureType,
5899 pub next: *const c_void,
5900 pub hdmi_3d_supported: Bool32,
5901}
5902
5903impl Default for DisplayModeStereoPropertiesNV {
5904 #[inline]
5905 fn default() -> Self {
5906 Self {
5907 s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
5908 next: ptr::null(),
5909 hdmi_3d_supported: Bool32::default(),
5910 }
5911 }
5912}
5913
5914#[repr(C)]
5916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5917pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
5918 pub s_type: StructureType,
5919 pub next: *mut c_void,
5920 pub local_dimming_support: Bool32,
5921}
5922
5923impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
5924 #[inline]
5925 fn default() -> Self {
5926 Self {
5927 s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
5928 next: ptr::null_mut(),
5929 local_dimming_support: Bool32::default(),
5930 }
5931 }
5932}
5933
5934#[repr(C)]
5936#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5937pub struct DisplayPlaneCapabilities2KHR {
5938 pub s_type: StructureType,
5939 pub next: *mut c_void,
5940 pub capabilities: DisplayPlaneCapabilitiesKHR,
5941}
5942
5943impl Default for DisplayPlaneCapabilities2KHR {
5944 #[inline]
5945 fn default() -> Self {
5946 Self {
5947 s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
5948 next: ptr::null_mut(),
5949 capabilities: DisplayPlaneCapabilitiesKHR::default(),
5950 }
5951 }
5952}
5953
5954#[repr(C)]
5956#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5957pub struct DisplayPlaneCapabilitiesKHR {
5958 pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
5959 pub min_src_position: Offset2D,
5960 pub max_src_position: Offset2D,
5961 pub min_src_extent: Extent2D,
5962 pub max_src_extent: Extent2D,
5963 pub min_dst_position: Offset2D,
5964 pub max_dst_position: Offset2D,
5965 pub min_dst_extent: Extent2D,
5966 pub max_dst_extent: Extent2D,
5967}
5968
5969#[repr(C)]
5971#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5972pub struct DisplayPlaneInfo2KHR {
5973 pub s_type: StructureType,
5974 pub next: *const c_void,
5975 pub mode: DisplayModeKHR,
5976 pub plane_index: u32,
5977}
5978
5979impl Default for DisplayPlaneInfo2KHR {
5980 #[inline]
5981 fn default() -> Self {
5982 Self {
5983 s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
5984 next: ptr::null(),
5985 mode: DisplayModeKHR::default(),
5986 plane_index: u32::default(),
5987 }
5988 }
5989}
5990
5991#[repr(C)]
5993#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5994pub struct DisplayPlaneProperties2KHR {
5995 pub s_type: StructureType,
5996 pub next: *mut c_void,
5997 pub display_plane_properties: DisplayPlanePropertiesKHR,
5998}
5999
6000impl Default for DisplayPlaneProperties2KHR {
6001 #[inline]
6002 fn default() -> Self {
6003 Self {
6004 s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
6005 next: ptr::null_mut(),
6006 display_plane_properties: DisplayPlanePropertiesKHR::default(),
6007 }
6008 }
6009}
6010
6011#[repr(C)]
6013#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6014pub struct DisplayPlanePropertiesKHR {
6015 pub current_display: DisplayKHR,
6016 pub current_stack_index: u32,
6017}
6018
6019#[repr(C)]
6021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6022pub struct DisplayPowerInfoEXT {
6023 pub s_type: StructureType,
6024 pub next: *const c_void,
6025 pub power_state: DisplayPowerStateEXT,
6026}
6027
6028impl Default for DisplayPowerInfoEXT {
6029 #[inline]
6030 fn default() -> Self {
6031 Self {
6032 s_type: StructureType::DISPLAY_POWER_INFO_EXT,
6033 next: ptr::null(),
6034 power_state: DisplayPowerStateEXT::default(),
6035 }
6036 }
6037}
6038
6039#[repr(C)]
6041#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6042pub struct DisplayPresentInfoKHR {
6043 pub s_type: StructureType,
6044 pub next: *const c_void,
6045 pub src_rect: Rect2D,
6046 pub dst_rect: Rect2D,
6047 pub persistent: Bool32,
6048}
6049
6050impl Default for DisplayPresentInfoKHR {
6051 #[inline]
6052 fn default() -> Self {
6053 Self {
6054 s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
6055 next: ptr::null(),
6056 src_rect: Rect2D::default(),
6057 dst_rect: Rect2D::default(),
6058 persistent: Bool32::default(),
6059 }
6060 }
6061}
6062
6063#[repr(C)]
6065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6066pub struct DisplayProperties2KHR {
6067 pub s_type: StructureType,
6068 pub next: *mut c_void,
6069 pub display_properties: DisplayPropertiesKHR,
6070}
6071
6072impl Default for DisplayProperties2KHR {
6073 #[inline]
6074 fn default() -> Self {
6075 Self {
6076 s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
6077 next: ptr::null_mut(),
6078 display_properties: DisplayPropertiesKHR::default(),
6079 }
6080 }
6081}
6082
6083#[repr(C)]
6085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6086pub struct DisplayPropertiesKHR {
6087 pub display: DisplayKHR,
6088 pub display_name: *const c_char,
6089 pub physical_dimensions: Extent2D,
6090 pub physical_resolution: Extent2D,
6091 pub supported_transforms: SurfaceTransformFlagsKHR,
6092 pub plane_reorder_possible: Bool32,
6093 pub persistent_content: Bool32,
6094}
6095
6096impl Default for DisplayPropertiesKHR {
6097 #[inline]
6098 fn default() -> Self {
6099 Self {
6100 display: DisplayKHR::default(),
6101 display_name: ptr::null(),
6102 physical_dimensions: Extent2D::default(),
6103 physical_resolution: Extent2D::default(),
6104 supported_transforms: SurfaceTransformFlagsKHR::default(),
6105 plane_reorder_possible: Bool32::default(),
6106 persistent_content: Bool32::default(),
6107 }
6108 }
6109}
6110
6111#[repr(C)]
6113#[derive(Copy, Clone, Debug, PartialEq)]
6114pub struct DisplaySurfaceCreateInfoKHR {
6115 pub s_type: StructureType,
6116 pub next: *const c_void,
6117 pub flags: DisplaySurfaceCreateFlagsKHR,
6118 pub display_mode: DisplayModeKHR,
6119 pub plane_index: u32,
6120 pub plane_stack_index: u32,
6121 pub transform: SurfaceTransformFlagsKHR,
6122 pub global_alpha: f32,
6123 pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
6124 pub image_extent: Extent2D,
6125}
6126
6127impl Default for DisplaySurfaceCreateInfoKHR {
6128 #[inline]
6129 fn default() -> Self {
6130 Self {
6131 s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
6132 next: ptr::null(),
6133 flags: DisplaySurfaceCreateFlagsKHR::default(),
6134 display_mode: DisplayModeKHR::default(),
6135 plane_index: u32::default(),
6136 plane_stack_index: u32::default(),
6137 transform: SurfaceTransformFlagsKHR::default(),
6138 global_alpha: f32::default(),
6139 alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
6140 image_extent: Extent2D::default(),
6141 }
6142 }
6143}
6144
6145#[repr(C)]
6147#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6148pub struct DisplaySurfaceStereoCreateInfoNV {
6149 pub s_type: StructureType,
6150 pub next: *const c_void,
6151 pub stereo_type: DisplaySurfaceStereoTypeNV,
6152}
6153
6154impl Default for DisplaySurfaceStereoCreateInfoNV {
6155 #[inline]
6156 fn default() -> Self {
6157 Self {
6158 s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
6159 next: ptr::null(),
6160 stereo_type: DisplaySurfaceStereoTypeNV::default(),
6161 }
6162 }
6163}
6164
6165#[repr(C)]
6167#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6168pub struct DrawIndexedIndirectCommand {
6169 pub index_count: u32,
6170 pub instance_count: u32,
6171 pub first_index: u32,
6172 pub vertex_offset: i32,
6173 pub first_instance: u32,
6174}
6175
6176#[repr(C)]
6178#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6179pub struct DrawIndirectCommand {
6180 pub vertex_count: u32,
6181 pub instance_count: u32,
6182 pub first_vertex: u32,
6183 pub first_instance: u32,
6184}
6185
6186#[repr(C)]
6188#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6189pub struct DrawIndirectCountIndirectCommandEXT {
6190 pub buffer_address: DeviceAddress,
6191 pub stride: u32,
6192 pub command_count: u32,
6193}
6194
6195#[repr(C)]
6197#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6198pub struct DrawMeshTasksIndirectCommandEXT {
6199 pub group_count_x: u32,
6200 pub group_count_y: u32,
6201 pub group_count_z: u32,
6202}
6203
6204#[repr(C)]
6206#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6207pub struct DrawMeshTasksIndirectCommandNV {
6208 pub task_count: u32,
6209 pub first_task: u32,
6210}
6211
6212#[repr(C)]
6214#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6215pub struct DrmFormatModifierProperties2EXT {
6216 pub drm_format_modifier: u64,
6217 pub drm_format_modifier_plane_count: u32,
6218 pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
6219}
6220
6221#[repr(C)]
6223#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6224pub struct DrmFormatModifierPropertiesEXT {
6225 pub drm_format_modifier: u64,
6226 pub drm_format_modifier_plane_count: u32,
6227 pub drm_format_modifier_tiling_features: FormatFeatureFlags,
6228}
6229
6230#[repr(C)]
6232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6233pub struct DrmFormatModifierPropertiesList2EXT {
6234 pub s_type: StructureType,
6235 pub next: *mut c_void,
6236 pub drm_format_modifier_count: u32,
6237 pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
6238}
6239
6240impl Default for DrmFormatModifierPropertiesList2EXT {
6241 #[inline]
6242 fn default() -> Self {
6243 Self {
6244 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
6245 next: ptr::null_mut(),
6246 drm_format_modifier_count: u32::default(),
6247 drm_format_modifier_properties: ptr::null_mut(),
6248 }
6249 }
6250}
6251
6252#[repr(C)]
6254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6255pub struct DrmFormatModifierPropertiesListEXT {
6256 pub s_type: StructureType,
6257 pub next: *mut c_void,
6258 pub drm_format_modifier_count: u32,
6259 pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
6260}
6261
6262impl Default for DrmFormatModifierPropertiesListEXT {
6263 #[inline]
6264 fn default() -> Self {
6265 Self {
6266 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
6267 next: ptr::null_mut(),
6268 drm_format_modifier_count: u32::default(),
6269 drm_format_modifier_properties: ptr::null_mut(),
6270 }
6271 }
6272}
6273
6274#[repr(C)]
6276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6277pub struct EventCreateInfo {
6278 pub s_type: StructureType,
6279 pub next: *const c_void,
6280 pub flags: EventCreateFlags,
6281}
6282
6283impl Default for EventCreateInfo {
6284 #[inline]
6285 fn default() -> Self {
6286 Self {
6287 s_type: StructureType::EVENT_CREATE_INFO,
6288 next: ptr::null(),
6289 flags: EventCreateFlags::default(),
6290 }
6291 }
6292}
6293
6294#[repr(C)]
6296#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6297pub struct ExecutionGraphPipelineCreateInfoAMDX {
6298 pub s_type: StructureType,
6299 pub next: *const c_void,
6300 pub flags: PipelineCreateFlags,
6301 pub stage_count: u32,
6302 pub stages: *const PipelineShaderStageCreateInfo,
6303 pub library_info: *const PipelineLibraryCreateInfoKHR,
6304 pub layout: PipelineLayout,
6305 pub base_pipeline_handle: Pipeline,
6306 pub base_pipeline_index: i32,
6307}
6308
6309impl Default for ExecutionGraphPipelineCreateInfoAMDX {
6310 #[inline]
6311 fn default() -> Self {
6312 Self {
6313 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
6314 next: ptr::null(),
6315 flags: PipelineCreateFlags::default(),
6316 stage_count: u32::default(),
6317 stages: ptr::null(),
6318 library_info: ptr::null(),
6319 layout: PipelineLayout::default(),
6320 base_pipeline_handle: Pipeline::default(),
6321 base_pipeline_index: i32::default(),
6322 }
6323 }
6324}
6325
6326#[repr(C)]
6328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6329pub struct ExecutionGraphPipelineScratchSizeAMDX {
6330 pub s_type: StructureType,
6331 pub next: *mut c_void,
6332 pub min_size: DeviceSize,
6333 pub max_size: DeviceSize,
6334 pub size_granularity: DeviceSize,
6335}
6336
6337impl Default for ExecutionGraphPipelineScratchSizeAMDX {
6338 #[inline]
6339 fn default() -> Self {
6340 Self {
6341 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
6342 next: ptr::null_mut(),
6343 min_size: DeviceSize::default(),
6344 max_size: DeviceSize::default(),
6345 size_granularity: DeviceSize::default(),
6346 }
6347 }
6348}
6349
6350#[repr(C)]
6352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6353pub struct ExportFenceCreateInfo {
6354 pub s_type: StructureType,
6355 pub next: *const c_void,
6356 pub handle_types: ExternalFenceHandleTypeFlags,
6357}
6358
6359impl Default for ExportFenceCreateInfo {
6360 #[inline]
6361 fn default() -> Self {
6362 Self {
6363 s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
6364 next: ptr::null(),
6365 handle_types: ExternalFenceHandleTypeFlags::default(),
6366 }
6367 }
6368}
6369
6370#[repr(C)]
6372#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6373pub struct ExportFenceSciSyncInfoNV {
6374 pub s_type: StructureType,
6375 pub next: *const c_void,
6376 pub attributes: NvSciSyncAttrList,
6377}
6378
6379impl Default for ExportFenceSciSyncInfoNV {
6380 #[inline]
6381 fn default() -> Self {
6382 Self {
6383 s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
6384 next: ptr::null(),
6385 attributes: ptr::null_mut(),
6386 }
6387 }
6388}
6389
6390#[repr(C)]
6392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6393pub struct ExportFenceWin32HandleInfoKHR {
6394 pub s_type: StructureType,
6395 pub next: *const c_void,
6396 pub attributes: *const SECURITY_ATTRIBUTES,
6397 pub dw_access: DWORD,
6398 pub name: LPCWSTR,
6399}
6400
6401impl Default for ExportFenceWin32HandleInfoKHR {
6402 #[inline]
6403 fn default() -> Self {
6404 Self {
6405 s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
6406 next: ptr::null(),
6407 attributes: ptr::null(),
6408 dw_access: DWORD::default(),
6409 name: ptr::null_mut(),
6410 }
6411 }
6412}
6413
6414#[repr(C)]
6416#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6417pub struct ExportMemoryAllocateInfo {
6418 pub s_type: StructureType,
6419 pub next: *const c_void,
6420 pub handle_types: ExternalMemoryHandleTypeFlags,
6421}
6422
6423impl Default for ExportMemoryAllocateInfo {
6424 #[inline]
6425 fn default() -> Self {
6426 Self {
6427 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
6428 next: ptr::null(),
6429 handle_types: ExternalMemoryHandleTypeFlags::default(),
6430 }
6431 }
6432}
6433
6434#[repr(C)]
6436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6437pub struct ExportMemoryAllocateInfoNV {
6438 pub s_type: StructureType,
6439 pub next: *const c_void,
6440 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
6441}
6442
6443impl Default for ExportMemoryAllocateInfoNV {
6444 #[inline]
6445 fn default() -> Self {
6446 Self {
6447 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
6448 next: ptr::null(),
6449 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
6450 }
6451 }
6452}
6453
6454#[repr(C)]
6456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6457pub struct ExportMemorySciBufInfoNV {
6458 pub s_type: StructureType,
6459 pub next: *const c_void,
6460 pub attributes: NvSciBufAttrList,
6461}
6462
6463impl Default for ExportMemorySciBufInfoNV {
6464 #[inline]
6465 fn default() -> Self {
6466 Self {
6467 s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
6468 next: ptr::null(),
6469 attributes: ptr::null_mut(),
6470 }
6471 }
6472}
6473
6474#[repr(C)]
6476#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6477pub struct ExportMemoryWin32HandleInfoKHR {
6478 pub s_type: StructureType,
6479 pub next: *const c_void,
6480 pub attributes: *const SECURITY_ATTRIBUTES,
6481 pub dw_access: DWORD,
6482 pub name: LPCWSTR,
6483}
6484
6485impl Default for ExportMemoryWin32HandleInfoKHR {
6486 #[inline]
6487 fn default() -> Self {
6488 Self {
6489 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
6490 next: ptr::null(),
6491 attributes: ptr::null(),
6492 dw_access: DWORD::default(),
6493 name: ptr::null_mut(),
6494 }
6495 }
6496}
6497
6498#[repr(C)]
6500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6501pub struct ExportMemoryWin32HandleInfoNV {
6502 pub s_type: StructureType,
6503 pub next: *const c_void,
6504 pub attributes: *const SECURITY_ATTRIBUTES,
6505 pub dw_access: DWORD,
6506}
6507
6508impl Default for ExportMemoryWin32HandleInfoNV {
6509 #[inline]
6510 fn default() -> Self {
6511 Self {
6512 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
6513 next: ptr::null(),
6514 attributes: ptr::null(),
6515 dw_access: DWORD::default(),
6516 }
6517 }
6518}
6519
6520#[repr(C)]
6522#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6523pub struct ExportMetalBufferInfoEXT {
6524 pub s_type: StructureType,
6525 pub next: *const c_void,
6526 pub memory: DeviceMemory,
6527 pub mtl_buffer: MTLBuffer_id,
6528}
6529
6530impl Default for ExportMetalBufferInfoEXT {
6531 #[inline]
6532 fn default() -> Self {
6533 Self {
6534 s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
6535 next: ptr::null(),
6536 memory: DeviceMemory::default(),
6537 mtl_buffer: ptr::null_mut(),
6538 }
6539 }
6540}
6541
6542#[repr(C)]
6544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6545pub struct ExportMetalCommandQueueInfoEXT {
6546 pub s_type: StructureType,
6547 pub next: *const c_void,
6548 pub queue: Queue,
6549 pub mtl_command_queue: MTLCommandQueue_id,
6550}
6551
6552impl Default for ExportMetalCommandQueueInfoEXT {
6553 #[inline]
6554 fn default() -> Self {
6555 Self {
6556 s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
6557 next: ptr::null(),
6558 queue: Queue::default(),
6559 mtl_command_queue: ptr::null_mut(),
6560 }
6561 }
6562}
6563
6564#[repr(C)]
6566#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6567pub struct ExportMetalDeviceInfoEXT {
6568 pub s_type: StructureType,
6569 pub next: *const c_void,
6570 pub mtl_device: MTLDevice_id,
6571}
6572
6573impl Default for ExportMetalDeviceInfoEXT {
6574 #[inline]
6575 fn default() -> Self {
6576 Self {
6577 s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
6578 next: ptr::null(),
6579 mtl_device: ptr::null_mut(),
6580 }
6581 }
6582}
6583
6584#[repr(C)]
6586#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6587pub struct ExportMetalIOSurfaceInfoEXT {
6588 pub s_type: StructureType,
6589 pub next: *const c_void,
6590 pub image: Image,
6591 pub io_surface: IOSurfaceRef,
6592}
6593
6594impl Default for ExportMetalIOSurfaceInfoEXT {
6595 #[inline]
6596 fn default() -> Self {
6597 Self {
6598 s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
6599 next: ptr::null(),
6600 image: Image::default(),
6601 io_surface: ptr::null_mut(),
6602 }
6603 }
6604}
6605
6606#[repr(C)]
6608#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6609pub struct ExportMetalObjectCreateInfoEXT {
6610 pub s_type: StructureType,
6611 pub next: *const c_void,
6612 pub export_object_type: ExportMetalObjectTypeFlagsEXT,
6613}
6614
6615impl Default for ExportMetalObjectCreateInfoEXT {
6616 #[inline]
6617 fn default() -> Self {
6618 Self {
6619 s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
6620 next: ptr::null(),
6621 export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
6622 }
6623 }
6624}
6625
6626#[repr(C)]
6628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6629pub struct ExportMetalObjectsInfoEXT {
6630 pub s_type: StructureType,
6631 pub next: *const c_void,
6632}
6633
6634impl Default for ExportMetalObjectsInfoEXT {
6635 #[inline]
6636 fn default() -> Self {
6637 Self {
6638 s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
6639 next: ptr::null(),
6640 }
6641 }
6642}
6643
6644#[repr(C)]
6646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6647pub struct ExportMetalSharedEventInfoEXT {
6648 pub s_type: StructureType,
6649 pub next: *const c_void,
6650 pub semaphore: Semaphore,
6651 pub event: Event,
6652 pub mtl_shared_event: MTLSharedEvent_id,
6653}
6654
6655impl Default for ExportMetalSharedEventInfoEXT {
6656 #[inline]
6657 fn default() -> Self {
6658 Self {
6659 s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
6660 next: ptr::null(),
6661 semaphore: Semaphore::default(),
6662 event: Event::default(),
6663 mtl_shared_event: ptr::null_mut(),
6664 }
6665 }
6666}
6667
6668#[repr(C)]
6670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6671pub struct ExportMetalTextureInfoEXT {
6672 pub s_type: StructureType,
6673 pub next: *const c_void,
6674 pub image: Image,
6675 pub image_view: ImageView,
6676 pub buffer_view: BufferView,
6677 pub plane: ImageAspectFlags,
6678 pub mtl_texture: MTLTexture_id,
6679}
6680
6681impl Default for ExportMetalTextureInfoEXT {
6682 #[inline]
6683 fn default() -> Self {
6684 Self {
6685 s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
6686 next: ptr::null(),
6687 image: Image::default(),
6688 image_view: ImageView::default(),
6689 buffer_view: BufferView::default(),
6690 plane: ImageAspectFlags::default(),
6691 mtl_texture: ptr::null_mut(),
6692 }
6693 }
6694}
6695
6696#[repr(C)]
6698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6699pub struct ExportSemaphoreCreateInfo {
6700 pub s_type: StructureType,
6701 pub next: *const c_void,
6702 pub handle_types: ExternalSemaphoreHandleTypeFlags,
6703}
6704
6705impl Default for ExportSemaphoreCreateInfo {
6706 #[inline]
6707 fn default() -> Self {
6708 Self {
6709 s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
6710 next: ptr::null(),
6711 handle_types: ExternalSemaphoreHandleTypeFlags::default(),
6712 }
6713 }
6714}
6715
6716#[repr(C)]
6718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6719pub struct ExportSemaphoreSciSyncInfoNV {
6720 pub s_type: StructureType,
6721 pub next: *const c_void,
6722 pub attributes: NvSciSyncAttrList,
6723}
6724
6725impl Default for ExportSemaphoreSciSyncInfoNV {
6726 #[inline]
6727 fn default() -> Self {
6728 Self {
6729 s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
6730 next: ptr::null(),
6731 attributes: ptr::null_mut(),
6732 }
6733 }
6734}
6735
6736#[repr(C)]
6738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6739pub struct ExportSemaphoreWin32HandleInfoKHR {
6740 pub s_type: StructureType,
6741 pub next: *const c_void,
6742 pub attributes: *const SECURITY_ATTRIBUTES,
6743 pub dw_access: DWORD,
6744 pub name: LPCWSTR,
6745}
6746
6747impl Default for ExportSemaphoreWin32HandleInfoKHR {
6748 #[inline]
6749 fn default() -> Self {
6750 Self {
6751 s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
6752 next: ptr::null(),
6753 attributes: ptr::null(),
6754 dw_access: DWORD::default(),
6755 name: ptr::null_mut(),
6756 }
6757 }
6758}
6759
6760#[repr(C)]
6762#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6763pub struct ExtensionProperties {
6764 pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
6765 pub spec_version: u32,
6766}
6767
6768#[repr(C)]
6770#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6771pub struct Extent2D {
6772 pub width: u32,
6773 pub height: u32,
6774}
6775
6776#[repr(C)]
6778#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6779pub struct Extent3D {
6780 pub width: u32,
6781 pub height: u32,
6782 pub depth: u32,
6783}
6784
6785#[repr(C)]
6787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6788pub struct ExternalBufferProperties {
6789 pub s_type: StructureType,
6790 pub next: *mut c_void,
6791 pub external_memory_properties: ExternalMemoryProperties,
6792}
6793
6794impl Default for ExternalBufferProperties {
6795 #[inline]
6796 fn default() -> Self {
6797 Self {
6798 s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
6799 next: ptr::null_mut(),
6800 external_memory_properties: ExternalMemoryProperties::default(),
6801 }
6802 }
6803}
6804
6805#[repr(C)]
6807#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6808pub struct ExternalComputeQueueCreateInfoNV {
6809 pub s_type: StructureType,
6810 pub next: *const c_void,
6811 pub preferred_queue: Queue,
6812}
6813
6814impl Default for ExternalComputeQueueCreateInfoNV {
6815 #[inline]
6816 fn default() -> Self {
6817 Self {
6818 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
6819 next: ptr::null(),
6820 preferred_queue: Queue::default(),
6821 }
6822 }
6823}
6824
6825#[repr(C)]
6827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6828pub struct ExternalComputeQueueDataParamsNV {
6829 pub s_type: StructureType,
6830 pub next: *const c_void,
6831 pub device_index: u32,
6832}
6833
6834impl Default for ExternalComputeQueueDataParamsNV {
6835 #[inline]
6836 fn default() -> Self {
6837 Self {
6838 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
6839 next: ptr::null(),
6840 device_index: u32::default(),
6841 }
6842 }
6843}
6844
6845#[repr(C)]
6847#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6848pub struct ExternalComputeQueueDeviceCreateInfoNV {
6849 pub s_type: StructureType,
6850 pub next: *const c_void,
6851 pub reserved_external_queues: u32,
6852}
6853
6854impl Default for ExternalComputeQueueDeviceCreateInfoNV {
6855 #[inline]
6856 fn default() -> Self {
6857 Self {
6858 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
6859 next: ptr::null(),
6860 reserved_external_queues: u32::default(),
6861 }
6862 }
6863}
6864
6865#[repr(C)]
6867#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6868pub struct ExternalFenceProperties {
6869 pub s_type: StructureType,
6870 pub next: *mut c_void,
6871 pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
6872 pub compatible_handle_types: ExternalFenceHandleTypeFlags,
6873 pub external_fence_features: ExternalFenceFeatureFlags,
6874}
6875
6876impl Default for ExternalFenceProperties {
6877 #[inline]
6878 fn default() -> Self {
6879 Self {
6880 s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
6881 next: ptr::null_mut(),
6882 export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
6883 compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
6884 external_fence_features: ExternalFenceFeatureFlags::default(),
6885 }
6886 }
6887}
6888
6889#[repr(C)]
6891#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6892pub struct ExternalFormatANDROID {
6893 pub s_type: StructureType,
6894 pub next: *mut c_void,
6895 pub external_format: u64,
6896}
6897
6898impl Default for ExternalFormatANDROID {
6899 #[inline]
6900 fn default() -> Self {
6901 Self {
6902 s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
6903 next: ptr::null_mut(),
6904 external_format: u64::default(),
6905 }
6906 }
6907}
6908
6909#[repr(C)]
6911#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6912pub struct ExternalFormatQNX {
6913 pub s_type: StructureType,
6914 pub next: *mut c_void,
6915 pub external_format: u64,
6916}
6917
6918impl Default for ExternalFormatQNX {
6919 #[inline]
6920 fn default() -> Self {
6921 Self {
6922 s_type: StructureType::EXTERNAL_FORMAT_QNX,
6923 next: ptr::null_mut(),
6924 external_format: u64::default(),
6925 }
6926 }
6927}
6928
6929#[repr(C)]
6931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6932pub struct ExternalImageFormatProperties {
6933 pub s_type: StructureType,
6934 pub next: *mut c_void,
6935 pub external_memory_properties: ExternalMemoryProperties,
6936}
6937
6938impl Default for ExternalImageFormatProperties {
6939 #[inline]
6940 fn default() -> Self {
6941 Self {
6942 s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
6943 next: ptr::null_mut(),
6944 external_memory_properties: ExternalMemoryProperties::default(),
6945 }
6946 }
6947}
6948
6949#[repr(C)]
6951#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6952pub struct ExternalImageFormatPropertiesNV {
6953 pub image_format_properties: ImageFormatProperties,
6954 pub external_memory_features: ExternalMemoryFeatureFlagsNV,
6955 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
6956 pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
6957}
6958
6959#[repr(C)]
6961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6962pub struct ExternalMemoryAcquireUnmodifiedEXT {
6963 pub s_type: StructureType,
6964 pub next: *const c_void,
6965 pub acquire_unmodified_memory: Bool32,
6966}
6967
6968impl Default for ExternalMemoryAcquireUnmodifiedEXT {
6969 #[inline]
6970 fn default() -> Self {
6971 Self {
6972 s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
6973 next: ptr::null(),
6974 acquire_unmodified_memory: Bool32::default(),
6975 }
6976 }
6977}
6978
6979#[repr(C)]
6981#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6982pub struct ExternalMemoryBufferCreateInfo {
6983 pub s_type: StructureType,
6984 pub next: *const c_void,
6985 pub handle_types: ExternalMemoryHandleTypeFlags,
6986}
6987
6988impl Default for ExternalMemoryBufferCreateInfo {
6989 #[inline]
6990 fn default() -> Self {
6991 Self {
6992 s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
6993 next: ptr::null(),
6994 handle_types: ExternalMemoryHandleTypeFlags::default(),
6995 }
6996 }
6997}
6998
6999#[repr(C)]
7001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7002pub struct ExternalMemoryImageCreateInfo {
7003 pub s_type: StructureType,
7004 pub next: *const c_void,
7005 pub handle_types: ExternalMemoryHandleTypeFlags,
7006}
7007
7008impl Default for ExternalMemoryImageCreateInfo {
7009 #[inline]
7010 fn default() -> Self {
7011 Self {
7012 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
7013 next: ptr::null(),
7014 handle_types: ExternalMemoryHandleTypeFlags::default(),
7015 }
7016 }
7017}
7018
7019#[repr(C)]
7021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7022pub struct ExternalMemoryImageCreateInfoNV {
7023 pub s_type: StructureType,
7024 pub next: *const c_void,
7025 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7026}
7027
7028impl Default for ExternalMemoryImageCreateInfoNV {
7029 #[inline]
7030 fn default() -> Self {
7031 Self {
7032 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
7033 next: ptr::null(),
7034 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7035 }
7036 }
7037}
7038
7039#[repr(C)]
7041#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7042pub struct ExternalMemoryProperties {
7043 pub external_memory_features: ExternalMemoryFeatureFlags,
7044 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
7045 pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
7046}
7047
7048#[repr(C)]
7050#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7051pub struct ExternalMemoryTensorCreateInfoARM {
7052 pub s_type: StructureType,
7053 pub next: *const c_void,
7054 pub handle_types: ExternalMemoryHandleTypeFlags,
7055}
7056
7057impl Default for ExternalMemoryTensorCreateInfoARM {
7058 #[inline]
7059 fn default() -> Self {
7060 Self {
7061 s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
7062 next: ptr::null(),
7063 handle_types: ExternalMemoryHandleTypeFlags::default(),
7064 }
7065 }
7066}
7067
7068#[repr(C)]
7070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7071pub struct ExternalSemaphoreProperties {
7072 pub s_type: StructureType,
7073 pub next: *mut c_void,
7074 pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
7075 pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
7076 pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
7077}
7078
7079impl Default for ExternalSemaphoreProperties {
7080 #[inline]
7081 fn default() -> Self {
7082 Self {
7083 s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
7084 next: ptr::null_mut(),
7085 export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7086 compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7087 external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
7088 }
7089 }
7090}
7091
7092#[repr(C)]
7094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7095pub struct ExternalTensorPropertiesARM {
7096 pub s_type: StructureType,
7097 pub next: *const c_void,
7098 pub external_memory_properties: ExternalMemoryProperties,
7099}
7100
7101impl Default for ExternalTensorPropertiesARM {
7102 #[inline]
7103 fn default() -> Self {
7104 Self {
7105 s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
7106 next: ptr::null(),
7107 external_memory_properties: ExternalMemoryProperties::default(),
7108 }
7109 }
7110}
7111
7112#[repr(C)]
7114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7115pub struct FenceCreateInfo {
7116 pub s_type: StructureType,
7117 pub next: *const c_void,
7118 pub flags: FenceCreateFlags,
7119}
7120
7121impl Default for FenceCreateInfo {
7122 #[inline]
7123 fn default() -> Self {
7124 Self {
7125 s_type: StructureType::FENCE_CREATE_INFO,
7126 next: ptr::null(),
7127 flags: FenceCreateFlags::default(),
7128 }
7129 }
7130}
7131
7132#[repr(C)]
7134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7135pub struct FenceGetFdInfoKHR {
7136 pub s_type: StructureType,
7137 pub next: *const c_void,
7138 pub fence: Fence,
7139 pub handle_type: ExternalFenceHandleTypeFlags,
7140}
7141
7142impl Default for FenceGetFdInfoKHR {
7143 #[inline]
7144 fn default() -> Self {
7145 Self {
7146 s_type: StructureType::FENCE_GET_FD_INFO_KHR,
7147 next: ptr::null(),
7148 fence: Fence::default(),
7149 handle_type: ExternalFenceHandleTypeFlags::default(),
7150 }
7151 }
7152}
7153
7154#[repr(C)]
7156#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7157pub struct FenceGetSciSyncInfoNV {
7158 pub s_type: StructureType,
7159 pub next: *const c_void,
7160 pub fence: Fence,
7161 pub handle_type: ExternalFenceHandleTypeFlags,
7162}
7163
7164impl Default for FenceGetSciSyncInfoNV {
7165 #[inline]
7166 fn default() -> Self {
7167 Self {
7168 s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
7169 next: ptr::null(),
7170 fence: Fence::default(),
7171 handle_type: ExternalFenceHandleTypeFlags::default(),
7172 }
7173 }
7174}
7175
7176#[repr(C)]
7178#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7179pub struct FenceGetWin32HandleInfoKHR {
7180 pub s_type: StructureType,
7181 pub next: *const c_void,
7182 pub fence: Fence,
7183 pub handle_type: ExternalFenceHandleTypeFlags,
7184}
7185
7186impl Default for FenceGetWin32HandleInfoKHR {
7187 #[inline]
7188 fn default() -> Self {
7189 Self {
7190 s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
7191 next: ptr::null(),
7192 fence: Fence::default(),
7193 handle_type: ExternalFenceHandleTypeFlags::default(),
7194 }
7195 }
7196}
7197
7198#[repr(C)]
7200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7201pub struct FilterCubicImageViewImageFormatPropertiesEXT {
7202 pub s_type: StructureType,
7203 pub next: *mut c_void,
7204 pub filter_cubic: Bool32,
7205 pub filter_cubic_minmax: Bool32,
7206}
7207
7208impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
7209 #[inline]
7210 fn default() -> Self {
7211 Self {
7212 s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
7213 next: ptr::null_mut(),
7214 filter_cubic: Bool32::default(),
7215 filter_cubic_minmax: Bool32::default(),
7216 }
7217 }
7218}
7219
7220#[repr(C)]
7222#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7223pub struct FormatProperties {
7224 pub linear_tiling_features: FormatFeatureFlags,
7225 pub optimal_tiling_features: FormatFeatureFlags,
7226 pub buffer_features: FormatFeatureFlags,
7227}
7228
7229#[repr(C)]
7231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7232pub struct FormatProperties2 {
7233 pub s_type: StructureType,
7234 pub next: *mut c_void,
7235 pub format_properties: FormatProperties,
7236}
7237
7238impl Default for FormatProperties2 {
7239 #[inline]
7240 fn default() -> Self {
7241 Self {
7242 s_type: StructureType::FORMAT_PROPERTIES_2,
7243 next: ptr::null_mut(),
7244 format_properties: FormatProperties::default(),
7245 }
7246 }
7247}
7248
7249#[repr(C)]
7251#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7252pub struct FormatProperties3 {
7253 pub s_type: StructureType,
7254 pub next: *mut c_void,
7255 pub linear_tiling_features: FormatFeatureFlags2,
7256 pub optimal_tiling_features: FormatFeatureFlags2,
7257 pub buffer_features: FormatFeatureFlags2,
7258}
7259
7260impl Default for FormatProperties3 {
7261 #[inline]
7262 fn default() -> Self {
7263 Self {
7264 s_type: StructureType::FORMAT_PROPERTIES_3,
7265 next: ptr::null_mut(),
7266 linear_tiling_features: FormatFeatureFlags2::default(),
7267 optimal_tiling_features: FormatFeatureFlags2::default(),
7268 buffer_features: FormatFeatureFlags2::default(),
7269 }
7270 }
7271}
7272
7273#[repr(C)]
7275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7276pub struct FragmentShadingRateAttachmentInfoKHR {
7277 pub s_type: StructureType,
7278 pub next: *const c_void,
7279 pub fragment_shading_rate_attachment: *const AttachmentReference2,
7280 pub shading_rate_attachment_texel_size: Extent2D,
7281}
7282
7283impl Default for FragmentShadingRateAttachmentInfoKHR {
7284 #[inline]
7285 fn default() -> Self {
7286 Self {
7287 s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
7288 next: ptr::null(),
7289 fragment_shading_rate_attachment: ptr::null(),
7290 shading_rate_attachment_texel_size: Extent2D::default(),
7291 }
7292 }
7293}
7294
7295#[repr(C)]
7297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7298pub struct FrameBoundaryEXT {
7299 pub s_type: StructureType,
7300 pub next: *const c_void,
7301 pub flags: FrameBoundaryFlagsEXT,
7302 pub frame_id: u64,
7303 pub image_count: u32,
7304 pub images: *const Image,
7305 pub buffer_count: u32,
7306 pub buffers: *const Buffer,
7307 pub tag_name: u64,
7308 pub tag_size: usize,
7309 pub tag: *const c_void,
7310}
7311
7312impl Default for FrameBoundaryEXT {
7313 #[inline]
7314 fn default() -> Self {
7315 Self {
7316 s_type: StructureType::FRAME_BOUNDARY_EXT,
7317 next: ptr::null(),
7318 flags: FrameBoundaryFlagsEXT::default(),
7319 frame_id: u64::default(),
7320 image_count: u32::default(),
7321 images: ptr::null(),
7322 buffer_count: u32::default(),
7323 buffers: ptr::null(),
7324 tag_name: u64::default(),
7325 tag_size: usize::default(),
7326 tag: ptr::null(),
7327 }
7328 }
7329}
7330
7331#[repr(C)]
7333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7334pub struct FrameBoundaryTensorsARM {
7335 pub s_type: StructureType,
7336 pub next: *const c_void,
7337 pub tensor_count: u32,
7338 pub tensors: *const TensorARM,
7339}
7340
7341impl Default for FrameBoundaryTensorsARM {
7342 #[inline]
7343 fn default() -> Self {
7344 Self {
7345 s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
7346 next: ptr::null(),
7347 tensor_count: u32::default(),
7348 tensors: ptr::null(),
7349 }
7350 }
7351}
7352
7353#[repr(C)]
7355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7356pub struct FramebufferAttachmentImageInfo {
7357 pub s_type: StructureType,
7358 pub next: *const c_void,
7359 pub flags: ImageCreateFlags,
7360 pub usage: ImageUsageFlags,
7361 pub width: u32,
7362 pub height: u32,
7363 pub layer_count: u32,
7364 pub view_format_count: u32,
7365 pub view_formats: *const Format,
7366}
7367
7368impl Default for FramebufferAttachmentImageInfo {
7369 #[inline]
7370 fn default() -> Self {
7371 Self {
7372 s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
7373 next: ptr::null(),
7374 flags: ImageCreateFlags::default(),
7375 usage: ImageUsageFlags::default(),
7376 width: u32::default(),
7377 height: u32::default(),
7378 layer_count: u32::default(),
7379 view_format_count: u32::default(),
7380 view_formats: ptr::null(),
7381 }
7382 }
7383}
7384
7385#[repr(C)]
7387#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7388pub struct FramebufferAttachmentsCreateInfo {
7389 pub s_type: StructureType,
7390 pub next: *const c_void,
7391 pub attachment_image_info_count: u32,
7392 pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
7393}
7394
7395impl Default for FramebufferAttachmentsCreateInfo {
7396 #[inline]
7397 fn default() -> Self {
7398 Self {
7399 s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
7400 next: ptr::null(),
7401 attachment_image_info_count: u32::default(),
7402 attachment_image_infos: ptr::null(),
7403 }
7404 }
7405}
7406
7407#[repr(C)]
7409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7410pub struct FramebufferCreateInfo {
7411 pub s_type: StructureType,
7412 pub next: *const c_void,
7413 pub flags: FramebufferCreateFlags,
7414 pub render_pass: RenderPass,
7415 pub attachment_count: u32,
7416 pub attachments: *const ImageView,
7417 pub width: u32,
7418 pub height: u32,
7419 pub layers: u32,
7420}
7421
7422impl Default for FramebufferCreateInfo {
7423 #[inline]
7424 fn default() -> Self {
7425 Self {
7426 s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
7427 next: ptr::null(),
7428 flags: FramebufferCreateFlags::default(),
7429 render_pass: RenderPass::default(),
7430 attachment_count: u32::default(),
7431 attachments: ptr::null(),
7432 width: u32::default(),
7433 height: u32::default(),
7434 layers: u32::default(),
7435 }
7436 }
7437}
7438
7439#[repr(C)]
7441#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7442pub struct FramebufferMixedSamplesCombinationNV {
7443 pub s_type: StructureType,
7444 pub next: *mut c_void,
7445 pub coverage_reduction_mode: CoverageReductionModeNV,
7446 pub rasterization_samples: SampleCountFlags,
7447 pub depth_stencil_samples: SampleCountFlags,
7448 pub color_samples: SampleCountFlags,
7449}
7450
7451impl Default for FramebufferMixedSamplesCombinationNV {
7452 #[inline]
7453 fn default() -> Self {
7454 Self {
7455 s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
7456 next: ptr::null_mut(),
7457 coverage_reduction_mode: CoverageReductionModeNV::default(),
7458 rasterization_samples: SampleCountFlags::default(),
7459 depth_stencil_samples: SampleCountFlags::default(),
7460 color_samples: SampleCountFlags::default(),
7461 }
7462 }
7463}
7464
7465#[repr(C)]
7467#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7468pub struct GeneratedCommandsInfoEXT {
7469 pub s_type: StructureType,
7470 pub next: *const c_void,
7471 pub shader_stages: ShaderStageFlags,
7472 pub indirect_execution_set: IndirectExecutionSetEXT,
7473 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
7474 pub indirect_address: DeviceAddress,
7475 pub indirect_address_size: DeviceSize,
7476 pub preprocess_address: DeviceAddress,
7477 pub preprocess_size: DeviceSize,
7478 pub max_sequence_count: u32,
7479 pub sequence_count_address: DeviceAddress,
7480 pub max_draw_count: u32,
7481}
7482
7483impl Default for GeneratedCommandsInfoEXT {
7484 #[inline]
7485 fn default() -> Self {
7486 Self {
7487 s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
7488 next: ptr::null(),
7489 shader_stages: ShaderStageFlags::default(),
7490 indirect_execution_set: IndirectExecutionSetEXT::default(),
7491 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
7492 indirect_address: DeviceAddress::default(),
7493 indirect_address_size: DeviceSize::default(),
7494 preprocess_address: DeviceAddress::default(),
7495 preprocess_size: DeviceSize::default(),
7496 max_sequence_count: u32::default(),
7497 sequence_count_address: DeviceAddress::default(),
7498 max_draw_count: u32::default(),
7499 }
7500 }
7501}
7502
7503#[repr(C)]
7505#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7506pub struct GeneratedCommandsInfoNV {
7507 pub s_type: StructureType,
7508 pub next: *const c_void,
7509 pub pipeline_bind_point: PipelineBindPoint,
7510 pub pipeline: Pipeline,
7511 pub indirect_commands_layout: IndirectCommandsLayoutNV,
7512 pub stream_count: u32,
7513 pub streams: *const IndirectCommandsStreamNV,
7514 pub sequences_count: u32,
7515 pub preprocess_buffer: Buffer,
7516 pub preprocess_offset: DeviceSize,
7517 pub preprocess_size: DeviceSize,
7518 pub sequences_count_buffer: Buffer,
7519 pub sequences_count_offset: DeviceSize,
7520 pub sequences_index_buffer: Buffer,
7521 pub sequences_index_offset: DeviceSize,
7522}
7523
7524impl Default for GeneratedCommandsInfoNV {
7525 #[inline]
7526 fn default() -> Self {
7527 Self {
7528 s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
7529 next: ptr::null(),
7530 pipeline_bind_point: PipelineBindPoint::default(),
7531 pipeline: Pipeline::default(),
7532 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
7533 stream_count: u32::default(),
7534 streams: ptr::null(),
7535 sequences_count: u32::default(),
7536 preprocess_buffer: Buffer::default(),
7537 preprocess_offset: DeviceSize::default(),
7538 preprocess_size: DeviceSize::default(),
7539 sequences_count_buffer: Buffer::default(),
7540 sequences_count_offset: DeviceSize::default(),
7541 sequences_index_buffer: Buffer::default(),
7542 sequences_index_offset: DeviceSize::default(),
7543 }
7544 }
7545}
7546
7547#[repr(C)]
7549#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7550pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
7551 pub s_type: StructureType,
7552 pub next: *const c_void,
7553 pub indirect_execution_set: IndirectExecutionSetEXT,
7554 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
7555 pub max_sequence_count: u32,
7556 pub max_draw_count: u32,
7557}
7558
7559impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
7560 #[inline]
7561 fn default() -> Self {
7562 Self {
7563 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
7564 next: ptr::null(),
7565 indirect_execution_set: IndirectExecutionSetEXT::default(),
7566 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
7567 max_sequence_count: u32::default(),
7568 max_draw_count: u32::default(),
7569 }
7570 }
7571}
7572
7573#[repr(C)]
7575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7576pub struct GeneratedCommandsMemoryRequirementsInfoNV {
7577 pub s_type: StructureType,
7578 pub next: *const c_void,
7579 pub pipeline_bind_point: PipelineBindPoint,
7580 pub pipeline: Pipeline,
7581 pub indirect_commands_layout: IndirectCommandsLayoutNV,
7582 pub max_sequences_count: u32,
7583}
7584
7585impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
7586 #[inline]
7587 fn default() -> Self {
7588 Self {
7589 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
7590 next: ptr::null(),
7591 pipeline_bind_point: PipelineBindPoint::default(),
7592 pipeline: Pipeline::default(),
7593 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
7594 max_sequences_count: u32::default(),
7595 }
7596 }
7597}
7598
7599#[repr(C)]
7601#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7602pub struct GeneratedCommandsPipelineInfoEXT {
7603 pub s_type: StructureType,
7604 pub next: *mut c_void,
7605 pub pipeline: Pipeline,
7606}
7607
7608impl Default for GeneratedCommandsPipelineInfoEXT {
7609 #[inline]
7610 fn default() -> Self {
7611 Self {
7612 s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
7613 next: ptr::null_mut(),
7614 pipeline: Pipeline::default(),
7615 }
7616 }
7617}
7618
7619#[repr(C)]
7621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7622pub struct GeneratedCommandsShaderInfoEXT {
7623 pub s_type: StructureType,
7624 pub next: *mut c_void,
7625 pub shader_count: u32,
7626 pub shaders: *const ShaderEXT,
7627}
7628
7629impl Default for GeneratedCommandsShaderInfoEXT {
7630 #[inline]
7631 fn default() -> Self {
7632 Self {
7633 s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
7634 next: ptr::null_mut(),
7635 shader_count: u32::default(),
7636 shaders: ptr::null(),
7637 }
7638 }
7639}
7640
7641#[repr(C)]
7643#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7644pub struct GeometryAABBNV {
7645 pub s_type: StructureType,
7646 pub next: *const c_void,
7647 pub aabb_data: Buffer,
7648 pub num_aab_bs: u32,
7649 pub stride: u32,
7650 pub offset: DeviceSize,
7651}
7652
7653impl Default for GeometryAABBNV {
7654 #[inline]
7655 fn default() -> Self {
7656 Self {
7657 s_type: StructureType::GEOMETRY_AABB_NV,
7658 next: ptr::null(),
7659 aabb_data: Buffer::default(),
7660 num_aab_bs: u32::default(),
7661 stride: u32::default(),
7662 offset: DeviceSize::default(),
7663 }
7664 }
7665}
7666
7667#[repr(C)]
7669#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7670pub struct GeometryDataNV {
7671 pub triangles: GeometryTrianglesNV,
7672 pub aabbs: GeometryAABBNV,
7673}
7674
7675#[repr(C)]
7677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7678pub struct GeometryNV {
7679 pub s_type: StructureType,
7680 pub next: *const c_void,
7681 pub geometry_type: GeometryTypeKHR,
7682 pub geometry: GeometryDataNV,
7683 pub flags: GeometryFlagsKHR,
7684}
7685
7686impl Default for GeometryNV {
7687 #[inline]
7688 fn default() -> Self {
7689 Self {
7690 s_type: StructureType::GEOMETRY_NV,
7691 next: ptr::null(),
7692 geometry_type: GeometryTypeKHR::default(),
7693 geometry: GeometryDataNV::default(),
7694 flags: GeometryFlagsKHR::default(),
7695 }
7696 }
7697}
7698
7699#[repr(C)]
7701#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7702pub struct GeometryTrianglesNV {
7703 pub s_type: StructureType,
7704 pub next: *const c_void,
7705 pub vertex_data: Buffer,
7706 pub vertex_offset: DeviceSize,
7707 pub vertex_count: u32,
7708 pub vertex_stride: DeviceSize,
7709 pub vertex_format: Format,
7710 pub index_data: Buffer,
7711 pub index_offset: DeviceSize,
7712 pub index_count: u32,
7713 pub index_type: IndexType,
7714 pub transform_data: Buffer,
7715 pub transform_offset: DeviceSize,
7716}
7717
7718impl Default for GeometryTrianglesNV {
7719 #[inline]
7720 fn default() -> Self {
7721 Self {
7722 s_type: StructureType::GEOMETRY_TRIANGLES_NV,
7723 next: ptr::null(),
7724 vertex_data: Buffer::default(),
7725 vertex_offset: DeviceSize::default(),
7726 vertex_count: u32::default(),
7727 vertex_stride: DeviceSize::default(),
7728 vertex_format: Format::default(),
7729 index_data: Buffer::default(),
7730 index_offset: DeviceSize::default(),
7731 index_count: u32::default(),
7732 index_type: IndexType::default(),
7733 transform_data: Buffer::default(),
7734 transform_offset: DeviceSize::default(),
7735 }
7736 }
7737}
7738
7739#[repr(C)]
7741#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7742pub struct GetLatencyMarkerInfoNV {
7743 pub s_type: StructureType,
7744 pub next: *const c_void,
7745 pub timing_count: u32,
7746 pub timings: *mut LatencyTimingsFrameReportNV,
7747}
7748
7749impl Default for GetLatencyMarkerInfoNV {
7750 #[inline]
7751 fn default() -> Self {
7752 Self {
7753 s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
7754 next: ptr::null(),
7755 timing_count: u32::default(),
7756 timings: ptr::null_mut(),
7757 }
7758 }
7759}
7760
7761#[repr(C)]
7763#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7764pub struct GraphicsPipelineCreateInfo {
7765 pub s_type: StructureType,
7766 pub next: *const c_void,
7767 pub flags: PipelineCreateFlags,
7768 pub stage_count: u32,
7769 pub stages: *const PipelineShaderStageCreateInfo,
7770 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
7771 pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
7772 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
7773 pub viewport_state: *const PipelineViewportStateCreateInfo,
7774 pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
7775 pub multisample_state: *const PipelineMultisampleStateCreateInfo,
7776 pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
7777 pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
7778 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
7779 pub layout: PipelineLayout,
7780 pub render_pass: RenderPass,
7781 pub subpass: u32,
7782 pub base_pipeline_handle: Pipeline,
7783 pub base_pipeline_index: i32,
7784}
7785
7786impl Default for GraphicsPipelineCreateInfo {
7787 #[inline]
7788 fn default() -> Self {
7789 Self {
7790 s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
7791 next: ptr::null(),
7792 flags: PipelineCreateFlags::default(),
7793 stage_count: u32::default(),
7794 stages: ptr::null(),
7795 vertex_input_state: ptr::null(),
7796 input_assembly_state: ptr::null(),
7797 tessellation_state: ptr::null(),
7798 viewport_state: ptr::null(),
7799 rasterization_state: ptr::null(),
7800 multisample_state: ptr::null(),
7801 depth_stencil_state: ptr::null(),
7802 color_blend_state: ptr::null(),
7803 dynamic_state: ptr::null(),
7804 layout: PipelineLayout::default(),
7805 render_pass: RenderPass::default(),
7806 subpass: u32::default(),
7807 base_pipeline_handle: Pipeline::default(),
7808 base_pipeline_index: i32::default(),
7809 }
7810 }
7811}
7812
7813#[repr(C)]
7815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7816pub struct GraphicsPipelineLibraryCreateInfoEXT {
7817 pub s_type: StructureType,
7818 pub next: *const c_void,
7819 pub flags: GraphicsPipelineLibraryFlagsEXT,
7820}
7821
7822impl Default for GraphicsPipelineLibraryCreateInfoEXT {
7823 #[inline]
7824 fn default() -> Self {
7825 Self {
7826 s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
7827 next: ptr::null(),
7828 flags: GraphicsPipelineLibraryFlagsEXT::default(),
7829 }
7830 }
7831}
7832
7833#[repr(C)]
7835#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7836pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
7837 pub s_type: StructureType,
7838 pub next: *const c_void,
7839 pub group_count: u32,
7840 pub groups: *const GraphicsShaderGroupCreateInfoNV,
7841 pub pipeline_count: u32,
7842 pub pipelines: *const Pipeline,
7843}
7844
7845impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
7846 #[inline]
7847 fn default() -> Self {
7848 Self {
7849 s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
7850 next: ptr::null(),
7851 group_count: u32::default(),
7852 groups: ptr::null(),
7853 pipeline_count: u32::default(),
7854 pipelines: ptr::null(),
7855 }
7856 }
7857}
7858
7859#[repr(C)]
7861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7862pub struct GraphicsShaderGroupCreateInfoNV {
7863 pub s_type: StructureType,
7864 pub next: *const c_void,
7865 pub stage_count: u32,
7866 pub stages: *const PipelineShaderStageCreateInfo,
7867 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
7868 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
7869}
7870
7871impl Default for GraphicsShaderGroupCreateInfoNV {
7872 #[inline]
7873 fn default() -> Self {
7874 Self {
7875 s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
7876 next: ptr::null(),
7877 stage_count: u32::default(),
7878 stages: ptr::null(),
7879 vertex_input_state: ptr::null(),
7880 tessellation_state: ptr::null(),
7881 }
7882 }
7883}
7884
7885#[repr(C)]
7887#[derive(Copy, Clone, Debug, PartialEq)]
7888pub struct HdrMetadataEXT {
7889 pub s_type: StructureType,
7890 pub next: *const c_void,
7891 pub display_primary_red: XYColorEXT,
7892 pub display_primary_green: XYColorEXT,
7893 pub display_primary_blue: XYColorEXT,
7894 pub white_point: XYColorEXT,
7895 pub max_luminance: f32,
7896 pub min_luminance: f32,
7897 pub max_content_light_level: f32,
7898 pub max_frame_average_light_level: f32,
7899}
7900
7901impl Default for HdrMetadataEXT {
7902 #[inline]
7903 fn default() -> Self {
7904 Self {
7905 s_type: StructureType::HDR_METADATA_EXT,
7906 next: ptr::null(),
7907 display_primary_red: XYColorEXT::default(),
7908 display_primary_green: XYColorEXT::default(),
7909 display_primary_blue: XYColorEXT::default(),
7910 white_point: XYColorEXT::default(),
7911 max_luminance: f32::default(),
7912 min_luminance: f32::default(),
7913 max_content_light_level: f32::default(),
7914 max_frame_average_light_level: f32::default(),
7915 }
7916 }
7917}
7918
7919#[repr(C)]
7921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7922pub struct HdrVividDynamicMetadataHUAWEI {
7923 pub s_type: StructureType,
7924 pub next: *const c_void,
7925 pub dynamic_metadata_size: usize,
7926 pub dynamic_metadata: *const c_void,
7927}
7928
7929impl Default for HdrVividDynamicMetadataHUAWEI {
7930 #[inline]
7931 fn default() -> Self {
7932 Self {
7933 s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
7934 next: ptr::null(),
7935 dynamic_metadata_size: usize::default(),
7936 dynamic_metadata: ptr::null(),
7937 }
7938 }
7939}
7940
7941#[repr(C)]
7943#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7944pub struct HeadlessSurfaceCreateInfoEXT {
7945 pub s_type: StructureType,
7946 pub next: *const c_void,
7947 pub flags: HeadlessSurfaceCreateFlagsEXT,
7948}
7949
7950impl Default for HeadlessSurfaceCreateInfoEXT {
7951 #[inline]
7952 fn default() -> Self {
7953 Self {
7954 s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
7955 next: ptr::null(),
7956 flags: HeadlessSurfaceCreateFlagsEXT::default(),
7957 }
7958 }
7959}
7960
7961#[repr(C)]
7963#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7964pub struct HostImageCopyDevicePerformanceQuery {
7965 pub s_type: StructureType,
7966 pub next: *mut c_void,
7967 pub optimal_device_access: Bool32,
7968 pub identical_memory_layout: Bool32,
7969}
7970
7971impl Default for HostImageCopyDevicePerformanceQuery {
7972 #[inline]
7973 fn default() -> Self {
7974 Self {
7975 s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
7976 next: ptr::null_mut(),
7977 optimal_device_access: Bool32::default(),
7978 identical_memory_layout: Bool32::default(),
7979 }
7980 }
7981}
7982
7983#[repr(C)]
7985#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7986pub struct HostImageLayoutTransitionInfo {
7987 pub s_type: StructureType,
7988 pub next: *const c_void,
7989 pub image: Image,
7990 pub old_layout: ImageLayout,
7991 pub new_layout: ImageLayout,
7992 pub subresource_range: ImageSubresourceRange,
7993}
7994
7995impl Default for HostImageLayoutTransitionInfo {
7996 #[inline]
7997 fn default() -> Self {
7998 Self {
7999 s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
8000 next: ptr::null(),
8001 image: Image::default(),
8002 old_layout: ImageLayout::default(),
8003 new_layout: ImageLayout::default(),
8004 subresource_range: ImageSubresourceRange::default(),
8005 }
8006 }
8007}
8008
8009#[repr(C)]
8011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8012pub struct IOSSurfaceCreateInfoMVK {
8013 pub s_type: StructureType,
8014 pub next: *const c_void,
8015 pub flags: IOSSurfaceCreateFlagsMVK,
8016 pub view: *const c_void,
8017}
8018
8019impl Default for IOSSurfaceCreateInfoMVK {
8020 #[inline]
8021 fn default() -> Self {
8022 Self {
8023 s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
8024 next: ptr::null(),
8025 flags: IOSSurfaceCreateFlagsMVK::default(),
8026 view: ptr::null(),
8027 }
8028 }
8029}
8030
8031#[repr(C)]
8033#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8034pub struct ImageAlignmentControlCreateInfoMESA {
8035 pub s_type: StructureType,
8036 pub next: *const c_void,
8037 pub maximum_requested_alignment: u32,
8038}
8039
8040impl Default for ImageAlignmentControlCreateInfoMESA {
8041 #[inline]
8042 fn default() -> Self {
8043 Self {
8044 s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
8045 next: ptr::null(),
8046 maximum_requested_alignment: u32::default(),
8047 }
8048 }
8049}
8050
8051#[repr(C)]
8053#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8054pub struct ImageBlit {
8055 pub src_subresource: ImageSubresourceLayers,
8056 pub src_offsets: [Offset3D; 2],
8057 pub dst_subresource: ImageSubresourceLayers,
8058 pub dst_offsets: [Offset3D; 2],
8059}
8060
8061#[repr(C)]
8063#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8064pub struct ImageBlit2 {
8065 pub s_type: StructureType,
8066 pub next: *const c_void,
8067 pub src_subresource: ImageSubresourceLayers,
8068 pub src_offsets: [Offset3D; 2],
8069 pub dst_subresource: ImageSubresourceLayers,
8070 pub dst_offsets: [Offset3D; 2],
8071}
8072
8073impl Default for ImageBlit2 {
8074 #[inline]
8075 fn default() -> Self {
8076 Self {
8077 s_type: StructureType::IMAGE_BLIT_2,
8078 next: ptr::null(),
8079 src_subresource: ImageSubresourceLayers::default(),
8080 src_offsets: [Offset3D::default(); 2],
8081 dst_subresource: ImageSubresourceLayers::default(),
8082 dst_offsets: [Offset3D::default(); 2],
8083 }
8084 }
8085}
8086
8087#[repr(C)]
8089#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8090pub struct ImageCaptureDescriptorDataInfoEXT {
8091 pub s_type: StructureType,
8092 pub next: *const c_void,
8093 pub image: Image,
8094}
8095
8096impl Default for ImageCaptureDescriptorDataInfoEXT {
8097 #[inline]
8098 fn default() -> Self {
8099 Self {
8100 s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
8101 next: ptr::null(),
8102 image: Image::default(),
8103 }
8104 }
8105}
8106
8107#[repr(C)]
8109#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8110pub struct ImageCompressionControlEXT {
8111 pub s_type: StructureType,
8112 pub next: *const c_void,
8113 pub flags: ImageCompressionFlagsEXT,
8114 pub compression_control_plane_count: u32,
8115 pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
8116}
8117
8118impl Default for ImageCompressionControlEXT {
8119 #[inline]
8120 fn default() -> Self {
8121 Self {
8122 s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
8123 next: ptr::null(),
8124 flags: ImageCompressionFlagsEXT::default(),
8125 compression_control_plane_count: u32::default(),
8126 fixed_rate_flags: ptr::null_mut(),
8127 }
8128 }
8129}
8130
8131#[repr(C)]
8133#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8134pub struct ImageCompressionPropertiesEXT {
8135 pub s_type: StructureType,
8136 pub next: *mut c_void,
8137 pub image_compression_flags: ImageCompressionFlagsEXT,
8138 pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
8139}
8140
8141impl Default for ImageCompressionPropertiesEXT {
8142 #[inline]
8143 fn default() -> Self {
8144 Self {
8145 s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
8146 next: ptr::null_mut(),
8147 image_compression_flags: ImageCompressionFlagsEXT::default(),
8148 image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
8149 }
8150 }
8151}
8152
8153#[repr(C)]
8155#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8156pub struct ImageConstraintsInfoFUCHSIA {
8157 pub s_type: StructureType,
8158 pub next: *const c_void,
8159 pub format_constraints_count: u32,
8160 pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
8161 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
8162 pub flags: ImageConstraintsInfoFlagsFUCHSIA,
8163}
8164
8165impl Default for ImageConstraintsInfoFUCHSIA {
8166 #[inline]
8167 fn default() -> Self {
8168 Self {
8169 s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
8170 next: ptr::null(),
8171 format_constraints_count: u32::default(),
8172 format_constraints: ptr::null(),
8173 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
8174 flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
8175 }
8176 }
8177}
8178
8179#[repr(C)]
8181#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8182pub struct ImageCopy {
8183 pub src_subresource: ImageSubresourceLayers,
8184 pub src_offset: Offset3D,
8185 pub dst_subresource: ImageSubresourceLayers,
8186 pub dst_offset: Offset3D,
8187 pub extent: Extent3D,
8188}
8189
8190#[repr(C)]
8192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8193pub struct ImageCopy2 {
8194 pub s_type: StructureType,
8195 pub next: *const c_void,
8196 pub src_subresource: ImageSubresourceLayers,
8197 pub src_offset: Offset3D,
8198 pub dst_subresource: ImageSubresourceLayers,
8199 pub dst_offset: Offset3D,
8200 pub extent: Extent3D,
8201}
8202
8203impl Default for ImageCopy2 {
8204 #[inline]
8205 fn default() -> Self {
8206 Self {
8207 s_type: StructureType::IMAGE_COPY_2,
8208 next: ptr::null(),
8209 src_subresource: ImageSubresourceLayers::default(),
8210 src_offset: Offset3D::default(),
8211 dst_subresource: ImageSubresourceLayers::default(),
8212 dst_offset: Offset3D::default(),
8213 extent: Extent3D::default(),
8214 }
8215 }
8216}
8217
8218#[repr(C)]
8220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8221pub struct ImageCreateInfo {
8222 pub s_type: StructureType,
8223 pub next: *const c_void,
8224 pub flags: ImageCreateFlags,
8225 pub image_type: ImageType,
8226 pub format: Format,
8227 pub extent: Extent3D,
8228 pub mip_levels: u32,
8229 pub array_layers: u32,
8230 pub samples: SampleCountFlags,
8231 pub tiling: ImageTiling,
8232 pub usage: ImageUsageFlags,
8233 pub sharing_mode: SharingMode,
8234 pub queue_family_index_count: u32,
8235 pub queue_family_indices: *const u32,
8236 pub initial_layout: ImageLayout,
8237}
8238
8239impl Default for ImageCreateInfo {
8240 #[inline]
8241 fn default() -> Self {
8242 Self {
8243 s_type: StructureType::IMAGE_CREATE_INFO,
8244 next: ptr::null(),
8245 flags: ImageCreateFlags::default(),
8246 image_type: ImageType::default(),
8247 format: Format::default(),
8248 extent: Extent3D::default(),
8249 mip_levels: u32::default(),
8250 array_layers: u32::default(),
8251 samples: SampleCountFlags::default(),
8252 tiling: ImageTiling::default(),
8253 usage: ImageUsageFlags::default(),
8254 sharing_mode: SharingMode::default(),
8255 queue_family_index_count: u32::default(),
8256 queue_family_indices: ptr::null(),
8257 initial_layout: ImageLayout::default(),
8258 }
8259 }
8260}
8261
8262#[repr(C)]
8264#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8265pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
8266 pub s_type: StructureType,
8267 pub next: *const c_void,
8268 pub drm_format_modifier: u64,
8269 pub drm_format_modifier_plane_count: u32,
8270 pub plane_layouts: *const SubresourceLayout,
8271}
8272
8273impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
8274 #[inline]
8275 fn default() -> Self {
8276 Self {
8277 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
8278 next: ptr::null(),
8279 drm_format_modifier: u64::default(),
8280 drm_format_modifier_plane_count: u32::default(),
8281 plane_layouts: ptr::null(),
8282 }
8283 }
8284}
8285
8286#[repr(C)]
8288#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8289pub struct ImageDrmFormatModifierListCreateInfoEXT {
8290 pub s_type: StructureType,
8291 pub next: *const c_void,
8292 pub drm_format_modifier_count: u32,
8293 pub drm_format_modifiers: *const u64,
8294}
8295
8296impl Default for ImageDrmFormatModifierListCreateInfoEXT {
8297 #[inline]
8298 fn default() -> Self {
8299 Self {
8300 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
8301 next: ptr::null(),
8302 drm_format_modifier_count: u32::default(),
8303 drm_format_modifiers: ptr::null(),
8304 }
8305 }
8306}
8307
8308#[repr(C)]
8310#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8311pub struct ImageDrmFormatModifierPropertiesEXT {
8312 pub s_type: StructureType,
8313 pub next: *mut c_void,
8314 pub drm_format_modifier: u64,
8315}
8316
8317impl Default for ImageDrmFormatModifierPropertiesEXT {
8318 #[inline]
8319 fn default() -> Self {
8320 Self {
8321 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
8322 next: ptr::null_mut(),
8323 drm_format_modifier: u64::default(),
8324 }
8325 }
8326}
8327
8328#[repr(C)]
8330#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8331pub struct ImageFormatConstraintsInfoFUCHSIA {
8332 pub s_type: StructureType,
8333 pub next: *const c_void,
8334 pub image_create_info: ImageCreateInfo,
8335 pub required_format_features: FormatFeatureFlags,
8336 pub flags: ImageFormatConstraintsFlagsFUCHSIA,
8337 pub sysmem_pixel_format: u64,
8338 pub color_space_count: u32,
8339 pub color_spaces: *const SysmemColorSpaceFUCHSIA,
8340}
8341
8342impl Default for ImageFormatConstraintsInfoFUCHSIA {
8343 #[inline]
8344 fn default() -> Self {
8345 Self {
8346 s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
8347 next: ptr::null(),
8348 image_create_info: ImageCreateInfo::default(),
8349 required_format_features: FormatFeatureFlags::default(),
8350 flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
8351 sysmem_pixel_format: u64::default(),
8352 color_space_count: u32::default(),
8353 color_spaces: ptr::null(),
8354 }
8355 }
8356}
8357
8358#[repr(C)]
8360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8361pub struct ImageFormatListCreateInfo {
8362 pub s_type: StructureType,
8363 pub next: *const c_void,
8364 pub view_format_count: u32,
8365 pub view_formats: *const Format,
8366}
8367
8368impl Default for ImageFormatListCreateInfo {
8369 #[inline]
8370 fn default() -> Self {
8371 Self {
8372 s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
8373 next: ptr::null(),
8374 view_format_count: u32::default(),
8375 view_formats: ptr::null(),
8376 }
8377 }
8378}
8379
8380#[repr(C)]
8382#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8383pub struct ImageFormatProperties {
8384 pub max_extent: Extent3D,
8385 pub max_mip_levels: u32,
8386 pub max_array_layers: u32,
8387 pub sample_counts: SampleCountFlags,
8388 pub max_resource_size: DeviceSize,
8389}
8390
8391#[repr(C)]
8393#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8394pub struct ImageFormatProperties2 {
8395 pub s_type: StructureType,
8396 pub next: *mut c_void,
8397 pub image_format_properties: ImageFormatProperties,
8398}
8399
8400impl Default for ImageFormatProperties2 {
8401 #[inline]
8402 fn default() -> Self {
8403 Self {
8404 s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
8405 next: ptr::null_mut(),
8406 image_format_properties: ImageFormatProperties::default(),
8407 }
8408 }
8409}
8410
8411#[repr(C)]
8413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8414pub struct ImageMemoryBarrier {
8415 pub s_type: StructureType,
8416 pub next: *const c_void,
8417 pub src_access_mask: AccessFlags,
8418 pub dst_access_mask: AccessFlags,
8419 pub old_layout: ImageLayout,
8420 pub new_layout: ImageLayout,
8421 pub src_queue_family_index: u32,
8422 pub dst_queue_family_index: u32,
8423 pub image: Image,
8424 pub subresource_range: ImageSubresourceRange,
8425}
8426
8427impl Default for ImageMemoryBarrier {
8428 #[inline]
8429 fn default() -> Self {
8430 Self {
8431 s_type: StructureType::IMAGE_MEMORY_BARRIER,
8432 next: ptr::null(),
8433 src_access_mask: AccessFlags::default(),
8434 dst_access_mask: AccessFlags::default(),
8435 old_layout: ImageLayout::default(),
8436 new_layout: ImageLayout::default(),
8437 src_queue_family_index: u32::default(),
8438 dst_queue_family_index: u32::default(),
8439 image: Image::default(),
8440 subresource_range: ImageSubresourceRange::default(),
8441 }
8442 }
8443}
8444
8445#[repr(C)]
8447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8448pub struct ImageMemoryBarrier2 {
8449 pub s_type: StructureType,
8450 pub next: *const c_void,
8451 pub src_stage_mask: PipelineStageFlags2,
8452 pub src_access_mask: AccessFlags2,
8453 pub dst_stage_mask: PipelineStageFlags2,
8454 pub dst_access_mask: AccessFlags2,
8455 pub old_layout: ImageLayout,
8456 pub new_layout: ImageLayout,
8457 pub src_queue_family_index: u32,
8458 pub dst_queue_family_index: u32,
8459 pub image: Image,
8460 pub subresource_range: ImageSubresourceRange,
8461}
8462
8463impl Default for ImageMemoryBarrier2 {
8464 #[inline]
8465 fn default() -> Self {
8466 Self {
8467 s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
8468 next: ptr::null(),
8469 src_stage_mask: PipelineStageFlags2::default(),
8470 src_access_mask: AccessFlags2::default(),
8471 dst_stage_mask: PipelineStageFlags2::default(),
8472 dst_access_mask: AccessFlags2::default(),
8473 old_layout: ImageLayout::default(),
8474 new_layout: ImageLayout::default(),
8475 src_queue_family_index: u32::default(),
8476 dst_queue_family_index: u32::default(),
8477 image: Image::default(),
8478 subresource_range: ImageSubresourceRange::default(),
8479 }
8480 }
8481}
8482
8483#[repr(C)]
8485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8486pub struct ImageMemoryRequirementsInfo2 {
8487 pub s_type: StructureType,
8488 pub next: *const c_void,
8489 pub image: Image,
8490}
8491
8492impl Default for ImageMemoryRequirementsInfo2 {
8493 #[inline]
8494 fn default() -> Self {
8495 Self {
8496 s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
8497 next: ptr::null(),
8498 image: Image::default(),
8499 }
8500 }
8501}
8502
8503#[repr(C)]
8505#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8506pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
8507 pub s_type: StructureType,
8508 pub next: *const c_void,
8509 pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
8510 pub image_pipe_handle: zx_handle_t,
8511}
8512
8513impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
8514 #[inline]
8515 fn default() -> Self {
8516 Self {
8517 s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
8518 next: ptr::null(),
8519 flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
8520 image_pipe_handle: zx_handle_t::default(),
8521 }
8522 }
8523}
8524
8525#[repr(C)]
8527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8528pub struct ImagePlaneMemoryRequirementsInfo {
8529 pub s_type: StructureType,
8530 pub next: *const c_void,
8531 pub plane_aspect: ImageAspectFlags,
8532}
8533
8534impl Default for ImagePlaneMemoryRequirementsInfo {
8535 #[inline]
8536 fn default() -> Self {
8537 Self {
8538 s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
8539 next: ptr::null(),
8540 plane_aspect: ImageAspectFlags::default(),
8541 }
8542 }
8543}
8544
8545#[repr(C)]
8547#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8548pub struct ImageResolve {
8549 pub src_subresource: ImageSubresourceLayers,
8550 pub src_offset: Offset3D,
8551 pub dst_subresource: ImageSubresourceLayers,
8552 pub dst_offset: Offset3D,
8553 pub extent: Extent3D,
8554}
8555
8556#[repr(C)]
8558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8559pub struct ImageResolve2 {
8560 pub s_type: StructureType,
8561 pub next: *const c_void,
8562 pub src_subresource: ImageSubresourceLayers,
8563 pub src_offset: Offset3D,
8564 pub dst_subresource: ImageSubresourceLayers,
8565 pub dst_offset: Offset3D,
8566 pub extent: Extent3D,
8567}
8568
8569impl Default for ImageResolve2 {
8570 #[inline]
8571 fn default() -> Self {
8572 Self {
8573 s_type: StructureType::IMAGE_RESOLVE_2,
8574 next: ptr::null(),
8575 src_subresource: ImageSubresourceLayers::default(),
8576 src_offset: Offset3D::default(),
8577 dst_subresource: ImageSubresourceLayers::default(),
8578 dst_offset: Offset3D::default(),
8579 extent: Extent3D::default(),
8580 }
8581 }
8582}
8583
8584#[repr(C)]
8586#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8587pub struct ImageSparseMemoryRequirementsInfo2 {
8588 pub s_type: StructureType,
8589 pub next: *const c_void,
8590 pub image: Image,
8591}
8592
8593impl Default for ImageSparseMemoryRequirementsInfo2 {
8594 #[inline]
8595 fn default() -> Self {
8596 Self {
8597 s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
8598 next: ptr::null(),
8599 image: Image::default(),
8600 }
8601 }
8602}
8603
8604#[repr(C)]
8606#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8607pub struct ImageStencilUsageCreateInfo {
8608 pub s_type: StructureType,
8609 pub next: *const c_void,
8610 pub stencil_usage: ImageUsageFlags,
8611}
8612
8613impl Default for ImageStencilUsageCreateInfo {
8614 #[inline]
8615 fn default() -> Self {
8616 Self {
8617 s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
8618 next: ptr::null(),
8619 stencil_usage: ImageUsageFlags::default(),
8620 }
8621 }
8622}
8623
8624#[repr(C)]
8626#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8627pub struct ImageSubresource {
8628 pub aspect_mask: ImageAspectFlags,
8629 pub mip_level: u32,
8630 pub array_layer: u32,
8631}
8632
8633#[repr(C)]
8635#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8636pub struct ImageSubresource2 {
8637 pub s_type: StructureType,
8638 pub next: *mut c_void,
8639 pub image_subresource: ImageSubresource,
8640}
8641
8642impl Default for ImageSubresource2 {
8643 #[inline]
8644 fn default() -> Self {
8645 Self {
8646 s_type: StructureType::IMAGE_SUBRESOURCE_2,
8647 next: ptr::null_mut(),
8648 image_subresource: ImageSubresource::default(),
8649 }
8650 }
8651}
8652
8653#[repr(C)]
8655#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8656pub struct ImageSubresourceLayers {
8657 pub aspect_mask: ImageAspectFlags,
8658 pub mip_level: u32,
8659 pub base_array_layer: u32,
8660 pub layer_count: u32,
8661}
8662
8663#[repr(C)]
8665#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8666pub struct ImageSubresourceRange {
8667 pub aspect_mask: ImageAspectFlags,
8668 pub base_mip_level: u32,
8669 pub level_count: u32,
8670 pub base_array_layer: u32,
8671 pub layer_count: u32,
8672}
8673
8674#[repr(C)]
8676#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8677pub struct ImageSwapchainCreateInfoKHR {
8678 pub s_type: StructureType,
8679 pub next: *const c_void,
8680 pub swapchain: SwapchainKHR,
8681}
8682
8683impl Default for ImageSwapchainCreateInfoKHR {
8684 #[inline]
8685 fn default() -> Self {
8686 Self {
8687 s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
8688 next: ptr::null(),
8689 swapchain: SwapchainKHR::default(),
8690 }
8691 }
8692}
8693
8694#[repr(C)]
8696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8697pub struct ImageToMemoryCopy {
8698 pub s_type: StructureType,
8699 pub next: *const c_void,
8700 pub host_pointer: *mut c_void,
8701 pub memory_row_length: u32,
8702 pub memory_image_height: u32,
8703 pub image_subresource: ImageSubresourceLayers,
8704 pub image_offset: Offset3D,
8705 pub image_extent: Extent3D,
8706}
8707
8708impl Default for ImageToMemoryCopy {
8709 #[inline]
8710 fn default() -> Self {
8711 Self {
8712 s_type: StructureType::IMAGE_TO_MEMORY_COPY,
8713 next: ptr::null(),
8714 host_pointer: ptr::null_mut(),
8715 memory_row_length: u32::default(),
8716 memory_image_height: u32::default(),
8717 image_subresource: ImageSubresourceLayers::default(),
8718 image_offset: Offset3D::default(),
8719 image_extent: Extent3D::default(),
8720 }
8721 }
8722}
8723
8724#[repr(C)]
8726#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8727pub struct ImageViewASTCDecodeModeEXT {
8728 pub s_type: StructureType,
8729 pub next: *const c_void,
8730 pub decode_mode: Format,
8731}
8732
8733impl Default for ImageViewASTCDecodeModeEXT {
8734 #[inline]
8735 fn default() -> Self {
8736 Self {
8737 s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
8738 next: ptr::null(),
8739 decode_mode: Format::default(),
8740 }
8741 }
8742}
8743
8744#[repr(C)]
8746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8747pub struct ImageViewAddressPropertiesNVX {
8748 pub s_type: StructureType,
8749 pub next: *mut c_void,
8750 pub device_address: DeviceAddress,
8751 pub size: DeviceSize,
8752}
8753
8754impl Default for ImageViewAddressPropertiesNVX {
8755 #[inline]
8756 fn default() -> Self {
8757 Self {
8758 s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
8759 next: ptr::null_mut(),
8760 device_address: DeviceAddress::default(),
8761 size: DeviceSize::default(),
8762 }
8763 }
8764}
8765
8766#[repr(C)]
8768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8769pub struct ImageViewCaptureDescriptorDataInfoEXT {
8770 pub s_type: StructureType,
8771 pub next: *const c_void,
8772 pub image_view: ImageView,
8773}
8774
8775impl Default for ImageViewCaptureDescriptorDataInfoEXT {
8776 #[inline]
8777 fn default() -> Self {
8778 Self {
8779 s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
8780 next: ptr::null(),
8781 image_view: ImageView::default(),
8782 }
8783 }
8784}
8785
8786#[repr(C)]
8788#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8789pub struct ImageViewCreateInfo {
8790 pub s_type: StructureType,
8791 pub next: *const c_void,
8792 pub flags: ImageViewCreateFlags,
8793 pub image: Image,
8794 pub view_type: ImageViewType,
8795 pub format: Format,
8796 pub components: ComponentMapping,
8797 pub subresource_range: ImageSubresourceRange,
8798}
8799
8800impl Default for ImageViewCreateInfo {
8801 #[inline]
8802 fn default() -> Self {
8803 Self {
8804 s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
8805 next: ptr::null(),
8806 flags: ImageViewCreateFlags::default(),
8807 image: Image::default(),
8808 view_type: ImageViewType::default(),
8809 format: Format::default(),
8810 components: ComponentMapping::default(),
8811 subresource_range: ImageSubresourceRange::default(),
8812 }
8813 }
8814}
8815
8816#[repr(C)]
8818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8819pub struct ImageViewHandleInfoNVX {
8820 pub s_type: StructureType,
8821 pub next: *const c_void,
8822 pub image_view: ImageView,
8823 pub descriptor_type: DescriptorType,
8824 pub sampler: Sampler,
8825}
8826
8827impl Default for ImageViewHandleInfoNVX {
8828 #[inline]
8829 fn default() -> Self {
8830 Self {
8831 s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
8832 next: ptr::null(),
8833 image_view: ImageView::default(),
8834 descriptor_type: DescriptorType::default(),
8835 sampler: Sampler::default(),
8836 }
8837 }
8838}
8839
8840#[repr(C)]
8842#[derive(Copy, Clone, Debug, PartialEq)]
8843pub struct ImageViewMinLodCreateInfoEXT {
8844 pub s_type: StructureType,
8845 pub next: *const c_void,
8846 pub min_lod: f32,
8847}
8848
8849impl Default for ImageViewMinLodCreateInfoEXT {
8850 #[inline]
8851 fn default() -> Self {
8852 Self {
8853 s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
8854 next: ptr::null(),
8855 min_lod: f32::default(),
8856 }
8857 }
8858}
8859
8860#[repr(C)]
8862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8863pub struct ImageViewSampleWeightCreateInfoQCOM {
8864 pub s_type: StructureType,
8865 pub next: *const c_void,
8866 pub filter_center: Offset2D,
8867 pub filter_size: Extent2D,
8868 pub num_phases: u32,
8869}
8870
8871impl Default for ImageViewSampleWeightCreateInfoQCOM {
8872 #[inline]
8873 fn default() -> Self {
8874 Self {
8875 s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
8876 next: ptr::null(),
8877 filter_center: Offset2D::default(),
8878 filter_size: Extent2D::default(),
8879 num_phases: u32::default(),
8880 }
8881 }
8882}
8883
8884#[repr(C)]
8886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8887pub struct ImageViewSlicedCreateInfoEXT {
8888 pub s_type: StructureType,
8889 pub next: *const c_void,
8890 pub slice_offset: u32,
8891 pub slice_count: u32,
8892}
8893
8894impl Default for ImageViewSlicedCreateInfoEXT {
8895 #[inline]
8896 fn default() -> Self {
8897 Self {
8898 s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
8899 next: ptr::null(),
8900 slice_offset: u32::default(),
8901 slice_count: u32::default(),
8902 }
8903 }
8904}
8905
8906#[repr(C)]
8908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8909pub struct ImageViewUsageCreateInfo {
8910 pub s_type: StructureType,
8911 pub next: *const c_void,
8912 pub usage: ImageUsageFlags,
8913}
8914
8915impl Default for ImageViewUsageCreateInfo {
8916 #[inline]
8917 fn default() -> Self {
8918 Self {
8919 s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
8920 next: ptr::null(),
8921 usage: ImageUsageFlags::default(),
8922 }
8923 }
8924}
8925
8926#[repr(C)]
8928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8929pub struct ImportAndroidHardwareBufferInfoANDROID {
8930 pub s_type: StructureType,
8931 pub next: *const c_void,
8932 pub buffer: *mut AHardwareBuffer,
8933}
8934
8935impl Default for ImportAndroidHardwareBufferInfoANDROID {
8936 #[inline]
8937 fn default() -> Self {
8938 Self {
8939 s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
8940 next: ptr::null(),
8941 buffer: ptr::null_mut(),
8942 }
8943 }
8944}
8945
8946#[repr(C)]
8948#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8949pub struct ImportFenceFdInfoKHR {
8950 pub s_type: StructureType,
8951 pub next: *const c_void,
8952 pub fence: Fence,
8953 pub flags: FenceImportFlags,
8954 pub handle_type: ExternalFenceHandleTypeFlags,
8955 pub fd: c_int,
8956}
8957
8958impl Default for ImportFenceFdInfoKHR {
8959 #[inline]
8960 fn default() -> Self {
8961 Self {
8962 s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
8963 next: ptr::null(),
8964 fence: Fence::default(),
8965 flags: FenceImportFlags::default(),
8966 handle_type: ExternalFenceHandleTypeFlags::default(),
8967 fd: c_int::default(),
8968 }
8969 }
8970}
8971
8972#[repr(C)]
8974#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8975pub struct ImportFenceSciSyncInfoNV {
8976 pub s_type: StructureType,
8977 pub next: *const c_void,
8978 pub fence: Fence,
8979 pub handle_type: ExternalFenceHandleTypeFlags,
8980 pub handle: *mut c_void,
8981}
8982
8983impl Default for ImportFenceSciSyncInfoNV {
8984 #[inline]
8985 fn default() -> Self {
8986 Self {
8987 s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
8988 next: ptr::null(),
8989 fence: Fence::default(),
8990 handle_type: ExternalFenceHandleTypeFlags::default(),
8991 handle: ptr::null_mut(),
8992 }
8993 }
8994}
8995
8996#[repr(C)]
8998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8999pub struct ImportFenceWin32HandleInfoKHR {
9000 pub s_type: StructureType,
9001 pub next: *const c_void,
9002 pub fence: Fence,
9003 pub flags: FenceImportFlags,
9004 pub handle_type: ExternalFenceHandleTypeFlags,
9005 pub handle: HANDLE,
9006 pub name: LPCWSTR,
9007}
9008
9009impl Default for ImportFenceWin32HandleInfoKHR {
9010 #[inline]
9011 fn default() -> Self {
9012 Self {
9013 s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
9014 next: ptr::null(),
9015 fence: Fence::default(),
9016 flags: FenceImportFlags::default(),
9017 handle_type: ExternalFenceHandleTypeFlags::default(),
9018 handle: ptr::null_mut(),
9019 name: ptr::null_mut(),
9020 }
9021 }
9022}
9023
9024#[repr(C)]
9026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9027pub struct ImportMemoryBufferCollectionFUCHSIA {
9028 pub s_type: StructureType,
9029 pub next: *const c_void,
9030 pub collection: BufferCollectionFUCHSIA,
9031 pub index: u32,
9032}
9033
9034impl Default for ImportMemoryBufferCollectionFUCHSIA {
9035 #[inline]
9036 fn default() -> Self {
9037 Self {
9038 s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
9039 next: ptr::null(),
9040 collection: BufferCollectionFUCHSIA::default(),
9041 index: u32::default(),
9042 }
9043 }
9044}
9045
9046#[repr(C)]
9048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9049pub struct ImportMemoryFdInfoKHR {
9050 pub s_type: StructureType,
9051 pub next: *const c_void,
9052 pub handle_type: ExternalMemoryHandleTypeFlags,
9053 pub fd: c_int,
9054}
9055
9056impl Default for ImportMemoryFdInfoKHR {
9057 #[inline]
9058 fn default() -> Self {
9059 Self {
9060 s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
9061 next: ptr::null(),
9062 handle_type: ExternalMemoryHandleTypeFlags::default(),
9063 fd: c_int::default(),
9064 }
9065 }
9066}
9067
9068#[repr(C)]
9070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9071pub struct ImportMemoryHostPointerInfoEXT {
9072 pub s_type: StructureType,
9073 pub next: *const c_void,
9074 pub handle_type: ExternalMemoryHandleTypeFlags,
9075 pub host_pointer: *mut c_void,
9076}
9077
9078impl Default for ImportMemoryHostPointerInfoEXT {
9079 #[inline]
9080 fn default() -> Self {
9081 Self {
9082 s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
9083 next: ptr::null(),
9084 handle_type: ExternalMemoryHandleTypeFlags::default(),
9085 host_pointer: ptr::null_mut(),
9086 }
9087 }
9088}
9089
9090#[repr(C)]
9092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9093pub struct ImportMemoryMetalHandleInfoEXT {
9094 pub s_type: StructureType,
9095 pub next: *const c_void,
9096 pub handle_type: ExternalMemoryHandleTypeFlags,
9097 pub handle: *mut c_void,
9098}
9099
9100impl Default for ImportMemoryMetalHandleInfoEXT {
9101 #[inline]
9102 fn default() -> Self {
9103 Self {
9104 s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
9105 next: ptr::null(),
9106 handle_type: ExternalMemoryHandleTypeFlags::default(),
9107 handle: ptr::null_mut(),
9108 }
9109 }
9110}
9111
9112#[repr(C)]
9114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9115pub struct ImportMemorySciBufInfoNV {
9116 pub s_type: StructureType,
9117 pub next: *const c_void,
9118 pub handle_type: ExternalMemoryHandleTypeFlags,
9119 pub handle: NvSciBufObj,
9120}
9121
9122impl Default for ImportMemorySciBufInfoNV {
9123 #[inline]
9124 fn default() -> Self {
9125 Self {
9126 s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
9127 next: ptr::null(),
9128 handle_type: ExternalMemoryHandleTypeFlags::default(),
9129 handle: ptr::null_mut(),
9130 }
9131 }
9132}
9133
9134#[repr(C)]
9136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9137pub struct ImportMemoryWin32HandleInfoKHR {
9138 pub s_type: StructureType,
9139 pub next: *const c_void,
9140 pub handle_type: ExternalMemoryHandleTypeFlags,
9141 pub handle: HANDLE,
9142 pub name: LPCWSTR,
9143}
9144
9145impl Default for ImportMemoryWin32HandleInfoKHR {
9146 #[inline]
9147 fn default() -> Self {
9148 Self {
9149 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
9150 next: ptr::null(),
9151 handle_type: ExternalMemoryHandleTypeFlags::default(),
9152 handle: ptr::null_mut(),
9153 name: ptr::null_mut(),
9154 }
9155 }
9156}
9157
9158#[repr(C)]
9160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9161pub struct ImportMemoryWin32HandleInfoNV {
9162 pub s_type: StructureType,
9163 pub next: *const c_void,
9164 pub handle_type: ExternalMemoryHandleTypeFlagsNV,
9165 pub handle: HANDLE,
9166}
9167
9168impl Default for ImportMemoryWin32HandleInfoNV {
9169 #[inline]
9170 fn default() -> Self {
9171 Self {
9172 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
9173 next: ptr::null(),
9174 handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
9175 handle: ptr::null_mut(),
9176 }
9177 }
9178}
9179
9180#[repr(C)]
9182#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9183pub struct ImportMemoryZirconHandleInfoFUCHSIA {
9184 pub s_type: StructureType,
9185 pub next: *const c_void,
9186 pub handle_type: ExternalMemoryHandleTypeFlags,
9187 pub handle: zx_handle_t,
9188}
9189
9190impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
9191 #[inline]
9192 fn default() -> Self {
9193 Self {
9194 s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
9195 next: ptr::null(),
9196 handle_type: ExternalMemoryHandleTypeFlags::default(),
9197 handle: zx_handle_t::default(),
9198 }
9199 }
9200}
9201
9202#[repr(C)]
9204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9205pub struct ImportMetalBufferInfoEXT {
9206 pub s_type: StructureType,
9207 pub next: *const c_void,
9208 pub mtl_buffer: MTLBuffer_id,
9209}
9210
9211impl Default for ImportMetalBufferInfoEXT {
9212 #[inline]
9213 fn default() -> Self {
9214 Self {
9215 s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
9216 next: ptr::null(),
9217 mtl_buffer: ptr::null_mut(),
9218 }
9219 }
9220}
9221
9222#[repr(C)]
9224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9225pub struct ImportMetalIOSurfaceInfoEXT {
9226 pub s_type: StructureType,
9227 pub next: *const c_void,
9228 pub io_surface: IOSurfaceRef,
9229}
9230
9231impl Default for ImportMetalIOSurfaceInfoEXT {
9232 #[inline]
9233 fn default() -> Self {
9234 Self {
9235 s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
9236 next: ptr::null(),
9237 io_surface: ptr::null_mut(),
9238 }
9239 }
9240}
9241
9242#[repr(C)]
9244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9245pub struct ImportMetalSharedEventInfoEXT {
9246 pub s_type: StructureType,
9247 pub next: *const c_void,
9248 pub mtl_shared_event: MTLSharedEvent_id,
9249}
9250
9251impl Default for ImportMetalSharedEventInfoEXT {
9252 #[inline]
9253 fn default() -> Self {
9254 Self {
9255 s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
9256 next: ptr::null(),
9257 mtl_shared_event: ptr::null_mut(),
9258 }
9259 }
9260}
9261
9262#[repr(C)]
9264#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9265pub struct ImportMetalTextureInfoEXT {
9266 pub s_type: StructureType,
9267 pub next: *const c_void,
9268 pub plane: ImageAspectFlags,
9269 pub mtl_texture: MTLTexture_id,
9270}
9271
9272impl Default for ImportMetalTextureInfoEXT {
9273 #[inline]
9274 fn default() -> Self {
9275 Self {
9276 s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
9277 next: ptr::null(),
9278 plane: ImageAspectFlags::default(),
9279 mtl_texture: ptr::null_mut(),
9280 }
9281 }
9282}
9283
9284#[repr(C)]
9286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9287pub struct ImportScreenBufferInfoQNX {
9288 pub s_type: StructureType,
9289 pub next: *const c_void,
9290 pub buffer: *mut _screen_buffer,
9291}
9292
9293impl Default for ImportScreenBufferInfoQNX {
9294 #[inline]
9295 fn default() -> Self {
9296 Self {
9297 s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
9298 next: ptr::null(),
9299 buffer: ptr::null_mut(),
9300 }
9301 }
9302}
9303
9304#[repr(C)]
9306#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9307pub struct ImportSemaphoreFdInfoKHR {
9308 pub s_type: StructureType,
9309 pub next: *const c_void,
9310 pub semaphore: Semaphore,
9311 pub flags: SemaphoreImportFlags,
9312 pub handle_type: ExternalSemaphoreHandleTypeFlags,
9313 pub fd: c_int,
9314}
9315
9316impl Default for ImportSemaphoreFdInfoKHR {
9317 #[inline]
9318 fn default() -> Self {
9319 Self {
9320 s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
9321 next: ptr::null(),
9322 semaphore: Semaphore::default(),
9323 flags: SemaphoreImportFlags::default(),
9324 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
9325 fd: c_int::default(),
9326 }
9327 }
9328}
9329
9330#[repr(C)]
9332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9333pub struct ImportSemaphoreSciSyncInfoNV {
9334 pub s_type: StructureType,
9335 pub next: *const c_void,
9336 pub semaphore: Semaphore,
9337 pub handle_type: ExternalSemaphoreHandleTypeFlags,
9338 pub handle: *mut c_void,
9339}
9340
9341impl Default for ImportSemaphoreSciSyncInfoNV {
9342 #[inline]
9343 fn default() -> Self {
9344 Self {
9345 s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
9346 next: ptr::null(),
9347 semaphore: Semaphore::default(),
9348 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
9349 handle: ptr::null_mut(),
9350 }
9351 }
9352}
9353
9354#[repr(C)]
9356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9357pub struct ImportSemaphoreWin32HandleInfoKHR {
9358 pub s_type: StructureType,
9359 pub next: *const c_void,
9360 pub semaphore: Semaphore,
9361 pub flags: SemaphoreImportFlags,
9362 pub handle_type: ExternalSemaphoreHandleTypeFlags,
9363 pub handle: HANDLE,
9364 pub name: LPCWSTR,
9365}
9366
9367impl Default for ImportSemaphoreWin32HandleInfoKHR {
9368 #[inline]
9369 fn default() -> Self {
9370 Self {
9371 s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
9372 next: ptr::null(),
9373 semaphore: Semaphore::default(),
9374 flags: SemaphoreImportFlags::default(),
9375 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
9376 handle: ptr::null_mut(),
9377 name: ptr::null_mut(),
9378 }
9379 }
9380}
9381
9382#[repr(C)]
9384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9385pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
9386 pub s_type: StructureType,
9387 pub next: *const c_void,
9388 pub semaphore: Semaphore,
9389 pub flags: SemaphoreImportFlags,
9390 pub handle_type: ExternalSemaphoreHandleTypeFlags,
9391 pub zircon_handle: zx_handle_t,
9392}
9393
9394impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
9395 #[inline]
9396 fn default() -> Self {
9397 Self {
9398 s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
9399 next: ptr::null(),
9400 semaphore: Semaphore::default(),
9401 flags: SemaphoreImportFlags::default(),
9402 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
9403 zircon_handle: zx_handle_t::default(),
9404 }
9405 }
9406}
9407
9408#[repr(C)]
9410#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9411pub struct IndirectCommandsExecutionSetTokenEXT {
9412 pub type_: IndirectExecutionSetInfoTypeEXT,
9413 pub shader_stages: ShaderStageFlags,
9414}
9415
9416#[repr(C)]
9418#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9419pub struct IndirectCommandsIndexBufferTokenEXT {
9420 pub mode: IndirectCommandsInputModeFlagsEXT,
9421}
9422
9423#[repr(C)]
9425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9426pub struct IndirectCommandsLayoutCreateInfoEXT {
9427 pub s_type: StructureType,
9428 pub next: *const c_void,
9429 pub flags: IndirectCommandsLayoutUsageFlagsEXT,
9430 pub shader_stages: ShaderStageFlags,
9431 pub indirect_stride: u32,
9432 pub pipeline_layout: PipelineLayout,
9433 pub token_count: u32,
9434 pub tokens: *const IndirectCommandsLayoutTokenEXT,
9435}
9436
9437impl Default for IndirectCommandsLayoutCreateInfoEXT {
9438 #[inline]
9439 fn default() -> Self {
9440 Self {
9441 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
9442 next: ptr::null(),
9443 flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
9444 shader_stages: ShaderStageFlags::default(),
9445 indirect_stride: u32::default(),
9446 pipeline_layout: PipelineLayout::default(),
9447 token_count: u32::default(),
9448 tokens: ptr::null(),
9449 }
9450 }
9451}
9452
9453#[repr(C)]
9455#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9456pub struct IndirectCommandsLayoutCreateInfoNV {
9457 pub s_type: StructureType,
9458 pub next: *const c_void,
9459 pub flags: IndirectCommandsLayoutUsageFlagsNV,
9460 pub pipeline_bind_point: PipelineBindPoint,
9461 pub token_count: u32,
9462 pub tokens: *const IndirectCommandsLayoutTokenNV,
9463 pub stream_count: u32,
9464 pub stream_strides: *const u32,
9465}
9466
9467impl Default for IndirectCommandsLayoutCreateInfoNV {
9468 #[inline]
9469 fn default() -> Self {
9470 Self {
9471 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
9472 next: ptr::null(),
9473 flags: IndirectCommandsLayoutUsageFlagsNV::default(),
9474 pipeline_bind_point: PipelineBindPoint::default(),
9475 token_count: u32::default(),
9476 tokens: ptr::null(),
9477 stream_count: u32::default(),
9478 stream_strides: ptr::null(),
9479 }
9480 }
9481}
9482
9483#[repr(C)]
9485#[derive(Copy, Clone, Debug)]
9486pub struct IndirectCommandsLayoutTokenEXT {
9487 pub s_type: StructureType,
9488 pub next: *const c_void,
9489 pub type_: IndirectCommandsTokenTypeEXT,
9490 pub data: IndirectCommandsTokenDataEXT,
9491 pub offset: u32,
9492}
9493
9494impl Default for IndirectCommandsLayoutTokenEXT {
9495 #[inline]
9496 fn default() -> Self {
9497 Self {
9498 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
9499 next: ptr::null(),
9500 type_: IndirectCommandsTokenTypeEXT::default(),
9501 data: IndirectCommandsTokenDataEXT::default(),
9502 offset: u32::default(),
9503 }
9504 }
9505}
9506
9507#[repr(C)]
9509#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9510pub struct IndirectCommandsLayoutTokenNV {
9511 pub s_type: StructureType,
9512 pub next: *const c_void,
9513 pub token_type: IndirectCommandsTokenTypeNV,
9514 pub stream: u32,
9515 pub offset: u32,
9516 pub vertex_binding_unit: u32,
9517 pub vertex_dynamic_stride: Bool32,
9518 pub pushconstant_pipeline_layout: PipelineLayout,
9519 pub pushconstant_shader_stage_flags: ShaderStageFlags,
9520 pub pushconstant_offset: u32,
9521 pub pushconstant_size: u32,
9522 pub indirect_state_flags: IndirectStateFlagsNV,
9523 pub index_type_count: u32,
9524 pub index_types: *const IndexType,
9525 pub index_type_values: *const u32,
9526}
9527
9528impl Default for IndirectCommandsLayoutTokenNV {
9529 #[inline]
9530 fn default() -> Self {
9531 Self {
9532 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
9533 next: ptr::null(),
9534 token_type: IndirectCommandsTokenTypeNV::default(),
9535 stream: u32::default(),
9536 offset: u32::default(),
9537 vertex_binding_unit: u32::default(),
9538 vertex_dynamic_stride: Bool32::default(),
9539 pushconstant_pipeline_layout: PipelineLayout::default(),
9540 pushconstant_shader_stage_flags: ShaderStageFlags::default(),
9541 pushconstant_offset: u32::default(),
9542 pushconstant_size: u32::default(),
9543 indirect_state_flags: IndirectStateFlagsNV::default(),
9544 index_type_count: u32::default(),
9545 index_types: ptr::null(),
9546 index_type_values: ptr::null(),
9547 }
9548 }
9549}
9550
9551#[repr(C)]
9553#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9554pub struct IndirectCommandsPushConstantTokenEXT {
9555 pub update_range: PushConstantRange,
9556}
9557
9558#[repr(C)]
9560#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9561pub struct IndirectCommandsStreamNV {
9562 pub buffer: Buffer,
9563 pub offset: DeviceSize,
9564}
9565
9566#[repr(C)]
9568#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9569pub struct IndirectCommandsVertexBufferTokenEXT {
9570 pub vertex_binding_unit: u32,
9571}
9572
9573#[repr(C)]
9575#[derive(Copy, Clone, Debug)]
9576pub struct IndirectExecutionSetCreateInfoEXT {
9577 pub s_type: StructureType,
9578 pub next: *const c_void,
9579 pub type_: IndirectExecutionSetInfoTypeEXT,
9580 pub info: IndirectExecutionSetInfoEXT,
9581}
9582
9583impl Default for IndirectExecutionSetCreateInfoEXT {
9584 #[inline]
9585 fn default() -> Self {
9586 Self {
9587 s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
9588 next: ptr::null(),
9589 type_: IndirectExecutionSetInfoTypeEXT::default(),
9590 info: IndirectExecutionSetInfoEXT::default(),
9591 }
9592 }
9593}
9594
9595#[repr(C)]
9597#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9598pub struct IndirectExecutionSetPipelineInfoEXT {
9599 pub s_type: StructureType,
9600 pub next: *const c_void,
9601 pub initial_pipeline: Pipeline,
9602 pub max_pipeline_count: u32,
9603}
9604
9605impl Default for IndirectExecutionSetPipelineInfoEXT {
9606 #[inline]
9607 fn default() -> Self {
9608 Self {
9609 s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
9610 next: ptr::null(),
9611 initial_pipeline: Pipeline::default(),
9612 max_pipeline_count: u32::default(),
9613 }
9614 }
9615}
9616
9617#[repr(C)]
9619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9620pub struct IndirectExecutionSetShaderInfoEXT {
9621 pub s_type: StructureType,
9622 pub next: *const c_void,
9623 pub shader_count: u32,
9624 pub initial_shaders: *const ShaderEXT,
9625 pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
9626 pub max_shader_count: u32,
9627 pub push_constant_range_count: u32,
9628 pub push_constant_ranges: *const PushConstantRange,
9629}
9630
9631impl Default for IndirectExecutionSetShaderInfoEXT {
9632 #[inline]
9633 fn default() -> Self {
9634 Self {
9635 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
9636 next: ptr::null(),
9637 shader_count: u32::default(),
9638 initial_shaders: ptr::null(),
9639 set_layout_infos: ptr::null(),
9640 max_shader_count: u32::default(),
9641 push_constant_range_count: u32::default(),
9642 push_constant_ranges: ptr::null(),
9643 }
9644 }
9645}
9646
9647#[repr(C)]
9649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9650pub struct IndirectExecutionSetShaderLayoutInfoEXT {
9651 pub s_type: StructureType,
9652 pub next: *const c_void,
9653 pub set_layout_count: u32,
9654 pub set_layouts: *const DescriptorSetLayout,
9655}
9656
9657impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
9658 #[inline]
9659 fn default() -> Self {
9660 Self {
9661 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
9662 next: ptr::null(),
9663 set_layout_count: u32::default(),
9664 set_layouts: ptr::null(),
9665 }
9666 }
9667}
9668
9669#[repr(C)]
9671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9672pub struct InitializePerformanceApiInfoINTEL {
9673 pub s_type: StructureType,
9674 pub next: *const c_void,
9675 pub user_data: *mut c_void,
9676}
9677
9678impl Default for InitializePerformanceApiInfoINTEL {
9679 #[inline]
9680 fn default() -> Self {
9681 Self {
9682 s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
9683 next: ptr::null(),
9684 user_data: ptr::null_mut(),
9685 }
9686 }
9687}
9688
9689#[repr(C)]
9691#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9692pub struct InputAttachmentAspectReference {
9693 pub subpass: u32,
9694 pub input_attachment_index: u32,
9695 pub aspect_mask: ImageAspectFlags,
9696}
9697
9698#[repr(C)]
9700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9701pub struct InstanceCreateInfo {
9702 pub s_type: StructureType,
9703 pub next: *const c_void,
9704 pub flags: InstanceCreateFlags,
9705 pub application_info: *const ApplicationInfo,
9706 pub enabled_layer_count: u32,
9707 pub enabled_layer_names: *const *const c_char,
9708 pub enabled_extension_count: u32,
9709 pub enabled_extension_names: *const *const c_char,
9710}
9711
9712impl Default for InstanceCreateInfo {
9713 #[inline]
9714 fn default() -> Self {
9715 Self {
9716 s_type: StructureType::INSTANCE_CREATE_INFO,
9717 next: ptr::null(),
9718 flags: InstanceCreateFlags::default(),
9719 application_info: ptr::null(),
9720 enabled_layer_count: u32::default(),
9721 enabled_layer_names: ptr::null(),
9722 enabled_extension_count: u32::default(),
9723 enabled_extension_names: ptr::null(),
9724 }
9725 }
9726}
9727
9728#[repr(C)]
9730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9731pub struct LatencySleepInfoNV {
9732 pub s_type: StructureType,
9733 pub next: *const c_void,
9734 pub signal_semaphore: Semaphore,
9735 pub value: u64,
9736}
9737
9738impl Default for LatencySleepInfoNV {
9739 #[inline]
9740 fn default() -> Self {
9741 Self {
9742 s_type: StructureType::LATENCY_SLEEP_INFO_NV,
9743 next: ptr::null(),
9744 signal_semaphore: Semaphore::default(),
9745 value: u64::default(),
9746 }
9747 }
9748}
9749
9750#[repr(C)]
9752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9753pub struct LatencySleepModeInfoNV {
9754 pub s_type: StructureType,
9755 pub next: *const c_void,
9756 pub low_latency_mode: Bool32,
9757 pub low_latency_boost: Bool32,
9758 pub minimum_interval_us: u32,
9759}
9760
9761impl Default for LatencySleepModeInfoNV {
9762 #[inline]
9763 fn default() -> Self {
9764 Self {
9765 s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
9766 next: ptr::null(),
9767 low_latency_mode: Bool32::default(),
9768 low_latency_boost: Bool32::default(),
9769 minimum_interval_us: u32::default(),
9770 }
9771 }
9772}
9773
9774#[repr(C)]
9776#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9777pub struct LatencySubmissionPresentIdNV {
9778 pub s_type: StructureType,
9779 pub next: *const c_void,
9780 pub present_id: u64,
9781}
9782
9783impl Default for LatencySubmissionPresentIdNV {
9784 #[inline]
9785 fn default() -> Self {
9786 Self {
9787 s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
9788 next: ptr::null(),
9789 present_id: u64::default(),
9790 }
9791 }
9792}
9793
9794#[repr(C)]
9796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9797pub struct LatencySurfaceCapabilitiesNV {
9798 pub s_type: StructureType,
9799 pub next: *const c_void,
9800 pub present_mode_count: u32,
9801 pub present_modes: *mut PresentModeKHR,
9802}
9803
9804impl Default for LatencySurfaceCapabilitiesNV {
9805 #[inline]
9806 fn default() -> Self {
9807 Self {
9808 s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
9809 next: ptr::null(),
9810 present_mode_count: u32::default(),
9811 present_modes: ptr::null_mut(),
9812 }
9813 }
9814}
9815
9816#[repr(C)]
9818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9819pub struct LatencyTimingsFrameReportNV {
9820 pub s_type: StructureType,
9821 pub next: *const c_void,
9822 pub present_id: u64,
9823 pub input_sample_time_us: u64,
9824 pub sim_start_time_us: u64,
9825 pub sim_end_time_us: u64,
9826 pub render_submit_start_time_us: u64,
9827 pub render_submit_end_time_us: u64,
9828 pub present_start_time_us: u64,
9829 pub present_end_time_us: u64,
9830 pub driver_start_time_us: u64,
9831 pub driver_end_time_us: u64,
9832 pub os_render_queue_start_time_us: u64,
9833 pub os_render_queue_end_time_us: u64,
9834 pub gpu_render_start_time_us: u64,
9835 pub gpu_render_end_time_us: u64,
9836}
9837
9838impl Default for LatencyTimingsFrameReportNV {
9839 #[inline]
9840 fn default() -> Self {
9841 Self {
9842 s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
9843 next: ptr::null(),
9844 present_id: u64::default(),
9845 input_sample_time_us: u64::default(),
9846 sim_start_time_us: u64::default(),
9847 sim_end_time_us: u64::default(),
9848 render_submit_start_time_us: u64::default(),
9849 render_submit_end_time_us: u64::default(),
9850 present_start_time_us: u64::default(),
9851 present_end_time_us: u64::default(),
9852 driver_start_time_us: u64::default(),
9853 driver_end_time_us: u64::default(),
9854 os_render_queue_start_time_us: u64::default(),
9855 os_render_queue_end_time_us: u64::default(),
9856 gpu_render_start_time_us: u64::default(),
9857 gpu_render_end_time_us: u64::default(),
9858 }
9859 }
9860}
9861
9862#[repr(C)]
9864#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9865pub struct LayerProperties {
9866 pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
9867 pub spec_version: u32,
9868 pub implementation_version: u32,
9869 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
9870}
9871
9872#[repr(C)]
9874#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9875pub struct LayerSettingEXT {
9876 pub layer_name: *const c_char,
9877 pub setting_name: *const c_char,
9878 pub type_: LayerSettingTypeEXT,
9879 pub value_count: u32,
9880 pub values: *const c_void,
9881}
9882
9883impl Default for LayerSettingEXT {
9884 #[inline]
9885 fn default() -> Self {
9886 Self {
9887 layer_name: ptr::null(),
9888 setting_name: ptr::null(),
9889 type_: LayerSettingTypeEXT::default(),
9890 value_count: u32::default(),
9891 values: ptr::null(),
9892 }
9893 }
9894}
9895
9896#[repr(C)]
9898#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9899pub struct LayerSettingsCreateInfoEXT {
9900 pub s_type: StructureType,
9901 pub next: *const c_void,
9902 pub setting_count: u32,
9903 pub settings: *const LayerSettingEXT,
9904}
9905
9906impl Default for LayerSettingsCreateInfoEXT {
9907 #[inline]
9908 fn default() -> Self {
9909 Self {
9910 s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
9911 next: ptr::null(),
9912 setting_count: u32::default(),
9913 settings: ptr::null(),
9914 }
9915 }
9916}
9917
9918#[repr(C)]
9920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9921pub struct MacOSSurfaceCreateInfoMVK {
9922 pub s_type: StructureType,
9923 pub next: *const c_void,
9924 pub flags: MacOSSurfaceCreateFlagsMVK,
9925 pub view: *const c_void,
9926}
9927
9928impl Default for MacOSSurfaceCreateInfoMVK {
9929 #[inline]
9930 fn default() -> Self {
9931 Self {
9932 s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
9933 next: ptr::null(),
9934 flags: MacOSSurfaceCreateFlagsMVK::default(),
9935 view: ptr::null(),
9936 }
9937 }
9938}
9939
9940#[repr(C)]
9942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9943pub struct MappedMemoryRange {
9944 pub s_type: StructureType,
9945 pub next: *const c_void,
9946 pub memory: DeviceMemory,
9947 pub offset: DeviceSize,
9948 pub size: DeviceSize,
9949}
9950
9951impl Default for MappedMemoryRange {
9952 #[inline]
9953 fn default() -> Self {
9954 Self {
9955 s_type: StructureType::MAPPED_MEMORY_RANGE,
9956 next: ptr::null(),
9957 memory: DeviceMemory::default(),
9958 offset: DeviceSize::default(),
9959 size: DeviceSize::default(),
9960 }
9961 }
9962}
9963
9964#[repr(C)]
9966#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9967pub struct MemoryAllocateFlagsInfo {
9968 pub s_type: StructureType,
9969 pub next: *const c_void,
9970 pub flags: MemoryAllocateFlags,
9971 pub device_mask: u32,
9972}
9973
9974impl Default for MemoryAllocateFlagsInfo {
9975 #[inline]
9976 fn default() -> Self {
9977 Self {
9978 s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
9979 next: ptr::null(),
9980 flags: MemoryAllocateFlags::default(),
9981 device_mask: u32::default(),
9982 }
9983 }
9984}
9985
9986#[repr(C)]
9988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9989pub struct MemoryAllocateInfo {
9990 pub s_type: StructureType,
9991 pub next: *const c_void,
9992 pub allocation_size: DeviceSize,
9993 pub memory_type_index: u32,
9994}
9995
9996impl Default for MemoryAllocateInfo {
9997 #[inline]
9998 fn default() -> Self {
9999 Self {
10000 s_type: StructureType::MEMORY_ALLOCATE_INFO,
10001 next: ptr::null(),
10002 allocation_size: DeviceSize::default(),
10003 memory_type_index: u32::default(),
10004 }
10005 }
10006}
10007
10008#[repr(C)]
10010#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10011pub struct MemoryBarrier {
10012 pub s_type: StructureType,
10013 pub next: *const c_void,
10014 pub src_access_mask: AccessFlags,
10015 pub dst_access_mask: AccessFlags,
10016}
10017
10018impl Default for MemoryBarrier {
10019 #[inline]
10020 fn default() -> Self {
10021 Self {
10022 s_type: StructureType::MEMORY_BARRIER,
10023 next: ptr::null(),
10024 src_access_mask: AccessFlags::default(),
10025 dst_access_mask: AccessFlags::default(),
10026 }
10027 }
10028}
10029
10030#[repr(C)]
10032#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10033pub struct MemoryBarrier2 {
10034 pub s_type: StructureType,
10035 pub next: *const c_void,
10036 pub src_stage_mask: PipelineStageFlags2,
10037 pub src_access_mask: AccessFlags2,
10038 pub dst_stage_mask: PipelineStageFlags2,
10039 pub dst_access_mask: AccessFlags2,
10040}
10041
10042impl Default for MemoryBarrier2 {
10043 #[inline]
10044 fn default() -> Self {
10045 Self {
10046 s_type: StructureType::MEMORY_BARRIER_2,
10047 next: ptr::null(),
10048 src_stage_mask: PipelineStageFlags2::default(),
10049 src_access_mask: AccessFlags2::default(),
10050 dst_stage_mask: PipelineStageFlags2::default(),
10051 dst_access_mask: AccessFlags2::default(),
10052 }
10053 }
10054}
10055
10056#[repr(C)]
10058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10059pub struct MemoryBarrierAccessFlags3KHR {
10060 pub s_type: StructureType,
10061 pub next: *const c_void,
10062 pub src_access_mask3: AccessFlags3KHR,
10063 pub dst_access_mask3: AccessFlags3KHR,
10064}
10065
10066impl Default for MemoryBarrierAccessFlags3KHR {
10067 #[inline]
10068 fn default() -> Self {
10069 Self {
10070 s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
10071 next: ptr::null(),
10072 src_access_mask3: AccessFlags3KHR::default(),
10073 dst_access_mask3: AccessFlags3KHR::default(),
10074 }
10075 }
10076}
10077
10078#[repr(C)]
10080#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10081pub struct MemoryDedicatedAllocateInfo {
10082 pub s_type: StructureType,
10083 pub next: *const c_void,
10084 pub image: Image,
10085 pub buffer: Buffer,
10086}
10087
10088impl Default for MemoryDedicatedAllocateInfo {
10089 #[inline]
10090 fn default() -> Self {
10091 Self {
10092 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
10093 next: ptr::null(),
10094 image: Image::default(),
10095 buffer: Buffer::default(),
10096 }
10097 }
10098}
10099
10100#[repr(C)]
10102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10103pub struct MemoryDedicatedAllocateInfoTensorARM {
10104 pub s_type: StructureType,
10105 pub next: *const c_void,
10106 pub tensor: TensorARM,
10107}
10108
10109impl Default for MemoryDedicatedAllocateInfoTensorARM {
10110 #[inline]
10111 fn default() -> Self {
10112 Self {
10113 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
10114 next: ptr::null(),
10115 tensor: TensorARM::default(),
10116 }
10117 }
10118}
10119
10120#[repr(C)]
10122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10123pub struct MemoryDedicatedRequirements {
10124 pub s_type: StructureType,
10125 pub next: *mut c_void,
10126 pub prefers_dedicated_allocation: Bool32,
10127 pub requires_dedicated_allocation: Bool32,
10128}
10129
10130impl Default for MemoryDedicatedRequirements {
10131 #[inline]
10132 fn default() -> Self {
10133 Self {
10134 s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
10135 next: ptr::null_mut(),
10136 prefers_dedicated_allocation: Bool32::default(),
10137 requires_dedicated_allocation: Bool32::default(),
10138 }
10139 }
10140}
10141
10142#[repr(C)]
10144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10145pub struct MemoryFdPropertiesKHR {
10146 pub s_type: StructureType,
10147 pub next: *mut c_void,
10148 pub memory_type_bits: u32,
10149}
10150
10151impl Default for MemoryFdPropertiesKHR {
10152 #[inline]
10153 fn default() -> Self {
10154 Self {
10155 s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
10156 next: ptr::null_mut(),
10157 memory_type_bits: u32::default(),
10158 }
10159 }
10160}
10161
10162#[repr(C)]
10164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10165pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
10166 pub s_type: StructureType,
10167 pub next: *const c_void,
10168 pub memory: DeviceMemory,
10169}
10170
10171impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
10172 #[inline]
10173 fn default() -> Self {
10174 Self {
10175 s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
10176 next: ptr::null(),
10177 memory: DeviceMemory::default(),
10178 }
10179 }
10180}
10181
10182#[repr(C)]
10184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10185pub struct MemoryGetFdInfoKHR {
10186 pub s_type: StructureType,
10187 pub next: *const c_void,
10188 pub memory: DeviceMemory,
10189 pub handle_type: ExternalMemoryHandleTypeFlags,
10190}
10191
10192impl Default for MemoryGetFdInfoKHR {
10193 #[inline]
10194 fn default() -> Self {
10195 Self {
10196 s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
10197 next: ptr::null(),
10198 memory: DeviceMemory::default(),
10199 handle_type: ExternalMemoryHandleTypeFlags::default(),
10200 }
10201 }
10202}
10203
10204#[repr(C)]
10206#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10207pub struct MemoryGetMetalHandleInfoEXT {
10208 pub s_type: StructureType,
10209 pub next: *const c_void,
10210 pub memory: DeviceMemory,
10211 pub handle_type: ExternalMemoryHandleTypeFlags,
10212}
10213
10214impl Default for MemoryGetMetalHandleInfoEXT {
10215 #[inline]
10216 fn default() -> Self {
10217 Self {
10218 s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
10219 next: ptr::null(),
10220 memory: DeviceMemory::default(),
10221 handle_type: ExternalMemoryHandleTypeFlags::default(),
10222 }
10223 }
10224}
10225
10226#[repr(C)]
10228#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10229pub struct MemoryGetRemoteAddressInfoNV {
10230 pub s_type: StructureType,
10231 pub next: *const c_void,
10232 pub memory: DeviceMemory,
10233 pub handle_type: ExternalMemoryHandleTypeFlags,
10234}
10235
10236impl Default for MemoryGetRemoteAddressInfoNV {
10237 #[inline]
10238 fn default() -> Self {
10239 Self {
10240 s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
10241 next: ptr::null(),
10242 memory: DeviceMemory::default(),
10243 handle_type: ExternalMemoryHandleTypeFlags::default(),
10244 }
10245 }
10246}
10247
10248#[repr(C)]
10250#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10251pub struct MemoryGetSciBufInfoNV {
10252 pub s_type: StructureType,
10253 pub next: *const c_void,
10254 pub memory: DeviceMemory,
10255 pub handle_type: ExternalMemoryHandleTypeFlags,
10256}
10257
10258impl Default for MemoryGetSciBufInfoNV {
10259 #[inline]
10260 fn default() -> Self {
10261 Self {
10262 s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
10263 next: ptr::null(),
10264 memory: DeviceMemory::default(),
10265 handle_type: ExternalMemoryHandleTypeFlags::default(),
10266 }
10267 }
10268}
10269
10270#[repr(C)]
10272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10273pub struct MemoryGetWin32HandleInfoKHR {
10274 pub s_type: StructureType,
10275 pub next: *const c_void,
10276 pub memory: DeviceMemory,
10277 pub handle_type: ExternalMemoryHandleTypeFlags,
10278}
10279
10280impl Default for MemoryGetWin32HandleInfoKHR {
10281 #[inline]
10282 fn default() -> Self {
10283 Self {
10284 s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
10285 next: ptr::null(),
10286 memory: DeviceMemory::default(),
10287 handle_type: ExternalMemoryHandleTypeFlags::default(),
10288 }
10289 }
10290}
10291
10292#[repr(C)]
10294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10295pub struct MemoryGetZirconHandleInfoFUCHSIA {
10296 pub s_type: StructureType,
10297 pub next: *const c_void,
10298 pub memory: DeviceMemory,
10299 pub handle_type: ExternalMemoryHandleTypeFlags,
10300}
10301
10302impl Default for MemoryGetZirconHandleInfoFUCHSIA {
10303 #[inline]
10304 fn default() -> Self {
10305 Self {
10306 s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
10307 next: ptr::null(),
10308 memory: DeviceMemory::default(),
10309 handle_type: ExternalMemoryHandleTypeFlags::default(),
10310 }
10311 }
10312}
10313
10314#[repr(C)]
10316#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10317pub struct MemoryHeap {
10318 pub size: DeviceSize,
10319 pub flags: MemoryHeapFlags,
10320}
10321
10322#[repr(C)]
10324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10325pub struct MemoryHostPointerPropertiesEXT {
10326 pub s_type: StructureType,
10327 pub next: *mut c_void,
10328 pub memory_type_bits: u32,
10329}
10330
10331impl Default for MemoryHostPointerPropertiesEXT {
10332 #[inline]
10333 fn default() -> Self {
10334 Self {
10335 s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
10336 next: ptr::null_mut(),
10337 memory_type_bits: u32::default(),
10338 }
10339 }
10340}
10341
10342#[repr(C)]
10344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10345pub struct MemoryMapInfo {
10346 pub s_type: StructureType,
10347 pub next: *const c_void,
10348 pub flags: MemoryMapFlags,
10349 pub memory: DeviceMemory,
10350 pub offset: DeviceSize,
10351 pub size: DeviceSize,
10352}
10353
10354impl Default for MemoryMapInfo {
10355 #[inline]
10356 fn default() -> Self {
10357 Self {
10358 s_type: StructureType::MEMORY_MAP_INFO,
10359 next: ptr::null(),
10360 flags: MemoryMapFlags::default(),
10361 memory: DeviceMemory::default(),
10362 offset: DeviceSize::default(),
10363 size: DeviceSize::default(),
10364 }
10365 }
10366}
10367
10368#[repr(C)]
10370#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10371pub struct MemoryMapPlacedInfoEXT {
10372 pub s_type: StructureType,
10373 pub next: *const c_void,
10374 pub placed_address: *mut c_void,
10375}
10376
10377impl Default for MemoryMapPlacedInfoEXT {
10378 #[inline]
10379 fn default() -> Self {
10380 Self {
10381 s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
10382 next: ptr::null(),
10383 placed_address: ptr::null_mut(),
10384 }
10385 }
10386}
10387
10388#[repr(C)]
10390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10391pub struct MemoryMetalHandlePropertiesEXT {
10392 pub s_type: StructureType,
10393 pub next: *mut c_void,
10394 pub memory_type_bits: u32,
10395}
10396
10397impl Default for MemoryMetalHandlePropertiesEXT {
10398 #[inline]
10399 fn default() -> Self {
10400 Self {
10401 s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
10402 next: ptr::null_mut(),
10403 memory_type_bits: u32::default(),
10404 }
10405 }
10406}
10407
10408#[repr(C)]
10410#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10411pub struct MemoryOpaqueCaptureAddressAllocateInfo {
10412 pub s_type: StructureType,
10413 pub next: *const c_void,
10414 pub opaque_capture_address: u64,
10415}
10416
10417impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
10418 #[inline]
10419 fn default() -> Self {
10420 Self {
10421 s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
10422 next: ptr::null(),
10423 opaque_capture_address: u64::default(),
10424 }
10425 }
10426}
10427
10428#[repr(C)]
10430#[derive(Copy, Clone, Debug, PartialEq)]
10431pub struct MemoryPriorityAllocateInfoEXT {
10432 pub s_type: StructureType,
10433 pub next: *const c_void,
10434 pub priority: f32,
10435}
10436
10437impl Default for MemoryPriorityAllocateInfoEXT {
10438 #[inline]
10439 fn default() -> Self {
10440 Self {
10441 s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
10442 next: ptr::null(),
10443 priority: f32::default(),
10444 }
10445 }
10446}
10447
10448#[repr(C)]
10450#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10451pub struct MemoryRequirements {
10452 pub size: DeviceSize,
10453 pub alignment: DeviceSize,
10454 pub memory_type_bits: u32,
10455}
10456
10457#[repr(C)]
10459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10460pub struct MemoryRequirements2 {
10461 pub s_type: StructureType,
10462 pub next: *mut c_void,
10463 pub memory_requirements: MemoryRequirements,
10464}
10465
10466impl Default for MemoryRequirements2 {
10467 #[inline]
10468 fn default() -> Self {
10469 Self {
10470 s_type: StructureType::MEMORY_REQUIREMENTS_2,
10471 next: ptr::null_mut(),
10472 memory_requirements: MemoryRequirements::default(),
10473 }
10474 }
10475}
10476
10477#[repr(C)]
10479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10480pub struct MemorySciBufPropertiesNV {
10481 pub s_type: StructureType,
10482 pub next: *const c_void,
10483 pub memory_type_bits: u32,
10484}
10485
10486impl Default for MemorySciBufPropertiesNV {
10487 #[inline]
10488 fn default() -> Self {
10489 Self {
10490 s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
10491 next: ptr::null(),
10492 memory_type_bits: u32::default(),
10493 }
10494 }
10495}
10496
10497#[repr(C)]
10499#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10500pub struct MemoryToImageCopy {
10501 pub s_type: StructureType,
10502 pub next: *const c_void,
10503 pub host_pointer: *const c_void,
10504 pub memory_row_length: u32,
10505 pub memory_image_height: u32,
10506 pub image_subresource: ImageSubresourceLayers,
10507 pub image_offset: Offset3D,
10508 pub image_extent: Extent3D,
10509}
10510
10511impl Default for MemoryToImageCopy {
10512 #[inline]
10513 fn default() -> Self {
10514 Self {
10515 s_type: StructureType::MEMORY_TO_IMAGE_COPY,
10516 next: ptr::null(),
10517 host_pointer: ptr::null(),
10518 memory_row_length: u32::default(),
10519 memory_image_height: u32::default(),
10520 image_subresource: ImageSubresourceLayers::default(),
10521 image_offset: Offset3D::default(),
10522 image_extent: Extent3D::default(),
10523 }
10524 }
10525}
10526
10527#[repr(C)]
10529#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10530pub struct MemoryType {
10531 pub property_flags: MemoryPropertyFlags,
10532 pub heap_index: u32,
10533}
10534
10535#[repr(C)]
10537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10538pub struct MemoryUnmapInfo {
10539 pub s_type: StructureType,
10540 pub next: *const c_void,
10541 pub flags: MemoryUnmapFlags,
10542 pub memory: DeviceMemory,
10543}
10544
10545impl Default for MemoryUnmapInfo {
10546 #[inline]
10547 fn default() -> Self {
10548 Self {
10549 s_type: StructureType::MEMORY_UNMAP_INFO,
10550 next: ptr::null(),
10551 flags: MemoryUnmapFlags::default(),
10552 memory: DeviceMemory::default(),
10553 }
10554 }
10555}
10556
10557#[repr(C)]
10559#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10560pub struct MemoryWin32HandlePropertiesKHR {
10561 pub s_type: StructureType,
10562 pub next: *mut c_void,
10563 pub memory_type_bits: u32,
10564}
10565
10566impl Default for MemoryWin32HandlePropertiesKHR {
10567 #[inline]
10568 fn default() -> Self {
10569 Self {
10570 s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
10571 next: ptr::null_mut(),
10572 memory_type_bits: u32::default(),
10573 }
10574 }
10575}
10576
10577#[repr(C)]
10579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10580pub struct MemoryZirconHandlePropertiesFUCHSIA {
10581 pub s_type: StructureType,
10582 pub next: *mut c_void,
10583 pub memory_type_bits: u32,
10584}
10585
10586impl Default for MemoryZirconHandlePropertiesFUCHSIA {
10587 #[inline]
10588 fn default() -> Self {
10589 Self {
10590 s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
10591 next: ptr::null_mut(),
10592 memory_type_bits: u32::default(),
10593 }
10594 }
10595}
10596
10597#[repr(C)]
10599#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10600pub struct MetalSurfaceCreateInfoEXT {
10601 pub s_type: StructureType,
10602 pub next: *const c_void,
10603 pub flags: MetalSurfaceCreateFlagsEXT,
10604 pub layer: *const CAMetalLayer,
10605}
10606
10607impl Default for MetalSurfaceCreateInfoEXT {
10608 #[inline]
10609 fn default() -> Self {
10610 Self {
10611 s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
10612 next: ptr::null(),
10613 flags: MetalSurfaceCreateFlagsEXT::default(),
10614 layer: ptr::null(),
10615 }
10616 }
10617}
10618
10619#[repr(C)]
10621#[derive(Copy, Clone, Debug)]
10622pub struct MicromapBuildInfoEXT {
10623 pub s_type: StructureType,
10624 pub next: *const c_void,
10625 pub type_: MicromapTypeEXT,
10626 pub flags: BuildMicromapFlagsEXT,
10627 pub mode: BuildMicromapModeEXT,
10628 pub dst_micromap: MicromapEXT,
10629 pub usage_counts_count: u32,
10630 pub usage_counts: *const MicromapUsageEXT,
10631 pub pointer_usage_counts: *const *const MicromapUsageEXT,
10632 pub data: DeviceOrHostAddressConstKHR,
10633 pub scratch_data: DeviceOrHostAddressKHR,
10634 pub triangle_array: DeviceOrHostAddressConstKHR,
10635 pub triangle_array_stride: DeviceSize,
10636}
10637
10638impl Default for MicromapBuildInfoEXT {
10639 #[inline]
10640 fn default() -> Self {
10641 Self {
10642 s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
10643 next: ptr::null(),
10644 type_: MicromapTypeEXT::default(),
10645 flags: BuildMicromapFlagsEXT::default(),
10646 mode: BuildMicromapModeEXT::default(),
10647 dst_micromap: MicromapEXT::default(),
10648 usage_counts_count: u32::default(),
10649 usage_counts: ptr::null(),
10650 pointer_usage_counts: ptr::null(),
10651 data: DeviceOrHostAddressConstKHR::default(),
10652 scratch_data: DeviceOrHostAddressKHR::default(),
10653 triangle_array: DeviceOrHostAddressConstKHR::default(),
10654 triangle_array_stride: DeviceSize::default(),
10655 }
10656 }
10657}
10658
10659#[repr(C)]
10661#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10662pub struct MicromapBuildSizesInfoEXT {
10663 pub s_type: StructureType,
10664 pub next: *const c_void,
10665 pub micromap_size: DeviceSize,
10666 pub build_scratch_size: DeviceSize,
10667 pub discardable: Bool32,
10668}
10669
10670impl Default for MicromapBuildSizesInfoEXT {
10671 #[inline]
10672 fn default() -> Self {
10673 Self {
10674 s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
10675 next: ptr::null(),
10676 micromap_size: DeviceSize::default(),
10677 build_scratch_size: DeviceSize::default(),
10678 discardable: Bool32::default(),
10679 }
10680 }
10681}
10682
10683#[repr(C)]
10685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10686pub struct MicromapCreateInfoEXT {
10687 pub s_type: StructureType,
10688 pub next: *const c_void,
10689 pub create_flags: MicromapCreateFlagsEXT,
10690 pub buffer: Buffer,
10691 pub offset: DeviceSize,
10692 pub size: DeviceSize,
10693 pub type_: MicromapTypeEXT,
10694 pub device_address: DeviceAddress,
10695}
10696
10697impl Default for MicromapCreateInfoEXT {
10698 #[inline]
10699 fn default() -> Self {
10700 Self {
10701 s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
10702 next: ptr::null(),
10703 create_flags: MicromapCreateFlagsEXT::default(),
10704 buffer: Buffer::default(),
10705 offset: DeviceSize::default(),
10706 size: DeviceSize::default(),
10707 type_: MicromapTypeEXT::default(),
10708 device_address: DeviceAddress::default(),
10709 }
10710 }
10711}
10712
10713#[repr(C)]
10715#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10716pub struct MicromapTriangleEXT {
10717 pub data_offset: u32,
10718 pub subdivision_level: u16,
10719 pub format: u16,
10720}
10721
10722#[repr(C)]
10724#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10725pub struct MicromapUsageEXT {
10726 pub count: u32,
10727 pub subdivision_level: u32,
10728 pub format: u32,
10729}
10730
10731#[repr(C)]
10733#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10734pub struct MicromapVersionInfoEXT {
10735 pub s_type: StructureType,
10736 pub next: *const c_void,
10737 pub version_data: *const u8,
10738}
10739
10740impl Default for MicromapVersionInfoEXT {
10741 #[inline]
10742 fn default() -> Self {
10743 Self {
10744 s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
10745 next: ptr::null(),
10746 version_data: ptr::null(),
10747 }
10748 }
10749}
10750
10751#[repr(C)]
10753#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10754pub struct MultiDrawIndexedInfoEXT {
10755 pub first_index: u32,
10756 pub index_count: u32,
10757 pub vertex_offset: i32,
10758}
10759
10760#[repr(C)]
10762#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10763pub struct MultiDrawInfoEXT {
10764 pub first_vertex: u32,
10765 pub vertex_count: u32,
10766}
10767
10768#[repr(C)]
10770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10771pub struct MultisamplePropertiesEXT {
10772 pub s_type: StructureType,
10773 pub next: *mut c_void,
10774 pub max_sample_location_grid_size: Extent2D,
10775}
10776
10777impl Default for MultisamplePropertiesEXT {
10778 #[inline]
10779 fn default() -> Self {
10780 Self {
10781 s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
10782 next: ptr::null_mut(),
10783 max_sample_location_grid_size: Extent2D::default(),
10784 }
10785 }
10786}
10787
10788#[repr(C)]
10790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10791pub struct MultisampledRenderToSingleSampledInfoEXT {
10792 pub s_type: StructureType,
10793 pub next: *const c_void,
10794 pub multisampled_render_to_single_sampled_enable: Bool32,
10795 pub rasterization_samples: SampleCountFlags,
10796}
10797
10798impl Default for MultisampledRenderToSingleSampledInfoEXT {
10799 #[inline]
10800 fn default() -> Self {
10801 Self {
10802 s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
10803 next: ptr::null(),
10804 multisampled_render_to_single_sampled_enable: Bool32::default(),
10805 rasterization_samples: SampleCountFlags::default(),
10806 }
10807 }
10808}
10809
10810#[repr(C)]
10812#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10813pub struct MultiviewPerViewAttributesInfoNVX {
10814 pub s_type: StructureType,
10815 pub next: *const c_void,
10816 pub per_view_attributes: Bool32,
10817 pub per_view_attributes_position_x_only: Bool32,
10818}
10819
10820impl Default for MultiviewPerViewAttributesInfoNVX {
10821 #[inline]
10822 fn default() -> Self {
10823 Self {
10824 s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
10825 next: ptr::null(),
10826 per_view_attributes: Bool32::default(),
10827 per_view_attributes_position_x_only: Bool32::default(),
10828 }
10829 }
10830}
10831
10832#[repr(C)]
10834#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10835pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
10836 pub s_type: StructureType,
10837 pub next: *const c_void,
10838 pub per_view_render_area_count: u32,
10839 pub per_view_render_areas: *const Rect2D,
10840}
10841
10842impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
10843 #[inline]
10844 fn default() -> Self {
10845 Self {
10846 s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
10847 next: ptr::null(),
10848 per_view_render_area_count: u32::default(),
10849 per_view_render_areas: ptr::null(),
10850 }
10851 }
10852}
10853
10854#[repr(C)]
10856#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10857pub struct MutableDescriptorTypeCreateInfoEXT {
10858 pub s_type: StructureType,
10859 pub next: *const c_void,
10860 pub mutable_descriptor_type_list_count: u32,
10861 pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
10862}
10863
10864impl Default for MutableDescriptorTypeCreateInfoEXT {
10865 #[inline]
10866 fn default() -> Self {
10867 Self {
10868 s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
10869 next: ptr::null(),
10870 mutable_descriptor_type_list_count: u32::default(),
10871 mutable_descriptor_type_lists: ptr::null(),
10872 }
10873 }
10874}
10875
10876#[repr(C)]
10878#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10879pub struct MutableDescriptorTypeListEXT {
10880 pub descriptor_type_count: u32,
10881 pub descriptor_types: *const DescriptorType,
10882}
10883
10884impl Default for MutableDescriptorTypeListEXT {
10885 #[inline]
10886 fn default() -> Self {
10887 Self {
10888 descriptor_type_count: u32::default(),
10889 descriptor_types: ptr::null(),
10890 }
10891 }
10892}
10893
10894#[repr(C)]
10896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10897pub struct OHSurfaceCreateInfoOHOS {
10898 pub s_type: StructureType,
10899 pub next: *const c_void,
10900 pub flags: SurfaceCreateFlagsOHOS,
10901 pub window: *mut OHNativeWindow,
10902}
10903
10904impl Default for OHSurfaceCreateInfoOHOS {
10905 #[inline]
10906 fn default() -> Self {
10907 Self {
10908 s_type: StructureType::OH_SURFACE_CREATE_INFO_OHOS,
10909 next: ptr::null(),
10910 flags: SurfaceCreateFlagsOHOS::default(),
10911 window: ptr::null_mut(),
10912 }
10913 }
10914}
10915
10916#[repr(C)]
10918#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10919pub struct Offset2D {
10920 pub x: i32,
10921 pub y: i32,
10922}
10923
10924#[repr(C)]
10926#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10927pub struct Offset3D {
10928 pub x: i32,
10929 pub y: i32,
10930 pub z: i32,
10931}
10932
10933#[repr(C)]
10935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10936pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
10937 pub s_type: StructureType,
10938 pub next: *const c_void,
10939 pub opaque_capture_descriptor_data: *const c_void,
10940}
10941
10942impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
10943 #[inline]
10944 fn default() -> Self {
10945 Self {
10946 s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
10947 next: ptr::null(),
10948 opaque_capture_descriptor_data: ptr::null(),
10949 }
10950 }
10951}
10952
10953#[repr(C)]
10955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10956pub struct OpticalFlowExecuteInfoNV {
10957 pub s_type: StructureType,
10958 pub next: *mut c_void,
10959 pub flags: OpticalFlowExecuteFlagsNV,
10960 pub region_count: u32,
10961 pub regions: *const Rect2D,
10962}
10963
10964impl Default for OpticalFlowExecuteInfoNV {
10965 #[inline]
10966 fn default() -> Self {
10967 Self {
10968 s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
10969 next: ptr::null_mut(),
10970 flags: OpticalFlowExecuteFlagsNV::default(),
10971 region_count: u32::default(),
10972 regions: ptr::null(),
10973 }
10974 }
10975}
10976
10977#[repr(C)]
10979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10980pub struct OpticalFlowImageFormatInfoNV {
10981 pub s_type: StructureType,
10982 pub next: *const c_void,
10983 pub usage: OpticalFlowUsageFlagsNV,
10984}
10985
10986impl Default for OpticalFlowImageFormatInfoNV {
10987 #[inline]
10988 fn default() -> Self {
10989 Self {
10990 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
10991 next: ptr::null(),
10992 usage: OpticalFlowUsageFlagsNV::default(),
10993 }
10994 }
10995}
10996
10997#[repr(C)]
10999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11000pub struct OpticalFlowImageFormatPropertiesNV {
11001 pub s_type: StructureType,
11002 pub next: *const c_void,
11003 pub format: Format,
11004}
11005
11006impl Default for OpticalFlowImageFormatPropertiesNV {
11007 #[inline]
11008 fn default() -> Self {
11009 Self {
11010 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
11011 next: ptr::null(),
11012 format: Format::default(),
11013 }
11014 }
11015}
11016
11017#[repr(C)]
11019#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11020pub struct OpticalFlowSessionCreateInfoNV {
11021 pub s_type: StructureType,
11022 pub next: *mut c_void,
11023 pub width: u32,
11024 pub height: u32,
11025 pub image_format: Format,
11026 pub flow_vector_format: Format,
11027 pub cost_format: Format,
11028 pub output_grid_size: OpticalFlowGridSizeFlagsNV,
11029 pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
11030 pub performance_level: OpticalFlowPerformanceLevelNV,
11031 pub flags: OpticalFlowSessionCreateFlagsNV,
11032}
11033
11034impl Default for OpticalFlowSessionCreateInfoNV {
11035 #[inline]
11036 fn default() -> Self {
11037 Self {
11038 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
11039 next: ptr::null_mut(),
11040 width: u32::default(),
11041 height: u32::default(),
11042 image_format: Format::default(),
11043 flow_vector_format: Format::default(),
11044 cost_format: Format::default(),
11045 output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
11046 hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
11047 performance_level: OpticalFlowPerformanceLevelNV::default(),
11048 flags: OpticalFlowSessionCreateFlagsNV::default(),
11049 }
11050 }
11051}
11052
11053#[repr(C)]
11055#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11056pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
11057 pub s_type: StructureType,
11058 pub next: *mut c_void,
11059 pub id: u32,
11060 pub size: u32,
11061 pub private_data: *const c_void,
11062}
11063
11064impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
11065 #[inline]
11066 fn default() -> Self {
11067 Self {
11068 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
11069 next: ptr::null_mut(),
11070 id: u32::default(),
11071 size: u32::default(),
11072 private_data: ptr::null(),
11073 }
11074 }
11075}
11076
11077#[repr(C)]
11079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11080pub struct OutOfBandQueueTypeInfoNV {
11081 pub s_type: StructureType,
11082 pub next: *const c_void,
11083 pub queue_type: OutOfBandQueueTypeNV,
11084}
11085
11086impl Default for OutOfBandQueueTypeInfoNV {
11087 #[inline]
11088 fn default() -> Self {
11089 Self {
11090 s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
11091 next: ptr::null(),
11092 queue_type: OutOfBandQueueTypeNV::default(),
11093 }
11094 }
11095}
11096
11097#[repr(C)]
11099#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11100pub struct PartitionedAccelerationStructureFlagsNV {
11101 pub s_type: StructureType,
11102 pub next: *mut c_void,
11103 pub enable_partition_translation: Bool32,
11104}
11105
11106impl Default for PartitionedAccelerationStructureFlagsNV {
11107 #[inline]
11108 fn default() -> Self {
11109 Self {
11110 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
11111 next: ptr::null_mut(),
11112 enable_partition_translation: Bool32::default(),
11113 }
11114 }
11115}
11116
11117#[repr(C)]
11119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11120pub struct PartitionedAccelerationStructureInstancesInputNV {
11121 pub s_type: StructureType,
11122 pub next: *mut c_void,
11123 pub flags: BuildAccelerationStructureFlagsKHR,
11124 pub instance_count: u32,
11125 pub max_instance_per_partition_count: u32,
11126 pub partition_count: u32,
11127 pub max_instance_in_global_partition_count: u32,
11128}
11129
11130impl Default for PartitionedAccelerationStructureInstancesInputNV {
11131 #[inline]
11132 fn default() -> Self {
11133 Self {
11134 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
11135 next: ptr::null_mut(),
11136 flags: BuildAccelerationStructureFlagsKHR::default(),
11137 instance_count: u32::default(),
11138 max_instance_per_partition_count: u32::default(),
11139 partition_count: u32::default(),
11140 max_instance_in_global_partition_count: u32::default(),
11141 }
11142 }
11143}
11144
11145#[repr(C)]
11147#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11148pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
11149 pub instance_index: u32,
11150 pub instance_contribution_to_hit_group_index: u32,
11151 pub acceleration_structure: DeviceAddress,
11152}
11153
11154#[repr(C)]
11156#[derive(Copy, Clone, Default, Debug, PartialEq)]
11157pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
11158 pub transform: TransformMatrixKHR,
11159 pub explicit_aabb: [f32; 6],
11160 pub instance_id: u32,
11161 pub instance_mask: u32,
11162 pub instance_contribution_to_hit_group_index: u32,
11163 pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
11164 pub instance_index: u32,
11165 pub partition_index: u32,
11166 pub acceleration_structure: DeviceAddress,
11167}
11168
11169#[repr(C)]
11171#[derive(Copy, Clone, Default, Debug, PartialEq)]
11172pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
11173 pub partition_index: u32,
11174 pub partition_translation: [f32; 3],
11175}
11176
11177#[repr(C)]
11179#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11180pub struct PastPresentationTimingGOOGLE {
11181 pub present_id: u32,
11182 pub desired_present_time: u64,
11183 pub actual_present_time: u64,
11184 pub earliest_present_time: u64,
11185 pub present_margin: u64,
11186}
11187
11188#[repr(C)]
11190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11191pub struct PerTileBeginInfoQCOM {
11192 pub s_type: StructureType,
11193 pub next: *const c_void,
11194}
11195
11196impl Default for PerTileBeginInfoQCOM {
11197 #[inline]
11198 fn default() -> Self {
11199 Self {
11200 s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
11201 next: ptr::null(),
11202 }
11203 }
11204}
11205
11206#[repr(C)]
11208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11209pub struct PerTileEndInfoQCOM {
11210 pub s_type: StructureType,
11211 pub next: *const c_void,
11212}
11213
11214impl Default for PerTileEndInfoQCOM {
11215 #[inline]
11216 fn default() -> Self {
11217 Self {
11218 s_type: StructureType::PER_TILE_END_INFO_QCOM,
11219 next: ptr::null(),
11220 }
11221 }
11222}
11223
11224#[repr(C)]
11226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11227pub struct PerformanceConfigurationAcquireInfoINTEL {
11228 pub s_type: StructureType,
11229 pub next: *const c_void,
11230 pub type_: PerformanceConfigurationTypeINTEL,
11231}
11232
11233impl Default for PerformanceConfigurationAcquireInfoINTEL {
11234 #[inline]
11235 fn default() -> Self {
11236 Self {
11237 s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
11238 next: ptr::null(),
11239 type_: PerformanceConfigurationTypeINTEL::default(),
11240 }
11241 }
11242}
11243
11244#[repr(C)]
11246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11247pub struct PerformanceCounterDescriptionKHR {
11248 pub s_type: StructureType,
11249 pub next: *mut c_void,
11250 pub flags: PerformanceCounterDescriptionFlagsKHR,
11251 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
11252 pub category: StringArray<MAX_DESCRIPTION_SIZE>,
11253 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
11254}
11255
11256impl Default for PerformanceCounterDescriptionKHR {
11257 #[inline]
11258 fn default() -> Self {
11259 Self {
11260 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
11261 next: ptr::null_mut(),
11262 flags: PerformanceCounterDescriptionFlagsKHR::default(),
11263 name: StringArray::default(),
11264 category: StringArray::default(),
11265 description: StringArray::default(),
11266 }
11267 }
11268}
11269
11270#[repr(C)]
11272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11273pub struct PerformanceCounterKHR {
11274 pub s_type: StructureType,
11275 pub next: *mut c_void,
11276 pub unit: PerformanceCounterUnitKHR,
11277 pub scope: PerformanceCounterScopeKHR,
11278 pub storage: PerformanceCounterStorageKHR,
11279 pub uuid: ByteArray<UUID_SIZE>,
11280}
11281
11282impl Default for PerformanceCounterKHR {
11283 #[inline]
11284 fn default() -> Self {
11285 Self {
11286 s_type: StructureType::PERFORMANCE_COUNTER_KHR,
11287 next: ptr::null_mut(),
11288 unit: PerformanceCounterUnitKHR::default(),
11289 scope: PerformanceCounterScopeKHR::default(),
11290 storage: PerformanceCounterStorageKHR::default(),
11291 uuid: ByteArray::default(),
11292 }
11293 }
11294}
11295
11296#[repr(C)]
11298#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11299pub struct PerformanceMarkerInfoINTEL {
11300 pub s_type: StructureType,
11301 pub next: *const c_void,
11302 pub marker: u64,
11303}
11304
11305impl Default for PerformanceMarkerInfoINTEL {
11306 #[inline]
11307 fn default() -> Self {
11308 Self {
11309 s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
11310 next: ptr::null(),
11311 marker: u64::default(),
11312 }
11313 }
11314}
11315
11316#[repr(C)]
11318#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11319pub struct PerformanceOverrideInfoINTEL {
11320 pub s_type: StructureType,
11321 pub next: *const c_void,
11322 pub type_: PerformanceOverrideTypeINTEL,
11323 pub enable: Bool32,
11324 pub parameter: u64,
11325}
11326
11327impl Default for PerformanceOverrideInfoINTEL {
11328 #[inline]
11329 fn default() -> Self {
11330 Self {
11331 s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
11332 next: ptr::null(),
11333 type_: PerformanceOverrideTypeINTEL::default(),
11334 enable: Bool32::default(),
11335 parameter: u64::default(),
11336 }
11337 }
11338}
11339
11340#[repr(C)]
11342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11343pub struct PerformanceQueryReservationInfoKHR {
11344 pub s_type: StructureType,
11345 pub next: *const c_void,
11346 pub max_performance_queries_per_pool: u32,
11347}
11348
11349impl Default for PerformanceQueryReservationInfoKHR {
11350 #[inline]
11351 fn default() -> Self {
11352 Self {
11353 s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
11354 next: ptr::null(),
11355 max_performance_queries_per_pool: u32::default(),
11356 }
11357 }
11358}
11359
11360#[repr(C)]
11362#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11363pub struct PerformanceQuerySubmitInfoKHR {
11364 pub s_type: StructureType,
11365 pub next: *const c_void,
11366 pub counter_pass_index: u32,
11367}
11368
11369impl Default for PerformanceQuerySubmitInfoKHR {
11370 #[inline]
11371 fn default() -> Self {
11372 Self {
11373 s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
11374 next: ptr::null(),
11375 counter_pass_index: u32::default(),
11376 }
11377 }
11378}
11379
11380#[repr(C)]
11382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11383pub struct PerformanceStreamMarkerInfoINTEL {
11384 pub s_type: StructureType,
11385 pub next: *const c_void,
11386 pub marker: u32,
11387}
11388
11389impl Default for PerformanceStreamMarkerInfoINTEL {
11390 #[inline]
11391 fn default() -> Self {
11392 Self {
11393 s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
11394 next: ptr::null(),
11395 marker: u32::default(),
11396 }
11397 }
11398}
11399
11400#[repr(C)]
11402#[derive(Copy, Clone, Default, Debug)]
11403pub struct PerformanceValueINTEL {
11404 pub type_: PerformanceValueTypeINTEL,
11405 pub data: PerformanceValueDataINTEL,
11406}
11407
11408#[repr(C)]
11410#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11411pub struct PhysicalDevice16BitStorageFeatures {
11412 pub s_type: StructureType,
11413 pub next: *mut c_void,
11414 pub storage_buffer_16bit_access: Bool32,
11415 pub uniform_and_storage_buffer_16bit_access: Bool32,
11416 pub storage_push_constant16: Bool32,
11417 pub storage_input_output16: Bool32,
11418}
11419
11420impl Default for PhysicalDevice16BitStorageFeatures {
11421 #[inline]
11422 fn default() -> Self {
11423 Self {
11424 s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
11425 next: ptr::null_mut(),
11426 storage_buffer_16bit_access: Bool32::default(),
11427 uniform_and_storage_buffer_16bit_access: Bool32::default(),
11428 storage_push_constant16: Bool32::default(),
11429 storage_input_output16: Bool32::default(),
11430 }
11431 }
11432}
11433
11434#[repr(C)]
11436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11437pub struct PhysicalDevice4444FormatsFeaturesEXT {
11438 pub s_type: StructureType,
11439 pub next: *mut c_void,
11440 pub format_a4_r4_g4_b4: Bool32,
11441 pub format_a4_b4_g4_r4: Bool32,
11442}
11443
11444impl Default for PhysicalDevice4444FormatsFeaturesEXT {
11445 #[inline]
11446 fn default() -> Self {
11447 Self {
11448 s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
11449 next: ptr::null_mut(),
11450 format_a4_r4_g4_b4: Bool32::default(),
11451 format_a4_b4_g4_r4: Bool32::default(),
11452 }
11453 }
11454}
11455
11456#[repr(C)]
11458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11459pub struct PhysicalDevice8BitStorageFeatures {
11460 pub s_type: StructureType,
11461 pub next: *mut c_void,
11462 pub storage_buffer_8bit_access: Bool32,
11463 pub uniform_and_storage_buffer_8bit_access: Bool32,
11464 pub storage_push_constant8: Bool32,
11465}
11466
11467impl Default for PhysicalDevice8BitStorageFeatures {
11468 #[inline]
11469 fn default() -> Self {
11470 Self {
11471 s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
11472 next: ptr::null_mut(),
11473 storage_buffer_8bit_access: Bool32::default(),
11474 uniform_and_storage_buffer_8bit_access: Bool32::default(),
11475 storage_push_constant8: Bool32::default(),
11476 }
11477 }
11478}
11479
11480#[repr(C)]
11482#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11483pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
11484 pub s_type: StructureType,
11485 pub next: *mut c_void,
11486 pub decode_mode_shared_exponent: Bool32,
11487}
11488
11489impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
11490 #[inline]
11491 fn default() -> Self {
11492 Self {
11493 s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
11494 next: ptr::null_mut(),
11495 decode_mode_shared_exponent: Bool32::default(),
11496 }
11497 }
11498}
11499
11500#[repr(C)]
11502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11503pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
11504 pub s_type: StructureType,
11505 pub next: *mut c_void,
11506 pub acceleration_structure: Bool32,
11507 pub acceleration_structure_capture_replay: Bool32,
11508 pub acceleration_structure_indirect_build: Bool32,
11509 pub acceleration_structure_host_commands: Bool32,
11510 pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
11511}
11512
11513impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
11514 #[inline]
11515 fn default() -> Self {
11516 Self {
11517 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
11518 next: ptr::null_mut(),
11519 acceleration_structure: Bool32::default(),
11520 acceleration_structure_capture_replay: Bool32::default(),
11521 acceleration_structure_indirect_build: Bool32::default(),
11522 acceleration_structure_host_commands: Bool32::default(),
11523 descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
11524 }
11525 }
11526}
11527
11528#[repr(C)]
11530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11531pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
11532 pub s_type: StructureType,
11533 pub next: *mut c_void,
11534 pub max_geometry_count: u64,
11535 pub max_instance_count: u64,
11536 pub max_primitive_count: u64,
11537 pub max_per_stage_descriptor_acceleration_structures: u32,
11538 pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
11539 pub max_descriptor_set_acceleration_structures: u32,
11540 pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
11541 pub min_acceleration_structure_scratch_offset_alignment: u32,
11542}
11543
11544impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
11545 #[inline]
11546 fn default() -> Self {
11547 Self {
11548 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
11549 next: ptr::null_mut(),
11550 max_geometry_count: u64::default(),
11551 max_instance_count: u64::default(),
11552 max_primitive_count: u64::default(),
11553 max_per_stage_descriptor_acceleration_structures: u32::default(),
11554 max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
11555 max_descriptor_set_acceleration_structures: u32::default(),
11556 max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
11557 min_acceleration_structure_scratch_offset_alignment: u32::default(),
11558 }
11559 }
11560}
11561
11562#[repr(C)]
11564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11565pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
11566 pub s_type: StructureType,
11567 pub next: *mut c_void,
11568 pub report_address_binding: Bool32,
11569}
11570
11571impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
11572 #[inline]
11573 fn default() -> Self {
11574 Self {
11575 s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
11576 next: ptr::null_mut(),
11577 report_address_binding: Bool32::default(),
11578 }
11579 }
11580}
11581
11582#[repr(C)]
11584#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11585pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
11586 pub s_type: StructureType,
11587 pub next: *mut c_void,
11588 pub amigo_profiling: Bool32,
11589}
11590
11591impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
11592 #[inline]
11593 fn default() -> Self {
11594 Self {
11595 s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
11596 next: ptr::null_mut(),
11597 amigo_profiling: Bool32::default(),
11598 }
11599 }
11600}
11601
11602#[repr(C)]
11604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11605pub struct PhysicalDeviceAntiLagFeaturesAMD {
11606 pub s_type: StructureType,
11607 pub next: *mut c_void,
11608 pub anti_lag: Bool32,
11609}
11610
11611impl Default for PhysicalDeviceAntiLagFeaturesAMD {
11612 #[inline]
11613 fn default() -> Self {
11614 Self {
11615 s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
11616 next: ptr::null_mut(),
11617 anti_lag: Bool32::default(),
11618 }
11619 }
11620}
11621
11622#[repr(C)]
11624#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11625pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
11626 pub s_type: StructureType,
11627 pub next: *mut c_void,
11628 pub attachment_feedback_loop_dynamic_state: Bool32,
11629}
11630
11631impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
11632 #[inline]
11633 fn default() -> Self {
11634 Self {
11635 s_type:
11636 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
11637 next: ptr::null_mut(),
11638 attachment_feedback_loop_dynamic_state: Bool32::default(),
11639 }
11640 }
11641}
11642
11643#[repr(C)]
11645#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11646pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
11647 pub s_type: StructureType,
11648 pub next: *mut c_void,
11649 pub attachment_feedback_loop_layout: Bool32,
11650}
11651
11652impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
11653 #[inline]
11654 fn default() -> Self {
11655 Self {
11656 s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
11657 next: ptr::null_mut(),
11658 attachment_feedback_loop_layout: Bool32::default(),
11659 }
11660 }
11661}
11662
11663#[repr(C)]
11665#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11666pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11667 pub s_type: StructureType,
11668 pub next: *mut c_void,
11669 pub advanced_blend_coherent_operations: Bool32,
11670}
11671
11672impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11673 #[inline]
11674 fn default() -> Self {
11675 Self {
11676 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
11677 next: ptr::null_mut(),
11678 advanced_blend_coherent_operations: Bool32::default(),
11679 }
11680 }
11681}
11682
11683#[repr(C)]
11685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11686pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11687 pub s_type: StructureType,
11688 pub next: *mut c_void,
11689 pub advanced_blend_max_color_attachments: u32,
11690 pub advanced_blend_independent_blend: Bool32,
11691 pub advanced_blend_non_premultiplied_src_color: Bool32,
11692 pub advanced_blend_non_premultiplied_dst_color: Bool32,
11693 pub advanced_blend_correlated_overlap: Bool32,
11694 pub advanced_blend_all_operations: Bool32,
11695}
11696
11697impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11698 #[inline]
11699 fn default() -> Self {
11700 Self {
11701 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
11702 next: ptr::null_mut(),
11703 advanced_blend_max_color_attachments: u32::default(),
11704 advanced_blend_independent_blend: Bool32::default(),
11705 advanced_blend_non_premultiplied_src_color: Bool32::default(),
11706 advanced_blend_non_premultiplied_dst_color: Bool32::default(),
11707 advanced_blend_correlated_overlap: Bool32::default(),
11708 advanced_blend_all_operations: Bool32::default(),
11709 }
11710 }
11711}
11712
11713#[repr(C)]
11715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11716pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
11717 pub s_type: StructureType,
11718 pub next: *mut c_void,
11719 pub border_color_swizzle: Bool32,
11720 pub border_color_swizzle_from_image: Bool32,
11721}
11722
11723impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
11724 #[inline]
11725 fn default() -> Self {
11726 Self {
11727 s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
11728 next: ptr::null_mut(),
11729 border_color_swizzle: Bool32::default(),
11730 border_color_swizzle_from_image: Bool32::default(),
11731 }
11732 }
11733}
11734
11735#[repr(C)]
11737#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11738pub struct PhysicalDeviceBufferDeviceAddressFeatures {
11739 pub s_type: StructureType,
11740 pub next: *mut c_void,
11741 pub buffer_device_address: Bool32,
11742 pub buffer_device_address_capture_replay: Bool32,
11743 pub buffer_device_address_multi_device: Bool32,
11744}
11745
11746impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
11747 #[inline]
11748 fn default() -> Self {
11749 Self {
11750 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
11751 next: ptr::null_mut(),
11752 buffer_device_address: Bool32::default(),
11753 buffer_device_address_capture_replay: Bool32::default(),
11754 buffer_device_address_multi_device: Bool32::default(),
11755 }
11756 }
11757}
11758
11759#[repr(C)]
11761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11762pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
11763 pub s_type: StructureType,
11764 pub next: *mut c_void,
11765 pub buffer_device_address: Bool32,
11766 pub buffer_device_address_capture_replay: Bool32,
11767 pub buffer_device_address_multi_device: Bool32,
11768}
11769
11770impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
11771 #[inline]
11772 fn default() -> Self {
11773 Self {
11774 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
11775 next: ptr::null_mut(),
11776 buffer_device_address: Bool32::default(),
11777 buffer_device_address_capture_replay: Bool32::default(),
11778 buffer_device_address_multi_device: Bool32::default(),
11779 }
11780 }
11781}
11782
11783#[repr(C)]
11785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11786pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
11787 pub s_type: StructureType,
11788 pub next: *mut c_void,
11789 pub cluster_acceleration_structure: Bool32,
11790}
11791
11792impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
11793 #[inline]
11794 fn default() -> Self {
11795 Self {
11796 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
11797 next: ptr::null_mut(),
11798 cluster_acceleration_structure: Bool32::default(),
11799 }
11800 }
11801}
11802
11803#[repr(C)]
11805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11806pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
11807 pub s_type: StructureType,
11808 pub next: *mut c_void,
11809 pub max_vertices_per_cluster: u32,
11810 pub max_triangles_per_cluster: u32,
11811 pub cluster_scratch_byte_alignment: u32,
11812 pub cluster_byte_alignment: u32,
11813 pub cluster_template_byte_alignment: u32,
11814 pub cluster_bottom_level_byte_alignment: u32,
11815 pub cluster_template_bounds_byte_alignment: u32,
11816 pub max_cluster_geometry_index: u32,
11817}
11818
11819impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
11820 #[inline]
11821 fn default() -> Self {
11822 Self {
11823 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
11824 next: ptr::null_mut(),
11825 max_vertices_per_cluster: u32::default(),
11826 max_triangles_per_cluster: u32::default(),
11827 cluster_scratch_byte_alignment: u32::default(),
11828 cluster_byte_alignment: u32::default(),
11829 cluster_template_byte_alignment: u32::default(),
11830 cluster_bottom_level_byte_alignment: u32::default(),
11831 cluster_template_bounds_byte_alignment: u32::default(),
11832 max_cluster_geometry_index: u32::default(),
11833 }
11834 }
11835}
11836
11837#[repr(C)]
11839#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11840pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
11841 pub s_type: StructureType,
11842 pub next: *mut c_void,
11843 pub clusterculling_shader: Bool32,
11844 pub multiview_cluster_culling_shader: Bool32,
11845}
11846
11847impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
11848 #[inline]
11849 fn default() -> Self {
11850 Self {
11851 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
11852 next: ptr::null_mut(),
11853 clusterculling_shader: Bool32::default(),
11854 multiview_cluster_culling_shader: Bool32::default(),
11855 }
11856 }
11857}
11858
11859#[repr(C)]
11861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11862pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
11863 pub s_type: StructureType,
11864 pub next: *mut c_void,
11865 pub max_work_group_count: [u32; 3],
11866 pub max_work_group_size: [u32; 3],
11867 pub max_output_cluster_count: u32,
11868 pub indirect_buffer_offset_alignment: DeviceSize,
11869}
11870
11871impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
11872 #[inline]
11873 fn default() -> Self {
11874 Self {
11875 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
11876 next: ptr::null_mut(),
11877 max_work_group_count: [u32::default(); 3],
11878 max_work_group_size: [u32::default(); 3],
11879 max_output_cluster_count: u32::default(),
11880 indirect_buffer_offset_alignment: DeviceSize::default(),
11881 }
11882 }
11883}
11884
11885#[repr(C)]
11887#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11888pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
11889 pub s_type: StructureType,
11890 pub next: *mut c_void,
11891 pub cluster_shading_rate: Bool32,
11892}
11893
11894impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
11895 #[inline]
11896 fn default() -> Self {
11897 Self {
11898 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
11899 next: ptr::null_mut(),
11900 cluster_shading_rate: Bool32::default(),
11901 }
11902 }
11903}
11904
11905#[repr(C)]
11907#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11908pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
11909 pub s_type: StructureType,
11910 pub next: *mut c_void,
11911 pub device_coherent_memory: Bool32,
11912}
11913
11914impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
11915 #[inline]
11916 fn default() -> Self {
11917 Self {
11918 s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
11919 next: ptr::null_mut(),
11920 device_coherent_memory: Bool32::default(),
11921 }
11922 }
11923}
11924
11925#[repr(C)]
11927#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11928pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
11929 pub s_type: StructureType,
11930 pub next: *mut c_void,
11931 pub color_write_enable: Bool32,
11932}
11933
11934impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
11935 #[inline]
11936 fn default() -> Self {
11937 Self {
11938 s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
11939 next: ptr::null_mut(),
11940 color_write_enable: Bool32::default(),
11941 }
11942 }
11943}
11944
11945#[repr(C)]
11947#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11948pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
11949 pub s_type: StructureType,
11950 pub next: *mut c_void,
11951 pub command_buffer_inheritance: Bool32,
11952}
11953
11954impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
11955 #[inline]
11956 fn default() -> Self {
11957 Self {
11958 s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
11959 next: ptr::null_mut(),
11960 command_buffer_inheritance: Bool32::default(),
11961 }
11962 }
11963}
11964
11965#[repr(C)]
11967#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11968pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
11969 pub s_type: StructureType,
11970 pub next: *mut c_void,
11971 pub compute_derivative_group_quads: Bool32,
11972 pub compute_derivative_group_linear: Bool32,
11973}
11974
11975impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
11976 #[inline]
11977 fn default() -> Self {
11978 Self {
11979 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
11980 next: ptr::null_mut(),
11981 compute_derivative_group_quads: Bool32::default(),
11982 compute_derivative_group_linear: Bool32::default(),
11983 }
11984 }
11985}
11986
11987#[repr(C)]
11989#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11990pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
11991 pub s_type: StructureType,
11992 pub next: *mut c_void,
11993 pub mesh_and_task_shader_derivatives: Bool32,
11994}
11995
11996impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
11997 #[inline]
11998 fn default() -> Self {
11999 Self {
12000 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
12001 next: ptr::null_mut(),
12002 mesh_and_task_shader_derivatives: Bool32::default(),
12003 }
12004 }
12005}
12006
12007#[repr(C)]
12009#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12010pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
12011 pub s_type: StructureType,
12012 pub next: *mut c_void,
12013 pub conditional_rendering: Bool32,
12014 pub inherited_conditional_rendering: Bool32,
12015}
12016
12017impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
12018 #[inline]
12019 fn default() -> Self {
12020 Self {
12021 s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
12022 next: ptr::null_mut(),
12023 conditional_rendering: Bool32::default(),
12024 inherited_conditional_rendering: Bool32::default(),
12025 }
12026 }
12027}
12028
12029#[repr(C)]
12031#[derive(Copy, Clone, Debug, PartialEq)]
12032pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
12033 pub s_type: StructureType,
12034 pub next: *mut c_void,
12035 pub primitive_overestimation_size: f32,
12036 pub max_extra_primitive_overestimation_size: f32,
12037 pub extra_primitive_overestimation_size_granularity: f32,
12038 pub primitive_underestimation: Bool32,
12039 pub conservative_point_and_line_rasterization: Bool32,
12040 pub degenerate_triangles_rasterized: Bool32,
12041 pub degenerate_lines_rasterized: Bool32,
12042 pub fully_covered_fragment_shader_input_variable: Bool32,
12043 pub conservative_rasterization_post_depth_coverage: Bool32,
12044}
12045
12046impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
12047 #[inline]
12048 fn default() -> Self {
12049 Self {
12050 s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
12051 next: ptr::null_mut(),
12052 primitive_overestimation_size: f32::default(),
12053 max_extra_primitive_overestimation_size: f32::default(),
12054 extra_primitive_overestimation_size_granularity: f32::default(),
12055 primitive_underestimation: Bool32::default(),
12056 conservative_point_and_line_rasterization: Bool32::default(),
12057 degenerate_triangles_rasterized: Bool32::default(),
12058 degenerate_lines_rasterized: Bool32::default(),
12059 fully_covered_fragment_shader_input_variable: Bool32::default(),
12060 conservative_rasterization_post_depth_coverage: Bool32::default(),
12061 }
12062 }
12063}
12064
12065#[repr(C)]
12067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12068pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
12069 pub s_type: StructureType,
12070 pub next: *mut c_void,
12071 pub cooperative_matrix_workgroup_scope: Bool32,
12072 pub cooperative_matrix_flexible_dimensions: Bool32,
12073 pub cooperative_matrix_reductions: Bool32,
12074 pub cooperative_matrix_conversions: Bool32,
12075 pub cooperative_matrix_per_element_operations: Bool32,
12076 pub cooperative_matrix_tensor_addressing: Bool32,
12077 pub cooperative_matrix_block_loads: Bool32,
12078}
12079
12080impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
12081 #[inline]
12082 fn default() -> Self {
12083 Self {
12084 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
12085 next: ptr::null_mut(),
12086 cooperative_matrix_workgroup_scope: Bool32::default(),
12087 cooperative_matrix_flexible_dimensions: Bool32::default(),
12088 cooperative_matrix_reductions: Bool32::default(),
12089 cooperative_matrix_conversions: Bool32::default(),
12090 cooperative_matrix_per_element_operations: Bool32::default(),
12091 cooperative_matrix_tensor_addressing: Bool32::default(),
12092 cooperative_matrix_block_loads: Bool32::default(),
12093 }
12094 }
12095}
12096
12097#[repr(C)]
12099#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12100pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
12101 pub s_type: StructureType,
12102 pub next: *mut c_void,
12103 pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
12104 pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
12105 pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
12106}
12107
12108impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
12109 #[inline]
12110 fn default() -> Self {
12111 Self {
12112 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
12113 next: ptr::null_mut(),
12114 cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
12115 cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
12116 cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
12117 }
12118 }
12119}
12120
12121#[repr(C)]
12123#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12124pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
12125 pub s_type: StructureType,
12126 pub next: *mut c_void,
12127 pub cooperative_matrix: Bool32,
12128 pub cooperative_matrix_robust_buffer_access: Bool32,
12129}
12130
12131impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
12132 #[inline]
12133 fn default() -> Self {
12134 Self {
12135 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
12136 next: ptr::null_mut(),
12137 cooperative_matrix: Bool32::default(),
12138 cooperative_matrix_robust_buffer_access: Bool32::default(),
12139 }
12140 }
12141}
12142
12143#[repr(C)]
12145#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12146pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
12147 pub s_type: StructureType,
12148 pub next: *mut c_void,
12149 pub cooperative_matrix: Bool32,
12150 pub cooperative_matrix_robust_buffer_access: Bool32,
12151}
12152
12153impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
12154 #[inline]
12155 fn default() -> Self {
12156 Self {
12157 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
12158 next: ptr::null_mut(),
12159 cooperative_matrix: Bool32::default(),
12160 cooperative_matrix_robust_buffer_access: Bool32::default(),
12161 }
12162 }
12163}
12164
12165#[repr(C)]
12167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12168pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
12169 pub s_type: StructureType,
12170 pub next: *mut c_void,
12171 pub cooperative_matrix_supported_stages: ShaderStageFlags,
12172}
12173
12174impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
12175 #[inline]
12176 fn default() -> Self {
12177 Self {
12178 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
12179 next: ptr::null_mut(),
12180 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
12181 }
12182 }
12183}
12184
12185#[repr(C)]
12187#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12188pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
12189 pub s_type: StructureType,
12190 pub next: *mut c_void,
12191 pub cooperative_matrix_supported_stages: ShaderStageFlags,
12192}
12193
12194impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
12195 #[inline]
12196 fn default() -> Self {
12197 Self {
12198 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
12199 next: ptr::null_mut(),
12200 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
12201 }
12202 }
12203}
12204
12205#[repr(C)]
12207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12208pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
12209 pub s_type: StructureType,
12210 pub next: *mut c_void,
12211 pub cooperative_vector: Bool32,
12212 pub cooperative_vector_training: Bool32,
12213}
12214
12215impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
12216 #[inline]
12217 fn default() -> Self {
12218 Self {
12219 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
12220 next: ptr::null_mut(),
12221 cooperative_vector: Bool32::default(),
12222 cooperative_vector_training: Bool32::default(),
12223 }
12224 }
12225}
12226
12227#[repr(C)]
12229#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12230pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
12231 pub s_type: StructureType,
12232 pub next: *mut c_void,
12233 pub cooperative_vector_supported_stages: ShaderStageFlags,
12234 pub cooperative_vector_training_float16_accumulation: Bool32,
12235 pub cooperative_vector_training_float32_accumulation: Bool32,
12236 pub max_cooperative_vector_components: u32,
12237}
12238
12239impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
12240 #[inline]
12241 fn default() -> Self {
12242 Self {
12243 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
12244 next: ptr::null_mut(),
12245 cooperative_vector_supported_stages: ShaderStageFlags::default(),
12246 cooperative_vector_training_float16_accumulation: Bool32::default(),
12247 cooperative_vector_training_float32_accumulation: Bool32::default(),
12248 max_cooperative_vector_components: u32::default(),
12249 }
12250 }
12251}
12252
12253#[repr(C)]
12255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12256pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
12257 pub s_type: StructureType,
12258 pub next: *mut c_void,
12259 pub indirect_copy: Bool32,
12260}
12261
12262impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
12263 #[inline]
12264 fn default() -> Self {
12265 Self {
12266 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
12267 next: ptr::null_mut(),
12268 indirect_copy: Bool32::default(),
12269 }
12270 }
12271}
12272
12273#[repr(C)]
12275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12276pub struct PhysicalDeviceCopyMemoryIndirectPropertiesNV {
12277 pub s_type: StructureType,
12278 pub next: *mut c_void,
12279 pub supported_queues: QueueFlags,
12280}
12281
12282impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesNV {
12283 #[inline]
12284 fn default() -> Self {
12285 Self {
12286 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV,
12287 next: ptr::null_mut(),
12288 supported_queues: QueueFlags::default(),
12289 }
12290 }
12291}
12292
12293#[repr(C)]
12295#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12296pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
12297 pub s_type: StructureType,
12298 pub next: *mut c_void,
12299 pub corner_sampled_image: Bool32,
12300}
12301
12302impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
12303 #[inline]
12304 fn default() -> Self {
12305 Self {
12306 s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
12307 next: ptr::null_mut(),
12308 corner_sampled_image: Bool32::default(),
12309 }
12310 }
12311}
12312
12313#[repr(C)]
12315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12316pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
12317 pub s_type: StructureType,
12318 pub next: *mut c_void,
12319 pub coverage_reduction_mode: Bool32,
12320}
12321
12322impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
12323 #[inline]
12324 fn default() -> Self {
12325 Self {
12326 s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
12327 next: ptr::null_mut(),
12328 coverage_reduction_mode: Bool32::default(),
12329 }
12330 }
12331}
12332
12333#[repr(C)]
12335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12336pub struct PhysicalDeviceCubicClampFeaturesQCOM {
12337 pub s_type: StructureType,
12338 pub next: *mut c_void,
12339 pub cubic_range_clamp: Bool32,
12340}
12341
12342impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
12343 #[inline]
12344 fn default() -> Self {
12345 Self {
12346 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
12347 next: ptr::null_mut(),
12348 cubic_range_clamp: Bool32::default(),
12349 }
12350 }
12351}
12352
12353#[repr(C)]
12355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12356pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
12357 pub s_type: StructureType,
12358 pub next: *mut c_void,
12359 pub selectable_cubic_weights: Bool32,
12360}
12361
12362impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
12363 #[inline]
12364 fn default() -> Self {
12365 Self {
12366 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
12367 next: ptr::null_mut(),
12368 selectable_cubic_weights: Bool32::default(),
12369 }
12370 }
12371}
12372
12373#[repr(C)]
12375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12376pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
12377 pub s_type: StructureType,
12378 pub next: *mut c_void,
12379 pub cuda_kernel_launch_features: Bool32,
12380}
12381
12382impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
12383 #[inline]
12384 fn default() -> Self {
12385 Self {
12386 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
12387 next: ptr::null_mut(),
12388 cuda_kernel_launch_features: Bool32::default(),
12389 }
12390 }
12391}
12392
12393#[repr(C)]
12395#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12396pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
12397 pub s_type: StructureType,
12398 pub next: *mut c_void,
12399 pub compute_capability_minor: u32,
12400 pub compute_capability_major: u32,
12401}
12402
12403impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
12404 #[inline]
12405 fn default() -> Self {
12406 Self {
12407 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
12408 next: ptr::null_mut(),
12409 compute_capability_minor: u32::default(),
12410 compute_capability_major: u32::default(),
12411 }
12412 }
12413}
12414
12415#[repr(C)]
12417#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12418pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
12419 pub s_type: StructureType,
12420 pub next: *mut c_void,
12421 pub custom_border_colors: Bool32,
12422 pub custom_border_color_without_format: Bool32,
12423}
12424
12425impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
12426 #[inline]
12427 fn default() -> Self {
12428 Self {
12429 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
12430 next: ptr::null_mut(),
12431 custom_border_colors: Bool32::default(),
12432 custom_border_color_without_format: Bool32::default(),
12433 }
12434 }
12435}
12436
12437#[repr(C)]
12439#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12440pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
12441 pub s_type: StructureType,
12442 pub next: *mut c_void,
12443 pub max_custom_border_color_samplers: u32,
12444}
12445
12446impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
12447 #[inline]
12448 fn default() -> Self {
12449 Self {
12450 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
12451 next: ptr::null_mut(),
12452 max_custom_border_color_samplers: u32::default(),
12453 }
12454 }
12455}
12456
12457#[repr(C)]
12459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12460pub struct PhysicalDeviceDataGraphFeaturesARM {
12461 pub s_type: StructureType,
12462 pub next: *mut c_void,
12463 pub data_graph: Bool32,
12464 pub data_graph_update_after_bind: Bool32,
12465 pub data_graph_specialization_constants: Bool32,
12466 pub data_graph_descriptor_buffer: Bool32,
12467 pub data_graph_shader_module: Bool32,
12468}
12469
12470impl Default for PhysicalDeviceDataGraphFeaturesARM {
12471 #[inline]
12472 fn default() -> Self {
12473 Self {
12474 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
12475 next: ptr::null_mut(),
12476 data_graph: Bool32::default(),
12477 data_graph_update_after_bind: Bool32::default(),
12478 data_graph_specialization_constants: Bool32::default(),
12479 data_graph_descriptor_buffer: Bool32::default(),
12480 data_graph_shader_module: Bool32::default(),
12481 }
12482 }
12483}
12484
12485#[repr(C)]
12487#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12488pub struct PhysicalDeviceDataGraphOperationSupportARM {
12489 pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
12490 pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
12491 pub version: u32,
12492}
12493
12494#[repr(C)]
12496#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12497pub struct PhysicalDeviceDataGraphProcessingEngineARM {
12498 pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
12499 pub is_foreign: Bool32,
12500}
12501
12502#[repr(C)]
12504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12505pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12506 pub s_type: StructureType,
12507 pub next: *mut c_void,
12508 pub dedicated_allocation_image_aliasing: Bool32,
12509}
12510
12511impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12512 #[inline]
12513 fn default() -> Self {
12514 Self {
12515 s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
12516 next: ptr::null_mut(),
12517 dedicated_allocation_image_aliasing: Bool32::default(),
12518 }
12519 }
12520}
12521
12522#[repr(C)]
12524#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12525pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
12526 pub s_type: StructureType,
12527 pub next: *mut c_void,
12528 pub depth_bias_control: Bool32,
12529 pub least_representable_value_force_unorm_representation: Bool32,
12530 pub float_representation: Bool32,
12531 pub depth_bias_exact: Bool32,
12532}
12533
12534impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
12535 #[inline]
12536 fn default() -> Self {
12537 Self {
12538 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
12539 next: ptr::null_mut(),
12540 depth_bias_control: Bool32::default(),
12541 least_representable_value_force_unorm_representation: Bool32::default(),
12542 float_representation: Bool32::default(),
12543 depth_bias_exact: Bool32::default(),
12544 }
12545 }
12546}
12547
12548#[repr(C)]
12550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12551pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
12552 pub s_type: StructureType,
12553 pub next: *mut c_void,
12554 pub depth_clamp_control: Bool32,
12555}
12556
12557impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
12558 #[inline]
12559 fn default() -> Self {
12560 Self {
12561 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
12562 next: ptr::null_mut(),
12563 depth_clamp_control: Bool32::default(),
12564 }
12565 }
12566}
12567
12568#[repr(C)]
12570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12571pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
12572 pub s_type: StructureType,
12573 pub next: *mut c_void,
12574 pub depth_clamp_zero_one: Bool32,
12575}
12576
12577impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
12578 #[inline]
12579 fn default() -> Self {
12580 Self {
12581 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
12582 next: ptr::null_mut(),
12583 depth_clamp_zero_one: Bool32::default(),
12584 }
12585 }
12586}
12587
12588#[repr(C)]
12590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12591pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
12592 pub s_type: StructureType,
12593 pub next: *mut c_void,
12594 pub depth_clip_control: Bool32,
12595}
12596
12597impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
12598 #[inline]
12599 fn default() -> Self {
12600 Self {
12601 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
12602 next: ptr::null_mut(),
12603 depth_clip_control: Bool32::default(),
12604 }
12605 }
12606}
12607
12608#[repr(C)]
12610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12611pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
12612 pub s_type: StructureType,
12613 pub next: *mut c_void,
12614 pub depth_clip_enable: Bool32,
12615}
12616
12617impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
12618 #[inline]
12619 fn default() -> Self {
12620 Self {
12621 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
12622 next: ptr::null_mut(),
12623 depth_clip_enable: Bool32::default(),
12624 }
12625 }
12626}
12627
12628#[repr(C)]
12630#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12631pub struct PhysicalDeviceDepthStencilResolveProperties {
12632 pub s_type: StructureType,
12633 pub next: *mut c_void,
12634 pub supported_depth_resolve_modes: ResolveModeFlags,
12635 pub supported_stencil_resolve_modes: ResolveModeFlags,
12636 pub independent_resolve_none: Bool32,
12637 pub independent_resolve: Bool32,
12638}
12639
12640impl Default for PhysicalDeviceDepthStencilResolveProperties {
12641 #[inline]
12642 fn default() -> Self {
12643 Self {
12644 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
12645 next: ptr::null_mut(),
12646 supported_depth_resolve_modes: ResolveModeFlags::default(),
12647 supported_stencil_resolve_modes: ResolveModeFlags::default(),
12648 independent_resolve_none: Bool32::default(),
12649 independent_resolve: Bool32::default(),
12650 }
12651 }
12652}
12653
12654#[repr(C)]
12656#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12657pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
12658 pub s_type: StructureType,
12659 pub next: *mut c_void,
12660 pub combined_image_sampler_density_map_descriptor_size: usize,
12661}
12662
12663impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
12664 #[inline]
12665 fn default() -> Self {
12666 Self {
12667 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
12668 next: ptr::null_mut(),
12669 combined_image_sampler_density_map_descriptor_size: usize::default(),
12670 }
12671 }
12672}
12673
12674#[repr(C)]
12676#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12677pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
12678 pub s_type: StructureType,
12679 pub next: *mut c_void,
12680 pub descriptor_buffer: Bool32,
12681 pub descriptor_buffer_capture_replay: Bool32,
12682 pub descriptor_buffer_image_layout_ignored: Bool32,
12683 pub descriptor_buffer_push_descriptors: Bool32,
12684}
12685
12686impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
12687 #[inline]
12688 fn default() -> Self {
12689 Self {
12690 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
12691 next: ptr::null_mut(),
12692 descriptor_buffer: Bool32::default(),
12693 descriptor_buffer_capture_replay: Bool32::default(),
12694 descriptor_buffer_image_layout_ignored: Bool32::default(),
12695 descriptor_buffer_push_descriptors: Bool32::default(),
12696 }
12697 }
12698}
12699
12700#[repr(C)]
12702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12703pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
12704 pub s_type: StructureType,
12705 pub next: *mut c_void,
12706 pub combined_image_sampler_descriptor_single_array: Bool32,
12707 pub bufferless_push_descriptors: Bool32,
12708 pub allow_sampler_image_view_post_submit_creation: Bool32,
12709 pub descriptor_buffer_offset_alignment: DeviceSize,
12710 pub max_descriptor_buffer_bindings: u32,
12711 pub max_resource_descriptor_buffer_bindings: u32,
12712 pub max_sampler_descriptor_buffer_bindings: u32,
12713 pub max_embedded_immutable_sampler_bindings: u32,
12714 pub max_embedded_immutable_samplers: u32,
12715 pub buffer_capture_replay_descriptor_data_size: usize,
12716 pub image_capture_replay_descriptor_data_size: usize,
12717 pub image_view_capture_replay_descriptor_data_size: usize,
12718 pub sampler_capture_replay_descriptor_data_size: usize,
12719 pub acceleration_structure_capture_replay_descriptor_data_size: usize,
12720 pub sampler_descriptor_size: usize,
12721 pub combined_image_sampler_descriptor_size: usize,
12722 pub sampled_image_descriptor_size: usize,
12723 pub storage_image_descriptor_size: usize,
12724 pub uniform_texel_buffer_descriptor_size: usize,
12725 pub robust_uniform_texel_buffer_descriptor_size: usize,
12726 pub storage_texel_buffer_descriptor_size: usize,
12727 pub robust_storage_texel_buffer_descriptor_size: usize,
12728 pub uniform_buffer_descriptor_size: usize,
12729 pub robust_uniform_buffer_descriptor_size: usize,
12730 pub storage_buffer_descriptor_size: usize,
12731 pub robust_storage_buffer_descriptor_size: usize,
12732 pub input_attachment_descriptor_size: usize,
12733 pub acceleration_structure_descriptor_size: usize,
12734 pub max_sampler_descriptor_buffer_range: DeviceSize,
12735 pub max_resource_descriptor_buffer_range: DeviceSize,
12736 pub sampler_descriptor_buffer_address_space_size: DeviceSize,
12737 pub resource_descriptor_buffer_address_space_size: DeviceSize,
12738 pub descriptor_buffer_address_space_size: DeviceSize,
12739}
12740
12741impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
12742 #[inline]
12743 fn default() -> Self {
12744 Self {
12745 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
12746 next: ptr::null_mut(),
12747 combined_image_sampler_descriptor_single_array: Bool32::default(),
12748 bufferless_push_descriptors: Bool32::default(),
12749 allow_sampler_image_view_post_submit_creation: Bool32::default(),
12750 descriptor_buffer_offset_alignment: DeviceSize::default(),
12751 max_descriptor_buffer_bindings: u32::default(),
12752 max_resource_descriptor_buffer_bindings: u32::default(),
12753 max_sampler_descriptor_buffer_bindings: u32::default(),
12754 max_embedded_immutable_sampler_bindings: u32::default(),
12755 max_embedded_immutable_samplers: u32::default(),
12756 buffer_capture_replay_descriptor_data_size: usize::default(),
12757 image_capture_replay_descriptor_data_size: usize::default(),
12758 image_view_capture_replay_descriptor_data_size: usize::default(),
12759 sampler_capture_replay_descriptor_data_size: usize::default(),
12760 acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
12761 sampler_descriptor_size: usize::default(),
12762 combined_image_sampler_descriptor_size: usize::default(),
12763 sampled_image_descriptor_size: usize::default(),
12764 storage_image_descriptor_size: usize::default(),
12765 uniform_texel_buffer_descriptor_size: usize::default(),
12766 robust_uniform_texel_buffer_descriptor_size: usize::default(),
12767 storage_texel_buffer_descriptor_size: usize::default(),
12768 robust_storage_texel_buffer_descriptor_size: usize::default(),
12769 uniform_buffer_descriptor_size: usize::default(),
12770 robust_uniform_buffer_descriptor_size: usize::default(),
12771 storage_buffer_descriptor_size: usize::default(),
12772 robust_storage_buffer_descriptor_size: usize::default(),
12773 input_attachment_descriptor_size: usize::default(),
12774 acceleration_structure_descriptor_size: usize::default(),
12775 max_sampler_descriptor_buffer_range: DeviceSize::default(),
12776 max_resource_descriptor_buffer_range: DeviceSize::default(),
12777 sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
12778 resource_descriptor_buffer_address_space_size: DeviceSize::default(),
12779 descriptor_buffer_address_space_size: DeviceSize::default(),
12780 }
12781 }
12782}
12783
12784#[repr(C)]
12786#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12787pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
12788 pub s_type: StructureType,
12789 pub next: *mut c_void,
12790 pub descriptor_buffer_tensor_descriptors: Bool32,
12791}
12792
12793impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
12794 #[inline]
12795 fn default() -> Self {
12796 Self {
12797 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
12798 next: ptr::null_mut(),
12799 descriptor_buffer_tensor_descriptors: Bool32::default(),
12800 }
12801 }
12802}
12803
12804#[repr(C)]
12806#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12807pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
12808 pub s_type: StructureType,
12809 pub next: *mut c_void,
12810 pub tensor_capture_replay_descriptor_data_size: usize,
12811 pub tensor_view_capture_replay_descriptor_data_size: usize,
12812 pub tensor_descriptor_size: usize,
12813}
12814
12815impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
12816 #[inline]
12817 fn default() -> Self {
12818 Self {
12819 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
12820 next: ptr::null_mut(),
12821 tensor_capture_replay_descriptor_data_size: usize::default(),
12822 tensor_view_capture_replay_descriptor_data_size: usize::default(),
12823 tensor_descriptor_size: usize::default(),
12824 }
12825 }
12826}
12827
12828#[repr(C)]
12830#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12831pub struct PhysicalDeviceDescriptorIndexingFeatures {
12832 pub s_type: StructureType,
12833 pub next: *mut c_void,
12834 pub shader_input_attachment_array_dynamic_indexing: Bool32,
12835 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
12836 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
12837 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
12838 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
12839 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
12840 pub shader_storage_image_array_non_uniform_indexing: Bool32,
12841 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
12842 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
12843 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
12844 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
12845 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
12846 pub descriptor_binding_storage_image_update_after_bind: Bool32,
12847 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
12848 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
12849 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
12850 pub descriptor_binding_update_unused_while_pending: Bool32,
12851 pub descriptor_binding_partially_bound: Bool32,
12852 pub descriptor_binding_variable_descriptor_count: Bool32,
12853 pub runtime_descriptor_array: Bool32,
12854}
12855
12856impl Default for PhysicalDeviceDescriptorIndexingFeatures {
12857 #[inline]
12858 fn default() -> Self {
12859 Self {
12860 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
12861 next: ptr::null_mut(),
12862 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
12863 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
12864 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
12865 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
12866 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
12867 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
12868 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
12869 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
12870 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
12871 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
12872 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
12873 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
12874 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
12875 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
12876 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
12877 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
12878 descriptor_binding_update_unused_while_pending: Bool32::default(),
12879 descriptor_binding_partially_bound: Bool32::default(),
12880 descriptor_binding_variable_descriptor_count: Bool32::default(),
12881 runtime_descriptor_array: Bool32::default(),
12882 }
12883 }
12884}
12885
12886#[repr(C)]
12888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12889pub struct PhysicalDeviceDescriptorIndexingProperties {
12890 pub s_type: StructureType,
12891 pub next: *mut c_void,
12892 pub max_update_after_bind_descriptors_in_all_pools: u32,
12893 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
12894 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
12895 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
12896 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
12897 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
12898 pub robust_buffer_access_update_after_bind: Bool32,
12899 pub quad_divergent_implicit_lod: Bool32,
12900 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
12901 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
12902 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
12903 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
12904 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
12905 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
12906 pub max_per_stage_update_after_bind_resources: u32,
12907 pub max_descriptor_set_update_after_bind_samplers: u32,
12908 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
12909 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
12910 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
12911 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
12912 pub max_descriptor_set_update_after_bind_sampled_images: u32,
12913 pub max_descriptor_set_update_after_bind_storage_images: u32,
12914 pub max_descriptor_set_update_after_bind_input_attachments: u32,
12915}
12916
12917impl Default for PhysicalDeviceDescriptorIndexingProperties {
12918 #[inline]
12919 fn default() -> Self {
12920 Self {
12921 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
12922 next: ptr::null_mut(),
12923 max_update_after_bind_descriptors_in_all_pools: u32::default(),
12924 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
12925 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
12926 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
12927 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
12928 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
12929 robust_buffer_access_update_after_bind: Bool32::default(),
12930 quad_divergent_implicit_lod: Bool32::default(),
12931 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
12932 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
12933 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
12934 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
12935 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
12936 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
12937 max_per_stage_update_after_bind_resources: u32::default(),
12938 max_descriptor_set_update_after_bind_samplers: u32::default(),
12939 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
12940 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
12941 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
12942 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
12943 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
12944 max_descriptor_set_update_after_bind_storage_images: u32::default(),
12945 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
12946 }
12947 }
12948}
12949
12950#[repr(C)]
12952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12953pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
12954 pub s_type: StructureType,
12955 pub next: *mut c_void,
12956 pub descriptor_pool_overallocation: Bool32,
12957}
12958
12959impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
12960 #[inline]
12961 fn default() -> Self {
12962 Self {
12963 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
12964 next: ptr::null_mut(),
12965 descriptor_pool_overallocation: Bool32::default(),
12966 }
12967 }
12968}
12969
12970#[repr(C)]
12972#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12973pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
12974 pub s_type: StructureType,
12975 pub next: *mut c_void,
12976 pub descriptor_set_host_mapping: Bool32,
12977}
12978
12979impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
12980 #[inline]
12981 fn default() -> Self {
12982 Self {
12983 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
12984 next: ptr::null_mut(),
12985 descriptor_set_host_mapping: Bool32::default(),
12986 }
12987 }
12988}
12989
12990#[repr(C)]
12992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12993pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
12994 pub s_type: StructureType,
12995 pub next: *mut c_void,
12996 pub device_generated_compute: Bool32,
12997 pub device_generated_compute_pipelines: Bool32,
12998 pub device_generated_compute_capture_replay: Bool32,
12999}
13000
13001impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
13002 #[inline]
13003 fn default() -> Self {
13004 Self {
13005 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
13006 next: ptr::null_mut(),
13007 device_generated_compute: Bool32::default(),
13008 device_generated_compute_pipelines: Bool32::default(),
13009 device_generated_compute_capture_replay: Bool32::default(),
13010 }
13011 }
13012}
13013
13014#[repr(C)]
13016#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13017pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
13018 pub s_type: StructureType,
13019 pub next: *mut c_void,
13020 pub device_generated_commands: Bool32,
13021 pub dynamic_generated_pipeline_layout: Bool32,
13022}
13023
13024impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
13025 #[inline]
13026 fn default() -> Self {
13027 Self {
13028 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
13029 next: ptr::null_mut(),
13030 device_generated_commands: Bool32::default(),
13031 dynamic_generated_pipeline_layout: Bool32::default(),
13032 }
13033 }
13034}
13035
13036#[repr(C)]
13038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13039pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13040 pub s_type: StructureType,
13041 pub next: *mut c_void,
13042 pub device_generated_commands: Bool32,
13043}
13044
13045impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13046 #[inline]
13047 fn default() -> Self {
13048 Self {
13049 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
13050 next: ptr::null_mut(),
13051 device_generated_commands: Bool32::default(),
13052 }
13053 }
13054}
13055
13056#[repr(C)]
13058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13059pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
13060 pub s_type: StructureType,
13061 pub next: *mut c_void,
13062 pub max_indirect_pipeline_count: u32,
13063 pub max_indirect_shader_object_count: u32,
13064 pub max_indirect_sequence_count: u32,
13065 pub max_indirect_commands_token_count: u32,
13066 pub max_indirect_commands_token_offset: u32,
13067 pub max_indirect_commands_indirect_stride: u32,
13068 pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
13069 pub supported_indirect_commands_shader_stages: ShaderStageFlags,
13070 pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
13071 pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
13072 pub device_generated_commands_transform_feedback: Bool32,
13073 pub device_generated_commands_multi_draw_indirect_count: Bool32,
13074}
13075
13076impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
13077 #[inline]
13078 fn default() -> Self {
13079 Self {
13080 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
13081 next: ptr::null_mut(),
13082 max_indirect_pipeline_count: u32::default(),
13083 max_indirect_shader_object_count: u32::default(),
13084 max_indirect_sequence_count: u32::default(),
13085 max_indirect_commands_token_count: u32::default(),
13086 max_indirect_commands_token_offset: u32::default(),
13087 max_indirect_commands_indirect_stride: u32::default(),
13088 supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
13089 supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
13090 supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
13091 supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
13092 device_generated_commands_transform_feedback: Bool32::default(),
13093 device_generated_commands_multi_draw_indirect_count: Bool32::default(),
13094 }
13095 }
13096}
13097
13098#[repr(C)]
13100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13101pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13102 pub s_type: StructureType,
13103 pub next: *mut c_void,
13104 pub max_graphics_shader_group_count: u32,
13105 pub max_indirect_sequence_count: u32,
13106 pub max_indirect_commands_token_count: u32,
13107 pub max_indirect_commands_stream_count: u32,
13108 pub max_indirect_commands_token_offset: u32,
13109 pub max_indirect_commands_stream_stride: u32,
13110 pub min_sequences_count_buffer_offset_alignment: u32,
13111 pub min_sequences_index_buffer_offset_alignment: u32,
13112 pub min_indirect_commands_buffer_offset_alignment: u32,
13113}
13114
13115impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13116 #[inline]
13117 fn default() -> Self {
13118 Self {
13119 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
13120 next: ptr::null_mut(),
13121 max_graphics_shader_group_count: u32::default(),
13122 max_indirect_sequence_count: u32::default(),
13123 max_indirect_commands_token_count: u32::default(),
13124 max_indirect_commands_stream_count: u32::default(),
13125 max_indirect_commands_token_offset: u32::default(),
13126 max_indirect_commands_stream_stride: u32::default(),
13127 min_sequences_count_buffer_offset_alignment: u32::default(),
13128 min_sequences_index_buffer_offset_alignment: u32::default(),
13129 min_indirect_commands_buffer_offset_alignment: u32::default(),
13130 }
13131 }
13132}
13133
13134#[repr(C)]
13136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13137pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
13138 pub s_type: StructureType,
13139 pub next: *mut c_void,
13140 pub device_memory_report: Bool32,
13141}
13142
13143impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
13144 #[inline]
13145 fn default() -> Self {
13146 Self {
13147 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
13148 next: ptr::null_mut(),
13149 device_memory_report: Bool32::default(),
13150 }
13151 }
13152}
13153
13154#[repr(C)]
13156#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13157pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
13158 pub s_type: StructureType,
13159 pub next: *mut c_void,
13160 pub diagnostics_config: Bool32,
13161}
13162
13163impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
13164 #[inline]
13165 fn default() -> Self {
13166 Self {
13167 s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
13168 next: ptr::null_mut(),
13169 diagnostics_config: Bool32::default(),
13170 }
13171 }
13172}
13173
13174#[repr(C)]
13176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13177pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
13178 pub s_type: StructureType,
13179 pub next: *mut c_void,
13180 pub max_discard_rectangles: u32,
13181}
13182
13183impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
13184 #[inline]
13185 fn default() -> Self {
13186 Self {
13187 s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
13188 next: ptr::null_mut(),
13189 max_discard_rectangles: u32::default(),
13190 }
13191 }
13192}
13193
13194#[repr(C)]
13196#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13197pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
13198 pub s_type: StructureType,
13199 pub next: *mut c_void,
13200 pub displacement_micromap: Bool32,
13201}
13202
13203impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
13204 #[inline]
13205 fn default() -> Self {
13206 Self {
13207 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
13208 next: ptr::null_mut(),
13209 displacement_micromap: Bool32::default(),
13210 }
13211 }
13212}
13213
13214#[repr(C)]
13216#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13217pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
13218 pub s_type: StructureType,
13219 pub next: *mut c_void,
13220 pub max_displacement_micromap_subdivision_level: u32,
13221}
13222
13223impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
13224 #[inline]
13225 fn default() -> Self {
13226 Self {
13227 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
13228 next: ptr::null_mut(),
13229 max_displacement_micromap_subdivision_level: u32::default(),
13230 }
13231 }
13232}
13233
13234#[repr(C)]
13236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13237pub struct PhysicalDeviceDriverProperties {
13238 pub s_type: StructureType,
13239 pub next: *mut c_void,
13240 pub driver_id: DriverId,
13241 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
13242 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
13243 pub conformance_version: ConformanceVersion,
13244}
13245
13246impl Default for PhysicalDeviceDriverProperties {
13247 #[inline]
13248 fn default() -> Self {
13249 Self {
13250 s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
13251 next: ptr::null_mut(),
13252 driver_id: DriverId::default(),
13253 driver_name: StringArray::default(),
13254 driver_info: StringArray::default(),
13255 conformance_version: ConformanceVersion::default(),
13256 }
13257 }
13258}
13259
13260#[repr(C)]
13262#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13263pub struct PhysicalDeviceDrmPropertiesEXT {
13264 pub s_type: StructureType,
13265 pub next: *mut c_void,
13266 pub has_primary: Bool32,
13267 pub has_render: Bool32,
13268 pub primary_major: i64,
13269 pub primary_minor: i64,
13270 pub render_major: i64,
13271 pub render_minor: i64,
13272}
13273
13274impl Default for PhysicalDeviceDrmPropertiesEXT {
13275 #[inline]
13276 fn default() -> Self {
13277 Self {
13278 s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
13279 next: ptr::null_mut(),
13280 has_primary: Bool32::default(),
13281 has_render: Bool32::default(),
13282 primary_major: i64::default(),
13283 primary_minor: i64::default(),
13284 render_major: i64::default(),
13285 render_minor: i64::default(),
13286 }
13287 }
13288}
13289
13290#[repr(C)]
13292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13293pub struct PhysicalDeviceDynamicRenderingFeatures {
13294 pub s_type: StructureType,
13295 pub next: *mut c_void,
13296 pub dynamic_rendering: Bool32,
13297}
13298
13299impl Default for PhysicalDeviceDynamicRenderingFeatures {
13300 #[inline]
13301 fn default() -> Self {
13302 Self {
13303 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
13304 next: ptr::null_mut(),
13305 dynamic_rendering: Bool32::default(),
13306 }
13307 }
13308}
13309
13310#[repr(C)]
13312#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13313pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
13314 pub s_type: StructureType,
13315 pub next: *mut c_void,
13316 pub dynamic_rendering_local_read: Bool32,
13317}
13318
13319impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
13320 #[inline]
13321 fn default() -> Self {
13322 Self {
13323 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
13324 next: ptr::null_mut(),
13325 dynamic_rendering_local_read: Bool32::default(),
13326 }
13327 }
13328}
13329
13330#[repr(C)]
13332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13333pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
13334 pub s_type: StructureType,
13335 pub next: *mut c_void,
13336 pub dynamic_rendering_unused_attachments: Bool32,
13337}
13338
13339impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
13340 #[inline]
13341 fn default() -> Self {
13342 Self {
13343 s_type:
13344 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
13345 next: ptr::null_mut(),
13346 dynamic_rendering_unused_attachments: Bool32::default(),
13347 }
13348 }
13349}
13350
13351#[repr(C)]
13353#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13354pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
13355 pub s_type: StructureType,
13356 pub next: *mut c_void,
13357 pub exclusive_scissor: Bool32,
13358}
13359
13360impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
13361 #[inline]
13362 fn default() -> Self {
13363 Self {
13364 s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
13365 next: ptr::null_mut(),
13366 exclusive_scissor: Bool32::default(),
13367 }
13368 }
13369}
13370
13371#[repr(C)]
13373#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13374pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
13375 pub s_type: StructureType,
13376 pub next: *mut c_void,
13377 pub extended_dynamic_state2: Bool32,
13378 pub extended_dynamic_state2_logic_op: Bool32,
13379 pub extended_dynamic_state2_patch_control_points: Bool32,
13380}
13381
13382impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
13383 #[inline]
13384 fn default() -> Self {
13385 Self {
13386 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
13387 next: ptr::null_mut(),
13388 extended_dynamic_state2: Bool32::default(),
13389 extended_dynamic_state2_logic_op: Bool32::default(),
13390 extended_dynamic_state2_patch_control_points: Bool32::default(),
13391 }
13392 }
13393}
13394
13395#[repr(C)]
13397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13398pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
13399 pub s_type: StructureType,
13400 pub next: *mut c_void,
13401 pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
13402 pub extended_dynamic_state_3depth_clamp_enable: Bool32,
13403 pub extended_dynamic_state3_polygon_mode: Bool32,
13404 pub extended_dynamic_state3_rasterization_samples: Bool32,
13405 pub extended_dynamic_state3_sample_mask: Bool32,
13406 pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
13407 pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
13408 pub extended_dynamic_state3_logic_op_enable: Bool32,
13409 pub extended_dynamic_state3_color_blend_enable: Bool32,
13410 pub extended_dynamic_state3_color_blend_equation: Bool32,
13411 pub extended_dynamic_state3_color_write_mask: Bool32,
13412 pub extended_dynamic_state3_rasterization_stream: Bool32,
13413 pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
13414 pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
13415 pub extended_dynamic_state_3depth_clip_enable: Bool32,
13416 pub extended_dynamic_state3_sample_locations_enable: Bool32,
13417 pub extended_dynamic_state3_color_blend_advanced: Bool32,
13418 pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
13419 pub extended_dynamic_state3_line_rasterization_mode: Bool32,
13420 pub extended_dynamic_state3_line_stipple_enable: Bool32,
13421 pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
13422 pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
13423 pub extended_dynamic_state3_viewport_swizzle: Bool32,
13424 pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
13425 pub extended_dynamic_state3_coverage_to_color_location: Bool32,
13426 pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
13427 pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
13428 pub extended_dynamic_state3_coverage_modulation_table: Bool32,
13429 pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
13430 pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
13431 pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
13432}
13433
13434impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
13435 #[inline]
13436 fn default() -> Self {
13437 Self {
13438 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
13439 next: ptr::null_mut(),
13440 extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
13441 extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
13442 extended_dynamic_state3_polygon_mode: Bool32::default(),
13443 extended_dynamic_state3_rasterization_samples: Bool32::default(),
13444 extended_dynamic_state3_sample_mask: Bool32::default(),
13445 extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
13446 extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
13447 extended_dynamic_state3_logic_op_enable: Bool32::default(),
13448 extended_dynamic_state3_color_blend_enable: Bool32::default(),
13449 extended_dynamic_state3_color_blend_equation: Bool32::default(),
13450 extended_dynamic_state3_color_write_mask: Bool32::default(),
13451 extended_dynamic_state3_rasterization_stream: Bool32::default(),
13452 extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
13453 extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
13454 extended_dynamic_state_3depth_clip_enable: Bool32::default(),
13455 extended_dynamic_state3_sample_locations_enable: Bool32::default(),
13456 extended_dynamic_state3_color_blend_advanced: Bool32::default(),
13457 extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
13458 extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
13459 extended_dynamic_state3_line_stipple_enable: Bool32::default(),
13460 extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
13461 extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
13462 extended_dynamic_state3_viewport_swizzle: Bool32::default(),
13463 extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
13464 extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
13465 extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
13466 extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
13467 extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
13468 extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
13469 extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
13470 extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
13471 }
13472 }
13473}
13474
13475#[repr(C)]
13477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13478pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
13479 pub s_type: StructureType,
13480 pub next: *mut c_void,
13481 pub dynamic_primitive_topology_unrestricted: Bool32,
13482}
13483
13484impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
13485 #[inline]
13486 fn default() -> Self {
13487 Self {
13488 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
13489 next: ptr::null_mut(),
13490 dynamic_primitive_topology_unrestricted: Bool32::default(),
13491 }
13492 }
13493}
13494
13495#[repr(C)]
13497#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13498pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
13499 pub s_type: StructureType,
13500 pub next: *mut c_void,
13501 pub extended_dynamic_state: Bool32,
13502}
13503
13504impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
13505 #[inline]
13506 fn default() -> Self {
13507 Self {
13508 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
13509 next: ptr::null_mut(),
13510 extended_dynamic_state: Bool32::default(),
13511 }
13512 }
13513}
13514
13515#[repr(C)]
13517#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13518pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
13519 pub s_type: StructureType,
13520 pub next: *mut c_void,
13521 pub extended_sparse_address_space: Bool32,
13522}
13523
13524impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
13525 #[inline]
13526 fn default() -> Self {
13527 Self {
13528 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
13529 next: ptr::null_mut(),
13530 extended_sparse_address_space: Bool32::default(),
13531 }
13532 }
13533}
13534
13535#[repr(C)]
13537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13538pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
13539 pub s_type: StructureType,
13540 pub next: *mut c_void,
13541 pub extended_sparse_address_space_size: DeviceSize,
13542 pub extended_sparse_image_usage_flags: ImageUsageFlags,
13543 pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
13544}
13545
13546impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
13547 #[inline]
13548 fn default() -> Self {
13549 Self {
13550 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
13551 next: ptr::null_mut(),
13552 extended_sparse_address_space_size: DeviceSize::default(),
13553 extended_sparse_image_usage_flags: ImageUsageFlags::default(),
13554 extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
13555 }
13556 }
13557}
13558
13559#[repr(C)]
13561#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13562pub struct PhysicalDeviceExternalBufferInfo {
13563 pub s_type: StructureType,
13564 pub next: *const c_void,
13565 pub flags: BufferCreateFlags,
13566 pub usage: BufferUsageFlags,
13567 pub handle_type: ExternalMemoryHandleTypeFlags,
13568}
13569
13570impl Default for PhysicalDeviceExternalBufferInfo {
13571 #[inline]
13572 fn default() -> Self {
13573 Self {
13574 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
13575 next: ptr::null(),
13576 flags: BufferCreateFlags::default(),
13577 usage: BufferUsageFlags::default(),
13578 handle_type: ExternalMemoryHandleTypeFlags::default(),
13579 }
13580 }
13581}
13582
13583#[repr(C)]
13585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13586pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
13587 pub s_type: StructureType,
13588 pub next: *mut c_void,
13589 pub external_data_size: u32,
13590 pub max_external_queues: u32,
13591}
13592
13593impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
13594 #[inline]
13595 fn default() -> Self {
13596 Self {
13597 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
13598 next: ptr::null_mut(),
13599 external_data_size: u32::default(),
13600 max_external_queues: u32::default(),
13601 }
13602 }
13603}
13604
13605#[repr(C)]
13607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13608pub struct PhysicalDeviceExternalFenceInfo {
13609 pub s_type: StructureType,
13610 pub next: *const c_void,
13611 pub handle_type: ExternalFenceHandleTypeFlags,
13612}
13613
13614impl Default for PhysicalDeviceExternalFenceInfo {
13615 #[inline]
13616 fn default() -> Self {
13617 Self {
13618 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
13619 next: ptr::null(),
13620 handle_type: ExternalFenceHandleTypeFlags::default(),
13621 }
13622 }
13623}
13624
13625#[repr(C)]
13627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13628pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
13629 pub s_type: StructureType,
13630 pub next: *mut c_void,
13631 pub external_format_resolve: Bool32,
13632}
13633
13634impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
13635 #[inline]
13636 fn default() -> Self {
13637 Self {
13638 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
13639 next: ptr::null_mut(),
13640 external_format_resolve: Bool32::default(),
13641 }
13642 }
13643}
13644
13645#[repr(C)]
13647#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13648pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
13649 pub s_type: StructureType,
13650 pub next: *mut c_void,
13651 pub null_color_attachment_with_external_format_resolve: Bool32,
13652 pub external_format_resolve_chroma_offset_x: ChromaLocation,
13653 pub external_format_resolve_chroma_offset_y: ChromaLocation,
13654}
13655
13656impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
13657 #[inline]
13658 fn default() -> Self {
13659 Self {
13660 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
13661 next: ptr::null_mut(),
13662 null_color_attachment_with_external_format_resolve: Bool32::default(),
13663 external_format_resolve_chroma_offset_x: ChromaLocation::default(),
13664 external_format_resolve_chroma_offset_y: ChromaLocation::default(),
13665 }
13666 }
13667}
13668
13669#[repr(C)]
13671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13672pub struct PhysicalDeviceExternalImageFormatInfo {
13673 pub s_type: StructureType,
13674 pub next: *const c_void,
13675 pub handle_type: ExternalMemoryHandleTypeFlags,
13676}
13677
13678impl Default for PhysicalDeviceExternalImageFormatInfo {
13679 #[inline]
13680 fn default() -> Self {
13681 Self {
13682 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
13683 next: ptr::null(),
13684 handle_type: ExternalMemoryHandleTypeFlags::default(),
13685 }
13686 }
13687}
13688
13689#[repr(C)]
13691#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13692pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
13693 pub s_type: StructureType,
13694 pub next: *mut c_void,
13695 pub min_imported_host_pointer_alignment: DeviceSize,
13696}
13697
13698impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
13699 #[inline]
13700 fn default() -> Self {
13701 Self {
13702 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
13703 next: ptr::null_mut(),
13704 min_imported_host_pointer_alignment: DeviceSize::default(),
13705 }
13706 }
13707}
13708
13709#[repr(C)]
13711#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13712pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
13713 pub s_type: StructureType,
13714 pub next: *mut c_void,
13715 pub external_memory_rdma: Bool32,
13716}
13717
13718impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
13719 #[inline]
13720 fn default() -> Self {
13721 Self {
13722 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
13723 next: ptr::null_mut(),
13724 external_memory_rdma: Bool32::default(),
13725 }
13726 }
13727}
13728
13729#[repr(C)]
13731#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13732pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
13733 pub s_type: StructureType,
13734 pub next: *mut c_void,
13735 pub sci_buf_import: Bool32,
13736 pub sci_buf_export: Bool32,
13737}
13738
13739impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
13740 #[inline]
13741 fn default() -> Self {
13742 Self {
13743 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
13744 next: ptr::null_mut(),
13745 sci_buf_import: Bool32::default(),
13746 sci_buf_export: Bool32::default(),
13747 }
13748 }
13749}
13750
13751#[repr(C)]
13753#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13754pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
13755 pub s_type: StructureType,
13756 pub next: *mut c_void,
13757 pub screen_buffer_import: Bool32,
13758}
13759
13760impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
13761 #[inline]
13762 fn default() -> Self {
13763 Self {
13764 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
13765 next: ptr::null_mut(),
13766 screen_buffer_import: Bool32::default(),
13767 }
13768 }
13769}
13770
13771#[repr(C)]
13773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13774pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
13775 pub s_type: StructureType,
13776 pub next: *mut c_void,
13777 pub sci_sync_fence: Bool32,
13778 pub sci_sync_semaphore2: Bool32,
13779 pub sci_sync_import: Bool32,
13780 pub sci_sync_export: Bool32,
13781}
13782
13783impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
13784 #[inline]
13785 fn default() -> Self {
13786 Self {
13787 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
13788 next: ptr::null_mut(),
13789 sci_sync_fence: Bool32::default(),
13790 sci_sync_semaphore2: Bool32::default(),
13791 sci_sync_import: Bool32::default(),
13792 sci_sync_export: Bool32::default(),
13793 }
13794 }
13795}
13796
13797#[repr(C)]
13799#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13800pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
13801 pub s_type: StructureType,
13802 pub next: *mut c_void,
13803 pub sci_sync_fence: Bool32,
13804 pub sci_sync_semaphore: Bool32,
13805 pub sci_sync_import: Bool32,
13806 pub sci_sync_export: Bool32,
13807}
13808
13809impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
13810 #[inline]
13811 fn default() -> Self {
13812 Self {
13813 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
13814 next: ptr::null_mut(),
13815 sci_sync_fence: Bool32::default(),
13816 sci_sync_semaphore: Bool32::default(),
13817 sci_sync_import: Bool32::default(),
13818 sci_sync_export: Bool32::default(),
13819 }
13820 }
13821}
13822
13823#[repr(C)]
13825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13826pub struct PhysicalDeviceExternalSemaphoreInfo {
13827 pub s_type: StructureType,
13828 pub next: *const c_void,
13829 pub handle_type: ExternalSemaphoreHandleTypeFlags,
13830}
13831
13832impl Default for PhysicalDeviceExternalSemaphoreInfo {
13833 #[inline]
13834 fn default() -> Self {
13835 Self {
13836 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
13837 next: ptr::null(),
13838 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
13839 }
13840 }
13841}
13842
13843#[repr(C)]
13845#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13846pub struct PhysicalDeviceExternalTensorInfoARM {
13847 pub s_type: StructureType,
13848 pub next: *const c_void,
13849 pub flags: TensorCreateFlagsARM,
13850 pub description: *const TensorDescriptionARM,
13851 pub handle_type: ExternalMemoryHandleTypeFlags,
13852}
13853
13854impl Default for PhysicalDeviceExternalTensorInfoARM {
13855 #[inline]
13856 fn default() -> Self {
13857 Self {
13858 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
13859 next: ptr::null(),
13860 flags: TensorCreateFlagsARM::default(),
13861 description: ptr::null(),
13862 handle_type: ExternalMemoryHandleTypeFlags::default(),
13863 }
13864 }
13865}
13866
13867#[repr(C)]
13869#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13870pub struct PhysicalDeviceFaultFeaturesEXT {
13871 pub s_type: StructureType,
13872 pub next: *mut c_void,
13873 pub device_fault: Bool32,
13874 pub device_fault_vendor_binary: Bool32,
13875}
13876
13877impl Default for PhysicalDeviceFaultFeaturesEXT {
13878 #[inline]
13879 fn default() -> Self {
13880 Self {
13881 s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
13882 next: ptr::null_mut(),
13883 device_fault: Bool32::default(),
13884 device_fault_vendor_binary: Bool32::default(),
13885 }
13886 }
13887}
13888
13889#[repr(C)]
13891#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
13892pub struct PhysicalDeviceFeatures {
13893 pub robust_buffer_access: Bool32,
13894 pub full_draw_index_uint32: Bool32,
13895 pub image_cube_array: Bool32,
13896 pub independent_blend: Bool32,
13897 pub geometry_shader: Bool32,
13898 pub tessellation_shader: Bool32,
13899 pub sample_rate_shading: Bool32,
13900 pub dual_src_blend: Bool32,
13901 pub logic_op: Bool32,
13902 pub multi_draw_indirect: Bool32,
13903 pub draw_indirect_first_instance: Bool32,
13904 pub depth_clamp: Bool32,
13905 pub depth_bias_clamp: Bool32,
13906 pub fill_mode_non_solid: Bool32,
13907 pub depth_bounds: Bool32,
13908 pub wide_lines: Bool32,
13909 pub large_points: Bool32,
13910 pub alpha_to_one: Bool32,
13911 pub multi_viewport: Bool32,
13912 pub sampler_anisotropy: Bool32,
13913 pub texture_compression_etc2: Bool32,
13914 pub texture_compression_astc_ldr: Bool32,
13915 pub texture_compression_bc: Bool32,
13916 pub occlusion_query_precise: Bool32,
13917 pub pipeline_statistics_query: Bool32,
13918 pub vertex_pipeline_stores_and_atomics: Bool32,
13919 pub fragment_stores_and_atomics: Bool32,
13920 pub shader_tessellation_and_geometry_point_size: Bool32,
13921 pub shader_image_gather_extended: Bool32,
13922 pub shader_storage_image_extended_formats: Bool32,
13923 pub shader_storage_image_multisample: Bool32,
13924 pub shader_storage_image_read_without_format: Bool32,
13925 pub shader_storage_image_write_without_format: Bool32,
13926 pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
13927 pub shader_sampled_image_array_dynamic_indexing: Bool32,
13928 pub shader_storage_buffer_array_dynamic_indexing: Bool32,
13929 pub shader_storage_image_array_dynamic_indexing: Bool32,
13930 pub shader_clip_distance: Bool32,
13931 pub shader_cull_distance: Bool32,
13932 pub shader_float64: Bool32,
13933 pub shader_int64: Bool32,
13934 pub shader_int16: Bool32,
13935 pub shader_resource_residency: Bool32,
13936 pub shader_resource_min_lod: Bool32,
13937 pub sparse_binding: Bool32,
13938 pub sparse_residency_buffer: Bool32,
13939 pub sparse_residency_image_2d: Bool32,
13940 pub sparse_residency_image_3d: Bool32,
13941 pub sparse_residency2_samples: Bool32,
13942 pub sparse_residency4_samples: Bool32,
13943 pub sparse_residency8_samples: Bool32,
13944 pub sparse_residency16_samples: Bool32,
13945 pub sparse_residency_aliased: Bool32,
13946 pub variable_multisample_rate: Bool32,
13947 pub inherited_queries: Bool32,
13948}
13949
13950#[repr(C)]
13952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13953pub struct PhysicalDeviceFeatures2 {
13954 pub s_type: StructureType,
13955 pub next: *mut c_void,
13956 pub features: PhysicalDeviceFeatures,
13957}
13958
13959impl Default for PhysicalDeviceFeatures2 {
13960 #[inline]
13961 fn default() -> Self {
13962 Self {
13963 s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
13964 next: ptr::null_mut(),
13965 features: PhysicalDeviceFeatures::default(),
13966 }
13967 }
13968}
13969
13970#[repr(C)]
13972#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13973pub struct PhysicalDeviceFloatControlsProperties {
13974 pub s_type: StructureType,
13975 pub next: *mut c_void,
13976 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
13977 pub rounding_mode_independence: ShaderFloatControlsIndependence,
13978 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
13979 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
13980 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
13981 pub shader_denorm_preserve_float16: Bool32,
13982 pub shader_denorm_preserve_float32: Bool32,
13983 pub shader_denorm_preserve_float64: Bool32,
13984 pub shader_denorm_flush_to_zero_float16: Bool32,
13985 pub shader_denorm_flush_to_zero_float32: Bool32,
13986 pub shader_denorm_flush_to_zero_float64: Bool32,
13987 pub shader_rounding_mode_rte_float16: Bool32,
13988 pub shader_rounding_mode_rte_float32: Bool32,
13989 pub shader_rounding_mode_rte_float64: Bool32,
13990 pub shader_rounding_mode_rtz_float16: Bool32,
13991 pub shader_rounding_mode_rtz_float32: Bool32,
13992 pub shader_rounding_mode_rtz_float64: Bool32,
13993}
13994
13995impl Default for PhysicalDeviceFloatControlsProperties {
13996 #[inline]
13997 fn default() -> Self {
13998 Self {
13999 s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
14000 next: ptr::null_mut(),
14001 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
14002 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
14003 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
14004 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
14005 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
14006 shader_denorm_preserve_float16: Bool32::default(),
14007 shader_denorm_preserve_float32: Bool32::default(),
14008 shader_denorm_preserve_float64: Bool32::default(),
14009 shader_denorm_flush_to_zero_float16: Bool32::default(),
14010 shader_denorm_flush_to_zero_float32: Bool32::default(),
14011 shader_denorm_flush_to_zero_float64: Bool32::default(),
14012 shader_rounding_mode_rte_float16: Bool32::default(),
14013 shader_rounding_mode_rte_float32: Bool32::default(),
14014 shader_rounding_mode_rte_float64: Bool32::default(),
14015 shader_rounding_mode_rtz_float16: Bool32::default(),
14016 shader_rounding_mode_rtz_float32: Bool32::default(),
14017 shader_rounding_mode_rtz_float64: Bool32::default(),
14018 }
14019 }
14020}
14021
14022#[repr(C)]
14024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14025pub struct PhysicalDeviceFormatPackFeaturesARM {
14026 pub s_type: StructureType,
14027 pub next: *mut c_void,
14028 pub format_pack: Bool32,
14029}
14030
14031impl Default for PhysicalDeviceFormatPackFeaturesARM {
14032 #[inline]
14033 fn default() -> Self {
14034 Self {
14035 s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
14036 next: ptr::null_mut(),
14037 format_pack: Bool32::default(),
14038 }
14039 }
14040}
14041
14042#[repr(C)]
14044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14045pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
14046 pub s_type: StructureType,
14047 pub next: *mut c_void,
14048 pub fragment_density_map_deferred: Bool32,
14049}
14050
14051impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
14052 #[inline]
14053 fn default() -> Self {
14054 Self {
14055 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
14056 next: ptr::null_mut(),
14057 fragment_density_map_deferred: Bool32::default(),
14058 }
14059 }
14060}
14061
14062#[repr(C)]
14064#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14065pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
14066 pub s_type: StructureType,
14067 pub next: *mut c_void,
14068 pub subsampled_loads: Bool32,
14069 pub subsampled_coarse_reconstruction_early_access: Bool32,
14070 pub max_subsampled_array_layers: u32,
14071 pub max_descriptor_set_subsampled_samplers: u32,
14072}
14073
14074impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
14075 #[inline]
14076 fn default() -> Self {
14077 Self {
14078 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
14079 next: ptr::null_mut(),
14080 subsampled_loads: Bool32::default(),
14081 subsampled_coarse_reconstruction_early_access: Bool32::default(),
14082 max_subsampled_array_layers: u32::default(),
14083 max_descriptor_set_subsampled_samplers: u32::default(),
14084 }
14085 }
14086}
14087
14088#[repr(C)]
14090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14091pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
14092 pub s_type: StructureType,
14093 pub next: *mut c_void,
14094 pub fragment_density_map: Bool32,
14095 pub fragment_density_map_dynamic: Bool32,
14096 pub fragment_density_map_non_subsampled_images: Bool32,
14097}
14098
14099impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
14100 #[inline]
14101 fn default() -> Self {
14102 Self {
14103 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
14104 next: ptr::null_mut(),
14105 fragment_density_map: Bool32::default(),
14106 fragment_density_map_dynamic: Bool32::default(),
14107 fragment_density_map_non_subsampled_images: Bool32::default(),
14108 }
14109 }
14110}
14111
14112#[repr(C)]
14114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14115pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
14116 pub s_type: StructureType,
14117 pub next: *mut c_void,
14118 pub fragment_density_map_layered: Bool32,
14119}
14120
14121impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
14122 #[inline]
14123 fn default() -> Self {
14124 Self {
14125 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
14126 next: ptr::null_mut(),
14127 fragment_density_map_layered: Bool32::default(),
14128 }
14129 }
14130}
14131
14132#[repr(C)]
14134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14135pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
14136 pub s_type: StructureType,
14137 pub next: *mut c_void,
14138 pub max_fragment_density_map_layers: u32,
14139}
14140
14141impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
14142 #[inline]
14143 fn default() -> Self {
14144 Self {
14145 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
14146 next: ptr::null_mut(),
14147 max_fragment_density_map_layers: u32::default(),
14148 }
14149 }
14150}
14151
14152#[repr(C)]
14154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14155pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
14156 pub s_type: StructureType,
14157 pub next: *mut c_void,
14158 pub fragment_density_map_offset: Bool32,
14159}
14160
14161impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
14162 #[inline]
14163 fn default() -> Self {
14164 Self {
14165 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
14166 next: ptr::null_mut(),
14167 fragment_density_map_offset: Bool32::default(),
14168 }
14169 }
14170}
14171
14172#[repr(C)]
14174#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14175pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
14176 pub s_type: StructureType,
14177 pub next: *mut c_void,
14178 pub fragment_density_offset_granularity: Extent2D,
14179}
14180
14181impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
14182 #[inline]
14183 fn default() -> Self {
14184 Self {
14185 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
14186 next: ptr::null_mut(),
14187 fragment_density_offset_granularity: Extent2D::default(),
14188 }
14189 }
14190}
14191
14192#[repr(C)]
14194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14195pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
14196 pub s_type: StructureType,
14197 pub next: *mut c_void,
14198 pub min_fragment_density_texel_size: Extent2D,
14199 pub max_fragment_density_texel_size: Extent2D,
14200 pub fragment_density_invocations: Bool32,
14201}
14202
14203impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
14204 #[inline]
14205 fn default() -> Self {
14206 Self {
14207 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
14208 next: ptr::null_mut(),
14209 min_fragment_density_texel_size: Extent2D::default(),
14210 max_fragment_density_texel_size: Extent2D::default(),
14211 fragment_density_invocations: Bool32::default(),
14212 }
14213 }
14214}
14215
14216#[repr(C)]
14218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14219pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
14220 pub s_type: StructureType,
14221 pub next: *mut c_void,
14222 pub fragment_shader_barycentric: Bool32,
14223}
14224
14225impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
14226 #[inline]
14227 fn default() -> Self {
14228 Self {
14229 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
14230 next: ptr::null_mut(),
14231 fragment_shader_barycentric: Bool32::default(),
14232 }
14233 }
14234}
14235
14236#[repr(C)]
14238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14239pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
14240 pub s_type: StructureType,
14241 pub next: *mut c_void,
14242 pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
14243}
14244
14245impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
14246 #[inline]
14247 fn default() -> Self {
14248 Self {
14249 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
14250 next: ptr::null_mut(),
14251 tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
14252 }
14253 }
14254}
14255
14256#[repr(C)]
14258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14259pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
14260 pub s_type: StructureType,
14261 pub next: *mut c_void,
14262 pub fragment_shader_sample_interlock: Bool32,
14263 pub fragment_shader_pixel_interlock: Bool32,
14264 pub fragment_shader_shading_rate_interlock: Bool32,
14265}
14266
14267impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
14268 #[inline]
14269 fn default() -> Self {
14270 Self {
14271 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
14272 next: ptr::null_mut(),
14273 fragment_shader_sample_interlock: Bool32::default(),
14274 fragment_shader_pixel_interlock: Bool32::default(),
14275 fragment_shader_shading_rate_interlock: Bool32::default(),
14276 }
14277 }
14278}
14279
14280#[repr(C)]
14282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14283pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
14284 pub s_type: StructureType,
14285 pub next: *mut c_void,
14286 pub fragment_shading_rate_enums: Bool32,
14287 pub supersample_fragment_shading_rates: Bool32,
14288 pub no_invocation_fragment_shading_rates: Bool32,
14289}
14290
14291impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
14292 #[inline]
14293 fn default() -> Self {
14294 Self {
14295 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
14296 next: ptr::null_mut(),
14297 fragment_shading_rate_enums: Bool32::default(),
14298 supersample_fragment_shading_rates: Bool32::default(),
14299 no_invocation_fragment_shading_rates: Bool32::default(),
14300 }
14301 }
14302}
14303
14304#[repr(C)]
14306#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14307pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
14308 pub s_type: StructureType,
14309 pub next: *mut c_void,
14310 pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
14311}
14312
14313impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
14314 #[inline]
14315 fn default() -> Self {
14316 Self {
14317 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
14318 next: ptr::null_mut(),
14319 max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
14320 }
14321 }
14322}
14323
14324#[repr(C)]
14326#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14327pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
14328 pub s_type: StructureType,
14329 pub next: *mut c_void,
14330 pub pipeline_fragment_shading_rate: Bool32,
14331 pub primitive_fragment_shading_rate: Bool32,
14332 pub attachment_fragment_shading_rate: Bool32,
14333}
14334
14335impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
14336 #[inline]
14337 fn default() -> Self {
14338 Self {
14339 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
14340 next: ptr::null_mut(),
14341 pipeline_fragment_shading_rate: Bool32::default(),
14342 primitive_fragment_shading_rate: Bool32::default(),
14343 attachment_fragment_shading_rate: Bool32::default(),
14344 }
14345 }
14346}
14347
14348#[repr(C)]
14350#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14351pub struct PhysicalDeviceFragmentShadingRateKHR {
14352 pub s_type: StructureType,
14353 pub next: *mut c_void,
14354 pub sample_counts: SampleCountFlags,
14355 pub fragment_size: Extent2D,
14356}
14357
14358impl Default for PhysicalDeviceFragmentShadingRateKHR {
14359 #[inline]
14360 fn default() -> Self {
14361 Self {
14362 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
14363 next: ptr::null_mut(),
14364 sample_counts: SampleCountFlags::default(),
14365 fragment_size: Extent2D::default(),
14366 }
14367 }
14368}
14369
14370#[repr(C)]
14372#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14373pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
14374 pub s_type: StructureType,
14375 pub next: *mut c_void,
14376 pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
14377 pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
14378 pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
14379 pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
14380 pub layered_shading_rate_attachments: Bool32,
14381 pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
14382 pub max_fragment_size: Extent2D,
14383 pub max_fragment_size_aspect_ratio: u32,
14384 pub max_fragment_shading_rate_coverage_samples: u32,
14385 pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
14386 pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
14387 pub fragment_shading_rate_with_sample_mask: Bool32,
14388 pub fragment_shading_rate_with_shader_sample_mask: Bool32,
14389 pub fragment_shading_rate_with_conservative_rasterization: Bool32,
14390 pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
14391 pub fragment_shading_rate_with_custom_sample_locations: Bool32,
14392 pub fragment_shading_rate_strict_multiply_combiner: Bool32,
14393}
14394
14395impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
14396 #[inline]
14397 fn default() -> Self {
14398 Self {
14399 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
14400 next: ptr::null_mut(),
14401 min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
14402 max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
14403 max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
14404 primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
14405 layered_shading_rate_attachments: Bool32::default(),
14406 fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
14407 max_fragment_size: Extent2D::default(),
14408 max_fragment_size_aspect_ratio: u32::default(),
14409 max_fragment_shading_rate_coverage_samples: u32::default(),
14410 max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
14411 fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
14412 fragment_shading_rate_with_sample_mask: Bool32::default(),
14413 fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
14414 fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
14415 fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
14416 fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
14417 fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
14418 }
14419 }
14420}
14421
14422#[repr(C)]
14424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14425pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
14426 pub s_type: StructureType,
14427 pub next: *mut c_void,
14428 pub frame_boundary: Bool32,
14429}
14430
14431impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
14432 #[inline]
14433 fn default() -> Self {
14434 Self {
14435 s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
14436 next: ptr::null_mut(),
14437 frame_boundary: Bool32::default(),
14438 }
14439 }
14440}
14441
14442#[repr(C)]
14444#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14445pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
14446 pub s_type: StructureType,
14447 pub next: *mut c_void,
14448 pub global_priority_query: Bool32,
14449}
14450
14451impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
14452 #[inline]
14453 fn default() -> Self {
14454 Self {
14455 s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
14456 next: ptr::null_mut(),
14457 global_priority_query: Bool32::default(),
14458 }
14459 }
14460}
14461
14462#[repr(C)]
14464#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14465pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
14466 pub s_type: StructureType,
14467 pub next: *mut c_void,
14468 pub graphics_pipeline_library: Bool32,
14469}
14470
14471impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
14472 #[inline]
14473 fn default() -> Self {
14474 Self {
14475 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
14476 next: ptr::null_mut(),
14477 graphics_pipeline_library: Bool32::default(),
14478 }
14479 }
14480}
14481
14482#[repr(C)]
14484#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14485pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
14486 pub s_type: StructureType,
14487 pub next: *mut c_void,
14488 pub graphics_pipeline_library_fast_linking: Bool32,
14489 pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
14490}
14491
14492impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
14493 #[inline]
14494 fn default() -> Self {
14495 Self {
14496 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
14497 next: ptr::null_mut(),
14498 graphics_pipeline_library_fast_linking: Bool32::default(),
14499 graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
14500 }
14501 }
14502}
14503
14504#[repr(C)]
14506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14507pub struct PhysicalDeviceGroupProperties {
14508 pub s_type: StructureType,
14509 pub next: *mut c_void,
14510 pub physical_device_count: u32,
14511 pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE],
14512 pub subset_allocation: Bool32,
14513}
14514
14515impl Default for PhysicalDeviceGroupProperties {
14516 #[inline]
14517 fn default() -> Self {
14518 Self {
14519 s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
14520 next: ptr::null_mut(),
14521 physical_device_count: u32::default(),
14522 physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
14523 subset_allocation: Bool32::default(),
14524 }
14525 }
14526}
14527
14528#[repr(C)]
14530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14531pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
14532 pub s_type: StructureType,
14533 pub next: *mut c_void,
14534 pub hdr_vivid: Bool32,
14535}
14536
14537impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
14538 #[inline]
14539 fn default() -> Self {
14540 Self {
14541 s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
14542 next: ptr::null_mut(),
14543 hdr_vivid: Bool32::default(),
14544 }
14545 }
14546}
14547
14548#[repr(C)]
14550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14551pub struct PhysicalDeviceHostImageCopyFeatures {
14552 pub s_type: StructureType,
14553 pub next: *mut c_void,
14554 pub host_image_copy: Bool32,
14555}
14556
14557impl Default for PhysicalDeviceHostImageCopyFeatures {
14558 #[inline]
14559 fn default() -> Self {
14560 Self {
14561 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
14562 next: ptr::null_mut(),
14563 host_image_copy: Bool32::default(),
14564 }
14565 }
14566}
14567
14568#[repr(C)]
14570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14571pub struct PhysicalDeviceHostImageCopyProperties {
14572 pub s_type: StructureType,
14573 pub next: *mut c_void,
14574 pub copy_src_layout_count: u32,
14575 pub copy_src_layouts: *mut ImageLayout,
14576 pub copy_dst_layout_count: u32,
14577 pub copy_dst_layouts: *mut ImageLayout,
14578 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
14579 pub identical_memory_type_requirements: Bool32,
14580}
14581
14582impl Default for PhysicalDeviceHostImageCopyProperties {
14583 #[inline]
14584 fn default() -> Self {
14585 Self {
14586 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
14587 next: ptr::null_mut(),
14588 copy_src_layout_count: u32::default(),
14589 copy_src_layouts: ptr::null_mut(),
14590 copy_dst_layout_count: u32::default(),
14591 copy_dst_layouts: ptr::null_mut(),
14592 optimal_tiling_layout_uuid: ByteArray::default(),
14593 identical_memory_type_requirements: Bool32::default(),
14594 }
14595 }
14596}
14597
14598#[repr(C)]
14600#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14601pub struct PhysicalDeviceHostQueryResetFeatures {
14602 pub s_type: StructureType,
14603 pub next: *mut c_void,
14604 pub host_query_reset: Bool32,
14605}
14606
14607impl Default for PhysicalDeviceHostQueryResetFeatures {
14608 #[inline]
14609 fn default() -> Self {
14610 Self {
14611 s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
14612 next: ptr::null_mut(),
14613 host_query_reset: Bool32::default(),
14614 }
14615 }
14616}
14617
14618#[repr(C)]
14620#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14621pub struct PhysicalDeviceIDProperties {
14622 pub s_type: StructureType,
14623 pub next: *mut c_void,
14624 pub device_uuid: ByteArray<UUID_SIZE>,
14625 pub driver_uuid: ByteArray<UUID_SIZE>,
14626 pub device_luid: ByteArray<LUID_SIZE>,
14627 pub device_node_mask: u32,
14628 pub device_luid_valid: Bool32,
14629}
14630
14631impl Default for PhysicalDeviceIDProperties {
14632 #[inline]
14633 fn default() -> Self {
14634 Self {
14635 s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
14636 next: ptr::null_mut(),
14637 device_uuid: ByteArray::default(),
14638 driver_uuid: ByteArray::default(),
14639 device_luid: ByteArray::default(),
14640 device_node_mask: u32::default(),
14641 device_luid_valid: Bool32::default(),
14642 }
14643 }
14644}
14645
14646#[repr(C)]
14648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14649pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
14650 pub s_type: StructureType,
14651 pub next: *mut c_void,
14652 pub image_2d_view_of_3d: Bool32,
14653 pub sampler_2d_view_of_3d: Bool32,
14654}
14655
14656impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
14657 #[inline]
14658 fn default() -> Self {
14659 Self {
14660 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
14661 next: ptr::null_mut(),
14662 image_2d_view_of_3d: Bool32::default(),
14663 sampler_2d_view_of_3d: Bool32::default(),
14664 }
14665 }
14666}
14667
14668#[repr(C)]
14670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14671pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
14672 pub s_type: StructureType,
14673 pub next: *mut c_void,
14674 pub image_alignment_control: Bool32,
14675}
14676
14677impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
14678 #[inline]
14679 fn default() -> Self {
14680 Self {
14681 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
14682 next: ptr::null_mut(),
14683 image_alignment_control: Bool32::default(),
14684 }
14685 }
14686}
14687
14688#[repr(C)]
14690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14691pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
14692 pub s_type: StructureType,
14693 pub next: *mut c_void,
14694 pub supported_image_alignment_mask: u32,
14695}
14696
14697impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
14698 #[inline]
14699 fn default() -> Self {
14700 Self {
14701 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
14702 next: ptr::null_mut(),
14703 supported_image_alignment_mask: u32::default(),
14704 }
14705 }
14706}
14707
14708#[repr(C)]
14710#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14711pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
14712 pub s_type: StructureType,
14713 pub next: *mut c_void,
14714 pub image_compression_control: Bool32,
14715}
14716
14717impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
14718 #[inline]
14719 fn default() -> Self {
14720 Self {
14721 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
14722 next: ptr::null_mut(),
14723 image_compression_control: Bool32::default(),
14724 }
14725 }
14726}
14727
14728#[repr(C)]
14730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14731pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
14732 pub s_type: StructureType,
14733 pub next: *mut c_void,
14734 pub image_compression_control_swapchain: Bool32,
14735}
14736
14737impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
14738 #[inline]
14739 fn default() -> Self {
14740 Self {
14741 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
14742 next: ptr::null_mut(),
14743 image_compression_control_swapchain: Bool32::default(),
14744 }
14745 }
14746}
14747
14748#[repr(C)]
14750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14751pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
14752 pub s_type: StructureType,
14753 pub next: *const c_void,
14754 pub drm_format_modifier: u64,
14755 pub sharing_mode: SharingMode,
14756 pub queue_family_index_count: u32,
14757 pub queue_family_indices: *const u32,
14758}
14759
14760impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
14761 #[inline]
14762 fn default() -> Self {
14763 Self {
14764 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
14765 next: ptr::null(),
14766 drm_format_modifier: u64::default(),
14767 sharing_mode: SharingMode::default(),
14768 queue_family_index_count: u32::default(),
14769 queue_family_indices: ptr::null(),
14770 }
14771 }
14772}
14773
14774#[repr(C)]
14776#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14777pub struct PhysicalDeviceImageFormatInfo2 {
14778 pub s_type: StructureType,
14779 pub next: *const c_void,
14780 pub format: Format,
14781 pub type_: ImageType,
14782 pub tiling: ImageTiling,
14783 pub usage: ImageUsageFlags,
14784 pub flags: ImageCreateFlags,
14785}
14786
14787impl Default for PhysicalDeviceImageFormatInfo2 {
14788 #[inline]
14789 fn default() -> Self {
14790 Self {
14791 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
14792 next: ptr::null(),
14793 format: Format::default(),
14794 type_: ImageType::default(),
14795 tiling: ImageTiling::default(),
14796 usage: ImageUsageFlags::default(),
14797 flags: ImageCreateFlags::default(),
14798 }
14799 }
14800}
14801
14802#[repr(C)]
14804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14805pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
14806 pub s_type: StructureType,
14807 pub next: *mut c_void,
14808 pub texture_block_match2: Bool32,
14809}
14810
14811impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
14812 #[inline]
14813 fn default() -> Self {
14814 Self {
14815 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
14816 next: ptr::null_mut(),
14817 texture_block_match2: Bool32::default(),
14818 }
14819 }
14820}
14821
14822#[repr(C)]
14824#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14825pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
14826 pub s_type: StructureType,
14827 pub next: *mut c_void,
14828 pub max_block_match_window: Extent2D,
14829}
14830
14831impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
14832 #[inline]
14833 fn default() -> Self {
14834 Self {
14835 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
14836 next: ptr::null_mut(),
14837 max_block_match_window: Extent2D::default(),
14838 }
14839 }
14840}
14841
14842#[repr(C)]
14844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14845pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
14846 pub s_type: StructureType,
14847 pub next: *mut c_void,
14848 pub texture_sample_weighted: Bool32,
14849 pub texture_box_filter: Bool32,
14850 pub texture_block_match: Bool32,
14851}
14852
14853impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
14854 #[inline]
14855 fn default() -> Self {
14856 Self {
14857 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
14858 next: ptr::null_mut(),
14859 texture_sample_weighted: Bool32::default(),
14860 texture_box_filter: Bool32::default(),
14861 texture_block_match: Bool32::default(),
14862 }
14863 }
14864}
14865
14866#[repr(C)]
14868#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14869pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
14870 pub s_type: StructureType,
14871 pub next: *mut c_void,
14872 pub max_weight_filter_phases: u32,
14873 pub max_weight_filter_dimension: Extent2D,
14874 pub max_block_match_region: Extent2D,
14875 pub max_box_filter_block_size: Extent2D,
14876}
14877
14878impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
14879 #[inline]
14880 fn default() -> Self {
14881 Self {
14882 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
14883 next: ptr::null_mut(),
14884 max_weight_filter_phases: u32::default(),
14885 max_weight_filter_dimension: Extent2D::default(),
14886 max_block_match_region: Extent2D::default(),
14887 max_box_filter_block_size: Extent2D::default(),
14888 }
14889 }
14890}
14891
14892#[repr(C)]
14894#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14895pub struct PhysicalDeviceImageRobustnessFeatures {
14896 pub s_type: StructureType,
14897 pub next: *mut c_void,
14898 pub robust_image_access: Bool32,
14899}
14900
14901impl Default for PhysicalDeviceImageRobustnessFeatures {
14902 #[inline]
14903 fn default() -> Self {
14904 Self {
14905 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
14906 next: ptr::null_mut(),
14907 robust_image_access: Bool32::default(),
14908 }
14909 }
14910}
14911
14912#[repr(C)]
14914#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14915pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
14916 pub s_type: StructureType,
14917 pub next: *mut c_void,
14918 pub image_sliced_view_of_3d: Bool32,
14919}
14920
14921impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
14922 #[inline]
14923 fn default() -> Self {
14924 Self {
14925 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
14926 next: ptr::null_mut(),
14927 image_sliced_view_of_3d: Bool32::default(),
14928 }
14929 }
14930}
14931
14932#[repr(C)]
14934#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14935pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
14936 pub s_type: StructureType,
14937 pub next: *mut c_void,
14938 pub image_view_type: ImageViewType,
14939}
14940
14941impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
14942 #[inline]
14943 fn default() -> Self {
14944 Self {
14945 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
14946 next: ptr::null_mut(),
14947 image_view_type: ImageViewType::default(),
14948 }
14949 }
14950}
14951
14952#[repr(C)]
14954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14955pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
14956 pub s_type: StructureType,
14957 pub next: *mut c_void,
14958 pub min_lod: Bool32,
14959}
14960
14961impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
14962 #[inline]
14963 fn default() -> Self {
14964 Self {
14965 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
14966 next: ptr::null_mut(),
14967 min_lod: Bool32::default(),
14968 }
14969 }
14970}
14971
14972#[repr(C)]
14974#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14975pub struct PhysicalDeviceImagelessFramebufferFeatures {
14976 pub s_type: StructureType,
14977 pub next: *mut c_void,
14978 pub imageless_framebuffer: Bool32,
14979}
14980
14981impl Default for PhysicalDeviceImagelessFramebufferFeatures {
14982 #[inline]
14983 fn default() -> Self {
14984 Self {
14985 s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
14986 next: ptr::null_mut(),
14987 imageless_framebuffer: Bool32::default(),
14988 }
14989 }
14990}
14991
14992#[repr(C)]
14994#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14995pub struct PhysicalDeviceIndexTypeUint8Features {
14996 pub s_type: StructureType,
14997 pub next: *mut c_void,
14998 pub index_type_uint8: Bool32,
14999}
15000
15001impl Default for PhysicalDeviceIndexTypeUint8Features {
15002 #[inline]
15003 fn default() -> Self {
15004 Self {
15005 s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
15006 next: ptr::null_mut(),
15007 index_type_uint8: Bool32::default(),
15008 }
15009 }
15010}
15011
15012#[repr(C)]
15014#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15015pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
15016 pub s_type: StructureType,
15017 pub next: *mut c_void,
15018 pub inherited_viewport_scissor_2d: Bool32,
15019}
15020
15021impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
15022 #[inline]
15023 fn default() -> Self {
15024 Self {
15025 s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
15026 next: ptr::null_mut(),
15027 inherited_viewport_scissor_2d: Bool32::default(),
15028 }
15029 }
15030}
15031
15032#[repr(C)]
15034#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15035pub struct PhysicalDeviceInlineUniformBlockFeatures {
15036 pub s_type: StructureType,
15037 pub next: *mut c_void,
15038 pub inline_uniform_block: Bool32,
15039 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
15040}
15041
15042impl Default for PhysicalDeviceInlineUniformBlockFeatures {
15043 #[inline]
15044 fn default() -> Self {
15045 Self {
15046 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
15047 next: ptr::null_mut(),
15048 inline_uniform_block: Bool32::default(),
15049 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
15050 }
15051 }
15052}
15053
15054#[repr(C)]
15056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15057pub struct PhysicalDeviceInlineUniformBlockProperties {
15058 pub s_type: StructureType,
15059 pub next: *mut c_void,
15060 pub max_inline_uniform_block_size: u32,
15061 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
15062 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
15063 pub max_descriptor_set_inline_uniform_blocks: u32,
15064 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
15065}
15066
15067impl Default for PhysicalDeviceInlineUniformBlockProperties {
15068 #[inline]
15069 fn default() -> Self {
15070 Self {
15071 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
15072 next: ptr::null_mut(),
15073 max_inline_uniform_block_size: u32::default(),
15074 max_per_stage_descriptor_inline_uniform_blocks: u32::default(),
15075 max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(),
15076 max_descriptor_set_inline_uniform_blocks: u32::default(),
15077 max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(),
15078 }
15079 }
15080}
15081
15082#[repr(C)]
15084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15085pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
15086 pub s_type: StructureType,
15087 pub next: *mut c_void,
15088 pub invocation_mask: Bool32,
15089}
15090
15091impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
15092 #[inline]
15093 fn default() -> Self {
15094 Self {
15095 s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
15096 next: ptr::null_mut(),
15097 invocation_mask: Bool32::default(),
15098 }
15099 }
15100}
15101
15102#[repr(C)]
15104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15105pub struct PhysicalDeviceLayeredApiPropertiesKHR {
15106 pub s_type: StructureType,
15107 pub next: *mut c_void,
15108 pub vendor_id: u32,
15109 pub device_id: u32,
15110 pub layered_api: PhysicalDeviceLayeredApiKHR,
15111 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
15112}
15113
15114impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
15115 #[inline]
15116 fn default() -> Self {
15117 Self {
15118 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
15119 next: ptr::null_mut(),
15120 vendor_id: u32::default(),
15121 device_id: u32::default(),
15122 layered_api: PhysicalDeviceLayeredApiKHR::default(),
15123 device_name: StringArray::default(),
15124 }
15125 }
15126}
15127
15128#[repr(C)]
15130#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15131pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
15132 pub s_type: StructureType,
15133 pub next: *mut c_void,
15134 pub layered_api_count: u32,
15135 pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
15136}
15137
15138impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
15139 #[inline]
15140 fn default() -> Self {
15141 Self {
15142 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
15143 next: ptr::null_mut(),
15144 layered_api_count: u32::default(),
15145 layered_apis: ptr::null_mut(),
15146 }
15147 }
15148}
15149
15150#[repr(C)]
15152#[derive(Copy, Clone, Debug, PartialEq)]
15153pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
15154 pub s_type: StructureType,
15155 pub next: *mut c_void,
15156 pub properties: PhysicalDeviceProperties2,
15157}
15158
15159impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
15160 #[inline]
15161 fn default() -> Self {
15162 Self {
15163 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
15164 next: ptr::null_mut(),
15165 properties: PhysicalDeviceProperties2::default(),
15166 }
15167 }
15168}
15169
15170#[repr(C)]
15172#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15173pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
15174 pub s_type: StructureType,
15175 pub next: *mut c_void,
15176 pub underlying_api: LayeredDriverUnderlyingApiMSFT,
15177}
15178
15179impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
15180 #[inline]
15181 fn default() -> Self {
15182 Self {
15183 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
15184 next: ptr::null_mut(),
15185 underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
15186 }
15187 }
15188}
15189
15190#[repr(C)]
15192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15193pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
15194 pub s_type: StructureType,
15195 pub next: *mut c_void,
15196 pub legacy_dithering: Bool32,
15197}
15198
15199impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
15200 #[inline]
15201 fn default() -> Self {
15202 Self {
15203 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
15204 next: ptr::null_mut(),
15205 legacy_dithering: Bool32::default(),
15206 }
15207 }
15208}
15209
15210#[repr(C)]
15212#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15213pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
15214 pub s_type: StructureType,
15215 pub next: *mut c_void,
15216 pub legacy_vertex_attributes: Bool32,
15217}
15218
15219impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
15220 #[inline]
15221 fn default() -> Self {
15222 Self {
15223 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
15224 next: ptr::null_mut(),
15225 legacy_vertex_attributes: Bool32::default(),
15226 }
15227 }
15228}
15229
15230#[repr(C)]
15232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15233pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
15234 pub s_type: StructureType,
15235 pub next: *mut c_void,
15236 pub native_unaligned_performance: Bool32,
15237}
15238
15239impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
15240 #[inline]
15241 fn default() -> Self {
15242 Self {
15243 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
15244 next: ptr::null_mut(),
15245 native_unaligned_performance: Bool32::default(),
15246 }
15247 }
15248}
15249
15250#[repr(C)]
15252#[derive(Copy, Clone, Default, Debug, PartialEq)]
15253pub struct PhysicalDeviceLimits {
15254 pub max_image_dimension_1d: u32,
15255 pub max_image_dimension_2d: u32,
15256 pub max_image_dimension_3d: u32,
15257 pub max_image_dimension_cube: u32,
15258 pub max_image_array_layers: u32,
15259 pub max_texel_buffer_elements: u32,
15260 pub max_uniform_buffer_range: u32,
15261 pub max_storage_buffer_range: u32,
15262 pub max_push_constants_size: u32,
15263 pub max_memory_allocation_count: u32,
15264 pub max_sampler_allocation_count: u32,
15265 pub buffer_image_granularity: DeviceSize,
15266 pub sparse_address_space_size: DeviceSize,
15267 pub max_bound_descriptor_sets: u32,
15268 pub max_per_stage_descriptor_samplers: u32,
15269 pub max_per_stage_descriptor_uniform_buffers: u32,
15270 pub max_per_stage_descriptor_storage_buffers: u32,
15271 pub max_per_stage_descriptor_sampled_images: u32,
15272 pub max_per_stage_descriptor_storage_images: u32,
15273 pub max_per_stage_descriptor_input_attachments: u32,
15274 pub max_per_stage_resources: u32,
15275 pub max_descriptor_set_samplers: u32,
15276 pub max_descriptor_set_uniform_buffers: u32,
15277 pub max_descriptor_set_uniform_buffers_dynamic: u32,
15278 pub max_descriptor_set_storage_buffers: u32,
15279 pub max_descriptor_set_storage_buffers_dynamic: u32,
15280 pub max_descriptor_set_sampled_images: u32,
15281 pub max_descriptor_set_storage_images: u32,
15282 pub max_descriptor_set_input_attachments: u32,
15283 pub max_vertex_input_attributes: u32,
15284 pub max_vertex_input_bindings: u32,
15285 pub max_vertex_input_attribute_offset: u32,
15286 pub max_vertex_input_binding_stride: u32,
15287 pub max_vertex_output_components: u32,
15288 pub max_tessellation_generation_level: u32,
15289 pub max_tessellation_patch_size: u32,
15290 pub max_tessellation_control_per_vertex_input_components: u32,
15291 pub max_tessellation_control_per_vertex_output_components: u32,
15292 pub max_tessellation_control_per_patch_output_components: u32,
15293 pub max_tessellation_control_total_output_components: u32,
15294 pub max_tessellation_evaluation_input_components: u32,
15295 pub max_tessellation_evaluation_output_components: u32,
15296 pub max_geometry_shader_invocations: u32,
15297 pub max_geometry_input_components: u32,
15298 pub max_geometry_output_components: u32,
15299 pub max_geometry_output_vertices: u32,
15300 pub max_geometry_total_output_components: u32,
15301 pub max_fragment_input_components: u32,
15302 pub max_fragment_output_attachments: u32,
15303 pub max_fragment_dual_src_attachments: u32,
15304 pub max_fragment_combined_output_resources: u32,
15305 pub max_compute_shared_memory_size: u32,
15306 pub max_compute_work_group_count: [u32; 3],
15307 pub max_compute_work_group_invocations: u32,
15308 pub max_compute_work_group_size: [u32; 3],
15309 pub sub_pixel_precision_bits: u32,
15310 pub sub_texel_precision_bits: u32,
15311 pub mipmap_precision_bits: u32,
15312 pub max_draw_indexed_index_value: u32,
15313 pub max_draw_indirect_count: u32,
15314 pub max_sampler_lod_bias: f32,
15315 pub max_sampler_anisotropy: f32,
15316 pub max_viewports: u32,
15317 pub max_viewport_dimensions: [u32; 2],
15318 pub viewport_bounds_range: [f32; 2],
15319 pub viewport_sub_pixel_bits: u32,
15320 pub min_memory_map_alignment: usize,
15321 pub min_texel_buffer_offset_alignment: DeviceSize,
15322 pub min_uniform_buffer_offset_alignment: DeviceSize,
15323 pub min_storage_buffer_offset_alignment: DeviceSize,
15324 pub min_texel_offset: i32,
15325 pub max_texel_offset: u32,
15326 pub min_texel_gather_offset: i32,
15327 pub max_texel_gather_offset: u32,
15328 pub min_interpolation_offset: f32,
15329 pub max_interpolation_offset: f32,
15330 pub sub_pixel_interpolation_offset_bits: u32,
15331 pub max_framebuffer_width: u32,
15332 pub max_framebuffer_height: u32,
15333 pub max_framebuffer_layers: u32,
15334 pub framebuffer_color_sample_counts: SampleCountFlags,
15335 pub framebuffer_depth_sample_counts: SampleCountFlags,
15336 pub framebuffer_stencil_sample_counts: SampleCountFlags,
15337 pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
15338 pub max_color_attachments: u32,
15339 pub sampled_image_color_sample_counts: SampleCountFlags,
15340 pub sampled_image_integer_sample_counts: SampleCountFlags,
15341 pub sampled_image_depth_sample_counts: SampleCountFlags,
15342 pub sampled_image_stencil_sample_counts: SampleCountFlags,
15343 pub storage_image_sample_counts: SampleCountFlags,
15344 pub max_sample_mask_words: u32,
15345 pub timestamp_compute_and_graphics: Bool32,
15346 pub timestamp_period: f32,
15347 pub max_clip_distances: u32,
15348 pub max_cull_distances: u32,
15349 pub max_combined_clip_and_cull_distances: u32,
15350 pub discrete_queue_priorities: u32,
15351 pub point_size_range: [f32; 2],
15352 pub line_width_range: [f32; 2],
15353 pub point_size_granularity: f32,
15354 pub line_width_granularity: f32,
15355 pub strict_lines: Bool32,
15356 pub standard_sample_locations: Bool32,
15357 pub optimal_buffer_copy_offset_alignment: DeviceSize,
15358 pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
15359 pub non_coherent_atom_size: DeviceSize,
15360}
15361
15362#[repr(C)]
15364#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15365pub struct PhysicalDeviceLineRasterizationFeatures {
15366 pub s_type: StructureType,
15367 pub next: *mut c_void,
15368 pub rectangular_lines: Bool32,
15369 pub bresenham_lines: Bool32,
15370 pub smooth_lines: Bool32,
15371 pub stippled_rectangular_lines: Bool32,
15372 pub stippled_bresenham_lines: Bool32,
15373 pub stippled_smooth_lines: Bool32,
15374}
15375
15376impl Default for PhysicalDeviceLineRasterizationFeatures {
15377 #[inline]
15378 fn default() -> Self {
15379 Self {
15380 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
15381 next: ptr::null_mut(),
15382 rectangular_lines: Bool32::default(),
15383 bresenham_lines: Bool32::default(),
15384 smooth_lines: Bool32::default(),
15385 stippled_rectangular_lines: Bool32::default(),
15386 stippled_bresenham_lines: Bool32::default(),
15387 stippled_smooth_lines: Bool32::default(),
15388 }
15389 }
15390}
15391
15392#[repr(C)]
15394#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15395pub struct PhysicalDeviceLineRasterizationProperties {
15396 pub s_type: StructureType,
15397 pub next: *mut c_void,
15398 pub line_sub_pixel_precision_bits: u32,
15399}
15400
15401impl Default for PhysicalDeviceLineRasterizationProperties {
15402 #[inline]
15403 fn default() -> Self {
15404 Self {
15405 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
15406 next: ptr::null_mut(),
15407 line_sub_pixel_precision_bits: u32::default(),
15408 }
15409 }
15410}
15411
15412#[repr(C)]
15414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15415pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
15416 pub s_type: StructureType,
15417 pub next: *mut c_void,
15418 pub linear_color_attachment: Bool32,
15419}
15420
15421impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
15422 #[inline]
15423 fn default() -> Self {
15424 Self {
15425 s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
15426 next: ptr::null_mut(),
15427 linear_color_attachment: Bool32::default(),
15428 }
15429 }
15430}
15431
15432#[repr(C)]
15434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15435pub struct PhysicalDeviceMaintenance3Properties {
15436 pub s_type: StructureType,
15437 pub next: *mut c_void,
15438 pub max_per_set_descriptors: u32,
15439 pub max_memory_allocation_size: DeviceSize,
15440}
15441
15442impl Default for PhysicalDeviceMaintenance3Properties {
15443 #[inline]
15444 fn default() -> Self {
15445 Self {
15446 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
15447 next: ptr::null_mut(),
15448 max_per_set_descriptors: u32::default(),
15449 max_memory_allocation_size: DeviceSize::default(),
15450 }
15451 }
15452}
15453
15454#[repr(C)]
15456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15457pub struct PhysicalDeviceMaintenance4Features {
15458 pub s_type: StructureType,
15459 pub next: *mut c_void,
15460 pub maintenance4: Bool32,
15461}
15462
15463impl Default for PhysicalDeviceMaintenance4Features {
15464 #[inline]
15465 fn default() -> Self {
15466 Self {
15467 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
15468 next: ptr::null_mut(),
15469 maintenance4: Bool32::default(),
15470 }
15471 }
15472}
15473
15474#[repr(C)]
15476#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15477pub struct PhysicalDeviceMaintenance4Properties {
15478 pub s_type: StructureType,
15479 pub next: *mut c_void,
15480 pub max_buffer_size: DeviceSize,
15481}
15482
15483impl Default for PhysicalDeviceMaintenance4Properties {
15484 #[inline]
15485 fn default() -> Self {
15486 Self {
15487 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
15488 next: ptr::null_mut(),
15489 max_buffer_size: DeviceSize::default(),
15490 }
15491 }
15492}
15493
15494#[repr(C)]
15496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15497pub struct PhysicalDeviceMaintenance5Features {
15498 pub s_type: StructureType,
15499 pub next: *mut c_void,
15500 pub maintenance5: Bool32,
15501}
15502
15503impl Default for PhysicalDeviceMaintenance5Features {
15504 #[inline]
15505 fn default() -> Self {
15506 Self {
15507 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
15508 next: ptr::null_mut(),
15509 maintenance5: Bool32::default(),
15510 }
15511 }
15512}
15513
15514#[repr(C)]
15516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15517pub struct PhysicalDeviceMaintenance5Properties {
15518 pub s_type: StructureType,
15519 pub next: *mut c_void,
15520 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
15521 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
15522 pub depth_stencil_swizzle_one_support: Bool32,
15523 pub polygon_mode_point_size: Bool32,
15524 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
15525 pub non_strict_wide_lines_use_parallelogram: Bool32,
15526}
15527
15528impl Default for PhysicalDeviceMaintenance5Properties {
15529 #[inline]
15530 fn default() -> Self {
15531 Self {
15532 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
15533 next: ptr::null_mut(),
15534 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
15535 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
15536 depth_stencil_swizzle_one_support: Bool32::default(),
15537 polygon_mode_point_size: Bool32::default(),
15538 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
15539 non_strict_wide_lines_use_parallelogram: Bool32::default(),
15540 }
15541 }
15542}
15543
15544#[repr(C)]
15546#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15547pub struct PhysicalDeviceMaintenance6Features {
15548 pub s_type: StructureType,
15549 pub next: *mut c_void,
15550 pub maintenance6: Bool32,
15551}
15552
15553impl Default for PhysicalDeviceMaintenance6Features {
15554 #[inline]
15555 fn default() -> Self {
15556 Self {
15557 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
15558 next: ptr::null_mut(),
15559 maintenance6: Bool32::default(),
15560 }
15561 }
15562}
15563
15564#[repr(C)]
15566#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15567pub struct PhysicalDeviceMaintenance6Properties {
15568 pub s_type: StructureType,
15569 pub next: *mut c_void,
15570 pub block_texel_view_compatible_multiple_layers: Bool32,
15571 pub max_combined_image_sampler_descriptor_count: u32,
15572 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
15573}
15574
15575impl Default for PhysicalDeviceMaintenance6Properties {
15576 #[inline]
15577 fn default() -> Self {
15578 Self {
15579 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
15580 next: ptr::null_mut(),
15581 block_texel_view_compatible_multiple_layers: Bool32::default(),
15582 max_combined_image_sampler_descriptor_count: u32::default(),
15583 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
15584 }
15585 }
15586}
15587
15588#[repr(C)]
15590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15591pub struct PhysicalDeviceMaintenance7FeaturesKHR {
15592 pub s_type: StructureType,
15593 pub next: *mut c_void,
15594 pub maintenance7: Bool32,
15595}
15596
15597impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
15598 #[inline]
15599 fn default() -> Self {
15600 Self {
15601 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
15602 next: ptr::null_mut(),
15603 maintenance7: Bool32::default(),
15604 }
15605 }
15606}
15607
15608#[repr(C)]
15610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15611pub struct PhysicalDeviceMaintenance7PropertiesKHR {
15612 pub s_type: StructureType,
15613 pub next: *mut c_void,
15614 pub robust_fragment_shading_rate_attachment_access: Bool32,
15615 pub separate_depth_stencil_attachment_access: Bool32,
15616 pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
15617 pub max_descriptor_set_total_storage_buffers_dynamic: u32,
15618 pub max_descriptor_set_total_buffers_dynamic: u32,
15619 pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
15620 pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
15621 pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
15622}
15623
15624impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
15625 #[inline]
15626 fn default() -> Self {
15627 Self {
15628 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
15629 next: ptr::null_mut(),
15630 robust_fragment_shading_rate_attachment_access: Bool32::default(),
15631 separate_depth_stencil_attachment_access: Bool32::default(),
15632 max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
15633 max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
15634 max_descriptor_set_total_buffers_dynamic: u32::default(),
15635 max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
15636 max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
15637 max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
15638 }
15639 }
15640}
15641
15642#[repr(C)]
15644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15645pub struct PhysicalDeviceMaintenance8FeaturesKHR {
15646 pub s_type: StructureType,
15647 pub next: *mut c_void,
15648 pub maintenance8: Bool32,
15649}
15650
15651impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
15652 #[inline]
15653 fn default() -> Self {
15654 Self {
15655 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
15656 next: ptr::null_mut(),
15657 maintenance8: Bool32::default(),
15658 }
15659 }
15660}
15661
15662#[repr(C)]
15664#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15665pub struct PhysicalDeviceMaintenance9FeaturesKHR {
15666 pub s_type: StructureType,
15667 pub next: *mut c_void,
15668 pub maintenance9: Bool32,
15669}
15670
15671impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
15672 #[inline]
15673 fn default() -> Self {
15674 Self {
15675 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
15676 next: ptr::null_mut(),
15677 maintenance9: Bool32::default(),
15678 }
15679 }
15680}
15681
15682#[repr(C)]
15684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15685pub struct PhysicalDeviceMaintenance9PropertiesKHR {
15686 pub s_type: StructureType,
15687 pub next: *mut c_void,
15688 pub image_2d_view_of_3d_sparse: Bool32,
15689 pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
15690}
15691
15692impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
15693 #[inline]
15694 fn default() -> Self {
15695 Self {
15696 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
15697 next: ptr::null_mut(),
15698 image_2d_view_of_3d_sparse: Bool32::default(),
15699 default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
15700 }
15701 }
15702}
15703
15704#[repr(C)]
15706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15707pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
15708 pub s_type: StructureType,
15709 pub next: *mut c_void,
15710 pub memory_map_placed: Bool32,
15711 pub memory_map_range_placed: Bool32,
15712 pub memory_unmap_reserve: Bool32,
15713}
15714
15715impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
15716 #[inline]
15717 fn default() -> Self {
15718 Self {
15719 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
15720 next: ptr::null_mut(),
15721 memory_map_placed: Bool32::default(),
15722 memory_map_range_placed: Bool32::default(),
15723 memory_unmap_reserve: Bool32::default(),
15724 }
15725 }
15726}
15727
15728#[repr(C)]
15730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15731pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
15732 pub s_type: StructureType,
15733 pub next: *mut c_void,
15734 pub min_placed_memory_map_alignment: DeviceSize,
15735}
15736
15737impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
15738 #[inline]
15739 fn default() -> Self {
15740 Self {
15741 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
15742 next: ptr::null_mut(),
15743 min_placed_memory_map_alignment: DeviceSize::default(),
15744 }
15745 }
15746}
15747
15748#[repr(C)]
15750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15751pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
15752 pub s_type: StructureType,
15753 pub next: *mut c_void,
15754 pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS],
15755 pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS],
15756}
15757
15758impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
15759 #[inline]
15760 fn default() -> Self {
15761 Self {
15762 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
15763 next: ptr::null_mut(),
15764 heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
15765 heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
15766 }
15767 }
15768}
15769
15770#[repr(C)]
15772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15773pub struct PhysicalDeviceMemoryDecompressionFeaturesNV {
15774 pub s_type: StructureType,
15775 pub next: *mut c_void,
15776 pub memory_decompression: Bool32,
15777}
15778
15779impl Default for PhysicalDeviceMemoryDecompressionFeaturesNV {
15780 #[inline]
15781 fn default() -> Self {
15782 Self {
15783 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV,
15784 next: ptr::null_mut(),
15785 memory_decompression: Bool32::default(),
15786 }
15787 }
15788}
15789
15790#[repr(C)]
15792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15793pub struct PhysicalDeviceMemoryDecompressionPropertiesNV {
15794 pub s_type: StructureType,
15795 pub next: *mut c_void,
15796 pub decompression_methods: MemoryDecompressionMethodFlagsNV,
15797 pub max_decompression_indirect_count: u64,
15798}
15799
15800impl Default for PhysicalDeviceMemoryDecompressionPropertiesNV {
15801 #[inline]
15802 fn default() -> Self {
15803 Self {
15804 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV,
15805 next: ptr::null_mut(),
15806 decompression_methods: MemoryDecompressionMethodFlagsNV::default(),
15807 max_decompression_indirect_count: u64::default(),
15808 }
15809 }
15810}
15811
15812#[repr(C)]
15814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15815pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
15816 pub s_type: StructureType,
15817 pub next: *mut c_void,
15818 pub memory_priority: Bool32,
15819}
15820
15821impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
15822 #[inline]
15823 fn default() -> Self {
15824 Self {
15825 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
15826 next: ptr::null_mut(),
15827 memory_priority: Bool32::default(),
15828 }
15829 }
15830}
15831
15832#[repr(C)]
15834#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
15835pub struct PhysicalDeviceMemoryProperties {
15836 pub memory_type_count: u32,
15837 pub memory_types: [MemoryType; MAX_MEMORY_TYPES],
15838 pub memory_heap_count: u32,
15839 pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS],
15840}
15841
15842#[repr(C)]
15844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15845pub struct PhysicalDeviceMemoryProperties2 {
15846 pub s_type: StructureType,
15847 pub next: *mut c_void,
15848 pub memory_properties: PhysicalDeviceMemoryProperties,
15849}
15850
15851impl Default for PhysicalDeviceMemoryProperties2 {
15852 #[inline]
15853 fn default() -> Self {
15854 Self {
15855 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
15856 next: ptr::null_mut(),
15857 memory_properties: PhysicalDeviceMemoryProperties::default(),
15858 }
15859 }
15860}
15861
15862#[repr(C)]
15864#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15865pub struct PhysicalDeviceMeshShaderFeaturesEXT {
15866 pub s_type: StructureType,
15867 pub next: *mut c_void,
15868 pub task_shader: Bool32,
15869 pub mesh_shader: Bool32,
15870 pub multiview_mesh_shader: Bool32,
15871 pub primitive_fragment_shading_rate_mesh_shader: Bool32,
15872 pub mesh_shader_queries: Bool32,
15873}
15874
15875impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
15876 #[inline]
15877 fn default() -> Self {
15878 Self {
15879 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
15880 next: ptr::null_mut(),
15881 task_shader: Bool32::default(),
15882 mesh_shader: Bool32::default(),
15883 multiview_mesh_shader: Bool32::default(),
15884 primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
15885 mesh_shader_queries: Bool32::default(),
15886 }
15887 }
15888}
15889
15890#[repr(C)]
15892#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15893pub struct PhysicalDeviceMeshShaderFeaturesNV {
15894 pub s_type: StructureType,
15895 pub next: *mut c_void,
15896 pub task_shader: Bool32,
15897 pub mesh_shader: Bool32,
15898}
15899
15900impl Default for PhysicalDeviceMeshShaderFeaturesNV {
15901 #[inline]
15902 fn default() -> Self {
15903 Self {
15904 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
15905 next: ptr::null_mut(),
15906 task_shader: Bool32::default(),
15907 mesh_shader: Bool32::default(),
15908 }
15909 }
15910}
15911
15912#[repr(C)]
15914#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15915pub struct PhysicalDeviceMeshShaderPropertiesEXT {
15916 pub s_type: StructureType,
15917 pub next: *mut c_void,
15918 pub max_task_work_group_total_count: u32,
15919 pub max_task_work_group_count: [u32; 3],
15920 pub max_task_work_group_invocations: u32,
15921 pub max_task_work_group_size: [u32; 3],
15922 pub max_task_payload_size: u32,
15923 pub max_task_shared_memory_size: u32,
15924 pub max_task_payload_and_shared_memory_size: u32,
15925 pub max_mesh_work_group_total_count: u32,
15926 pub max_mesh_work_group_count: [u32; 3],
15927 pub max_mesh_work_group_invocations: u32,
15928 pub max_mesh_work_group_size: [u32; 3],
15929 pub max_mesh_shared_memory_size: u32,
15930 pub max_mesh_payload_and_shared_memory_size: u32,
15931 pub max_mesh_output_memory_size: u32,
15932 pub max_mesh_payload_and_output_memory_size: u32,
15933 pub max_mesh_output_components: u32,
15934 pub max_mesh_output_vertices: u32,
15935 pub max_mesh_output_primitives: u32,
15936 pub max_mesh_output_layers: u32,
15937 pub max_mesh_multiview_view_count: u32,
15938 pub mesh_output_per_vertex_granularity: u32,
15939 pub mesh_output_per_primitive_granularity: u32,
15940 pub max_preferred_task_work_group_invocations: u32,
15941 pub max_preferred_mesh_work_group_invocations: u32,
15942 pub prefers_local_invocation_vertex_output: Bool32,
15943 pub prefers_local_invocation_primitive_output: Bool32,
15944 pub prefers_compact_vertex_output: Bool32,
15945 pub prefers_compact_primitive_output: Bool32,
15946}
15947
15948impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
15949 #[inline]
15950 fn default() -> Self {
15951 Self {
15952 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
15953 next: ptr::null_mut(),
15954 max_task_work_group_total_count: u32::default(),
15955 max_task_work_group_count: [u32::default(); 3],
15956 max_task_work_group_invocations: u32::default(),
15957 max_task_work_group_size: [u32::default(); 3],
15958 max_task_payload_size: u32::default(),
15959 max_task_shared_memory_size: u32::default(),
15960 max_task_payload_and_shared_memory_size: u32::default(),
15961 max_mesh_work_group_total_count: u32::default(),
15962 max_mesh_work_group_count: [u32::default(); 3],
15963 max_mesh_work_group_invocations: u32::default(),
15964 max_mesh_work_group_size: [u32::default(); 3],
15965 max_mesh_shared_memory_size: u32::default(),
15966 max_mesh_payload_and_shared_memory_size: u32::default(),
15967 max_mesh_output_memory_size: u32::default(),
15968 max_mesh_payload_and_output_memory_size: u32::default(),
15969 max_mesh_output_components: u32::default(),
15970 max_mesh_output_vertices: u32::default(),
15971 max_mesh_output_primitives: u32::default(),
15972 max_mesh_output_layers: u32::default(),
15973 max_mesh_multiview_view_count: u32::default(),
15974 mesh_output_per_vertex_granularity: u32::default(),
15975 mesh_output_per_primitive_granularity: u32::default(),
15976 max_preferred_task_work_group_invocations: u32::default(),
15977 max_preferred_mesh_work_group_invocations: u32::default(),
15978 prefers_local_invocation_vertex_output: Bool32::default(),
15979 prefers_local_invocation_primitive_output: Bool32::default(),
15980 prefers_compact_vertex_output: Bool32::default(),
15981 prefers_compact_primitive_output: Bool32::default(),
15982 }
15983 }
15984}
15985
15986#[repr(C)]
15988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15989pub struct PhysicalDeviceMeshShaderPropertiesNV {
15990 pub s_type: StructureType,
15991 pub next: *mut c_void,
15992 pub max_draw_mesh_tasks_count: u32,
15993 pub max_task_work_group_invocations: u32,
15994 pub max_task_work_group_size: [u32; 3],
15995 pub max_task_total_memory_size: u32,
15996 pub max_task_output_count: u32,
15997 pub max_mesh_work_group_invocations: u32,
15998 pub max_mesh_work_group_size: [u32; 3],
15999 pub max_mesh_total_memory_size: u32,
16000 pub max_mesh_output_vertices: u32,
16001 pub max_mesh_output_primitives: u32,
16002 pub max_mesh_multiview_view_count: u32,
16003 pub mesh_output_per_vertex_granularity: u32,
16004 pub mesh_output_per_primitive_granularity: u32,
16005}
16006
16007impl Default for PhysicalDeviceMeshShaderPropertiesNV {
16008 #[inline]
16009 fn default() -> Self {
16010 Self {
16011 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
16012 next: ptr::null_mut(),
16013 max_draw_mesh_tasks_count: u32::default(),
16014 max_task_work_group_invocations: u32::default(),
16015 max_task_work_group_size: [u32::default(); 3],
16016 max_task_total_memory_size: u32::default(),
16017 max_task_output_count: u32::default(),
16018 max_mesh_work_group_invocations: u32::default(),
16019 max_mesh_work_group_size: [u32::default(); 3],
16020 max_mesh_total_memory_size: u32::default(),
16021 max_mesh_output_vertices: u32::default(),
16022 max_mesh_output_primitives: u32::default(),
16023 max_mesh_multiview_view_count: u32::default(),
16024 mesh_output_per_vertex_granularity: u32::default(),
16025 mesh_output_per_primitive_granularity: u32::default(),
16026 }
16027 }
16028}
16029
16030#[repr(C)]
16032#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16033pub struct PhysicalDeviceMultiDrawFeaturesEXT {
16034 pub s_type: StructureType,
16035 pub next: *mut c_void,
16036 pub multi_draw: Bool32,
16037}
16038
16039impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
16040 #[inline]
16041 fn default() -> Self {
16042 Self {
16043 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
16044 next: ptr::null_mut(),
16045 multi_draw: Bool32::default(),
16046 }
16047 }
16048}
16049
16050#[repr(C)]
16052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16053pub struct PhysicalDeviceMultiDrawPropertiesEXT {
16054 pub s_type: StructureType,
16055 pub next: *mut c_void,
16056 pub max_multi_draw_count: u32,
16057}
16058
16059impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
16060 #[inline]
16061 fn default() -> Self {
16062 Self {
16063 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
16064 next: ptr::null_mut(),
16065 max_multi_draw_count: u32::default(),
16066 }
16067 }
16068}
16069
16070#[repr(C)]
16072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16073pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
16074 pub s_type: StructureType,
16075 pub next: *mut c_void,
16076 pub multisampled_render_to_single_sampled: Bool32,
16077}
16078
16079impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
16080 #[inline]
16081 fn default() -> Self {
16082 Self {
16083 s_type:
16084 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
16085 next: ptr::null_mut(),
16086 multisampled_render_to_single_sampled: Bool32::default(),
16087 }
16088 }
16089}
16090
16091#[repr(C)]
16093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16094pub struct PhysicalDeviceMultiviewFeatures {
16095 pub s_type: StructureType,
16096 pub next: *mut c_void,
16097 pub multiview: Bool32,
16098 pub multiview_geometry_shader: Bool32,
16099 pub multiview_tessellation_shader: Bool32,
16100}
16101
16102impl Default for PhysicalDeviceMultiviewFeatures {
16103 #[inline]
16104 fn default() -> Self {
16105 Self {
16106 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
16107 next: ptr::null_mut(),
16108 multiview: Bool32::default(),
16109 multiview_geometry_shader: Bool32::default(),
16110 multiview_tessellation_shader: Bool32::default(),
16111 }
16112 }
16113}
16114
16115#[repr(C)]
16117#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16118pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
16119 pub s_type: StructureType,
16120 pub next: *mut c_void,
16121 pub per_view_position_all_components: Bool32,
16122}
16123
16124impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
16125 #[inline]
16126 fn default() -> Self {
16127 Self {
16128 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
16129 next: ptr::null_mut(),
16130 per_view_position_all_components: Bool32::default(),
16131 }
16132 }
16133}
16134
16135#[repr(C)]
16137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16138pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
16139 pub s_type: StructureType,
16140 pub next: *mut c_void,
16141 pub multiview_per_view_render_areas: Bool32,
16142}
16143
16144impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
16145 #[inline]
16146 fn default() -> Self {
16147 Self {
16148 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
16149 next: ptr::null_mut(),
16150 multiview_per_view_render_areas: Bool32::default(),
16151 }
16152 }
16153}
16154
16155#[repr(C)]
16157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16158pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
16159 pub s_type: StructureType,
16160 pub next: *mut c_void,
16161 pub multiview_per_view_viewports: Bool32,
16162}
16163
16164impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
16165 #[inline]
16166 fn default() -> Self {
16167 Self {
16168 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
16169 next: ptr::null_mut(),
16170 multiview_per_view_viewports: Bool32::default(),
16171 }
16172 }
16173}
16174
16175#[repr(C)]
16177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16178pub struct PhysicalDeviceMultiviewProperties {
16179 pub s_type: StructureType,
16180 pub next: *mut c_void,
16181 pub max_multiview_view_count: u32,
16182 pub max_multiview_instance_index: u32,
16183}
16184
16185impl Default for PhysicalDeviceMultiviewProperties {
16186 #[inline]
16187 fn default() -> Self {
16188 Self {
16189 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
16190 next: ptr::null_mut(),
16191 max_multiview_view_count: u32::default(),
16192 max_multiview_instance_index: u32::default(),
16193 }
16194 }
16195}
16196
16197#[repr(C)]
16199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16200pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
16201 pub s_type: StructureType,
16202 pub next: *mut c_void,
16203 pub mutable_descriptor_type: Bool32,
16204}
16205
16206impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
16207 #[inline]
16208 fn default() -> Self {
16209 Self {
16210 s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
16211 next: ptr::null_mut(),
16212 mutable_descriptor_type: Bool32::default(),
16213 }
16214 }
16215}
16216
16217#[repr(C)]
16219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16220pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
16221 pub s_type: StructureType,
16222 pub next: *mut c_void,
16223 pub nested_command_buffer: Bool32,
16224 pub nested_command_buffer_rendering: Bool32,
16225 pub nested_command_buffer_simultaneous_use: Bool32,
16226}
16227
16228impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
16229 #[inline]
16230 fn default() -> Self {
16231 Self {
16232 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
16233 next: ptr::null_mut(),
16234 nested_command_buffer: Bool32::default(),
16235 nested_command_buffer_rendering: Bool32::default(),
16236 nested_command_buffer_simultaneous_use: Bool32::default(),
16237 }
16238 }
16239}
16240
16241#[repr(C)]
16243#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16244pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
16245 pub s_type: StructureType,
16246 pub next: *mut c_void,
16247 pub max_command_buffer_nesting_level: u32,
16248}
16249
16250impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
16251 #[inline]
16252 fn default() -> Self {
16253 Self {
16254 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
16255 next: ptr::null_mut(),
16256 max_command_buffer_nesting_level: u32::default(),
16257 }
16258 }
16259}
16260
16261#[repr(C)]
16263#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16264pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
16265 pub s_type: StructureType,
16266 pub next: *mut c_void,
16267 pub non_seamless_cube_map: Bool32,
16268}
16269
16270impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
16271 #[inline]
16272 fn default() -> Self {
16273 Self {
16274 s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
16275 next: ptr::null_mut(),
16276 non_seamless_cube_map: Bool32::default(),
16277 }
16278 }
16279}
16280
16281#[repr(C)]
16283#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16284pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
16285 pub s_type: StructureType,
16286 pub next: *mut c_void,
16287 pub micromap: Bool32,
16288 pub micromap_capture_replay: Bool32,
16289 pub micromap_host_commands: Bool32,
16290}
16291
16292impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
16293 #[inline]
16294 fn default() -> Self {
16295 Self {
16296 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
16297 next: ptr::null_mut(),
16298 micromap: Bool32::default(),
16299 micromap_capture_replay: Bool32::default(),
16300 micromap_host_commands: Bool32::default(),
16301 }
16302 }
16303}
16304
16305#[repr(C)]
16307#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16308pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
16309 pub s_type: StructureType,
16310 pub next: *mut c_void,
16311 pub max_opacity2_state_subdivision_level: u32,
16312 pub max_opacity4_state_subdivision_level: u32,
16313}
16314
16315impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
16316 #[inline]
16317 fn default() -> Self {
16318 Self {
16319 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
16320 next: ptr::null_mut(),
16321 max_opacity2_state_subdivision_level: u32::default(),
16322 max_opacity4_state_subdivision_level: u32::default(),
16323 }
16324 }
16325}
16326
16327#[repr(C)]
16329#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16330pub struct PhysicalDeviceOpticalFlowFeaturesNV {
16331 pub s_type: StructureType,
16332 pub next: *mut c_void,
16333 pub optical_flow: Bool32,
16334}
16335
16336impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
16337 #[inline]
16338 fn default() -> Self {
16339 Self {
16340 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
16341 next: ptr::null_mut(),
16342 optical_flow: Bool32::default(),
16343 }
16344 }
16345}
16346
16347#[repr(C)]
16349#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16350pub struct PhysicalDeviceOpticalFlowPropertiesNV {
16351 pub s_type: StructureType,
16352 pub next: *mut c_void,
16353 pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
16354 pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
16355 pub hint_supported: Bool32,
16356 pub cost_supported: Bool32,
16357 pub bidirectional_flow_supported: Bool32,
16358 pub global_flow_supported: Bool32,
16359 pub min_width: u32,
16360 pub min_height: u32,
16361 pub max_width: u32,
16362 pub max_height: u32,
16363 pub max_num_regions_of_interest: u32,
16364}
16365
16366impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
16367 #[inline]
16368 fn default() -> Self {
16369 Self {
16370 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
16371 next: ptr::null_mut(),
16372 supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
16373 supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
16374 hint_supported: Bool32::default(),
16375 cost_supported: Bool32::default(),
16376 bidirectional_flow_supported: Bool32::default(),
16377 global_flow_supported: Bool32::default(),
16378 min_width: u32::default(),
16379 min_height: u32::default(),
16380 max_width: u32::default(),
16381 max_height: u32::default(),
16382 max_num_regions_of_interest: u32::default(),
16383 }
16384 }
16385}
16386
16387#[repr(C)]
16389#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16390pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
16391 pub s_type: StructureType,
16392 pub next: *mut c_void,
16393 pub pci_domain: u32,
16394 pub pci_bus: u32,
16395 pub pci_device: u32,
16396 pub pci_function: u32,
16397}
16398
16399impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
16400 #[inline]
16401 fn default() -> Self {
16402 Self {
16403 s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
16404 next: ptr::null_mut(),
16405 pci_domain: u32::default(),
16406 pci_bus: u32::default(),
16407 pci_device: u32::default(),
16408 pci_function: u32::default(),
16409 }
16410 }
16411}
16412
16413#[repr(C)]
16415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16416pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
16417 pub s_type: StructureType,
16418 pub next: *mut c_void,
16419 pub pageable_device_local_memory: Bool32,
16420}
16421
16422impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
16423 #[inline]
16424 fn default() -> Self {
16425 Self {
16426 s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
16427 next: ptr::null_mut(),
16428 pageable_device_local_memory: Bool32::default(),
16429 }
16430 }
16431}
16432
16433#[repr(C)]
16435#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16436pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
16437 pub s_type: StructureType,
16438 pub next: *mut c_void,
16439 pub partitioned_acceleration_structure: Bool32,
16440}
16441
16442impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
16443 #[inline]
16444 fn default() -> Self {
16445 Self {
16446 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
16447 next: ptr::null_mut(),
16448 partitioned_acceleration_structure: Bool32::default(),
16449 }
16450 }
16451}
16452
16453#[repr(C)]
16455#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16456pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
16457 pub s_type: StructureType,
16458 pub next: *mut c_void,
16459 pub max_partition_count: u32,
16460}
16461
16462impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
16463 #[inline]
16464 fn default() -> Self {
16465 Self {
16466 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
16467 next: ptr::null_mut(),
16468 max_partition_count: u32::default(),
16469 }
16470 }
16471}
16472
16473#[repr(C)]
16475#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16476pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
16477 pub s_type: StructureType,
16478 pub next: *mut c_void,
16479 pub per_stage_descriptor_set: Bool32,
16480 pub dynamic_pipeline_layout: Bool32,
16481}
16482
16483impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
16484 #[inline]
16485 fn default() -> Self {
16486 Self {
16487 s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
16488 next: ptr::null_mut(),
16489 per_stage_descriptor_set: Bool32::default(),
16490 dynamic_pipeline_layout: Bool32::default(),
16491 }
16492 }
16493}
16494
16495#[repr(C)]
16497#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16498pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
16499 pub s_type: StructureType,
16500 pub next: *mut c_void,
16501 pub performance_counter_query_pools: Bool32,
16502 pub performance_counter_multiple_query_pools: Bool32,
16503}
16504
16505impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
16506 #[inline]
16507 fn default() -> Self {
16508 Self {
16509 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
16510 next: ptr::null_mut(),
16511 performance_counter_query_pools: Bool32::default(),
16512 performance_counter_multiple_query_pools: Bool32::default(),
16513 }
16514 }
16515}
16516
16517#[repr(C)]
16519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16520pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
16521 pub s_type: StructureType,
16522 pub next: *mut c_void,
16523 pub allow_command_buffer_query_copies: Bool32,
16524}
16525
16526impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
16527 #[inline]
16528 fn default() -> Self {
16529 Self {
16530 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
16531 next: ptr::null_mut(),
16532 allow_command_buffer_query_copies: Bool32::default(),
16533 }
16534 }
16535}
16536
16537#[repr(C)]
16539#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16540pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
16541 pub s_type: StructureType,
16542 pub next: *mut c_void,
16543 pub pipeline_binaries: Bool32,
16544}
16545
16546impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
16547 #[inline]
16548 fn default() -> Self {
16549 Self {
16550 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
16551 next: ptr::null_mut(),
16552 pipeline_binaries: Bool32::default(),
16553 }
16554 }
16555}
16556
16557#[repr(C)]
16559#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16560pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
16561 pub s_type: StructureType,
16562 pub next: *mut c_void,
16563 pub pipeline_binary_internal_cache: Bool32,
16564 pub pipeline_binary_internal_cache_control: Bool32,
16565 pub pipeline_binary_prefers_internal_cache: Bool32,
16566 pub pipeline_binary_precompiled_internal_cache: Bool32,
16567 pub pipeline_binary_compressed_data: Bool32,
16568}
16569
16570impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
16571 #[inline]
16572 fn default() -> Self {
16573 Self {
16574 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
16575 next: ptr::null_mut(),
16576 pipeline_binary_internal_cache: Bool32::default(),
16577 pipeline_binary_internal_cache_control: Bool32::default(),
16578 pipeline_binary_prefers_internal_cache: Bool32::default(),
16579 pipeline_binary_precompiled_internal_cache: Bool32::default(),
16580 pipeline_binary_compressed_data: Bool32::default(),
16581 }
16582 }
16583}
16584
16585#[repr(C)]
16587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16588pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
16589 pub s_type: StructureType,
16590 pub next: *mut c_void,
16591 pub pipeline_cache_incremental_mode: Bool32,
16592}
16593
16594impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
16595 #[inline]
16596 fn default() -> Self {
16597 Self {
16598 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
16599 next: ptr::null_mut(),
16600 pipeline_cache_incremental_mode: Bool32::default(),
16601 }
16602 }
16603}
16604
16605#[repr(C)]
16607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16608pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
16609 pub s_type: StructureType,
16610 pub next: *mut c_void,
16611 pub pipeline_creation_cache_control: Bool32,
16612}
16613
16614impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
16615 #[inline]
16616 fn default() -> Self {
16617 Self {
16618 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
16619 next: ptr::null_mut(),
16620 pipeline_creation_cache_control: Bool32::default(),
16621 }
16622 }
16623}
16624
16625#[repr(C)]
16627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16628pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
16629 pub s_type: StructureType,
16630 pub next: *mut c_void,
16631 pub pipeline_executable_info: Bool32,
16632}
16633
16634impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
16635 #[inline]
16636 fn default() -> Self {
16637 Self {
16638 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
16639 next: ptr::null_mut(),
16640 pipeline_executable_info: Bool32::default(),
16641 }
16642 }
16643}
16644
16645#[repr(C)]
16647#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16648pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
16649 pub s_type: StructureType,
16650 pub next: *mut c_void,
16651 pub pipeline_library_group_handles: Bool32,
16652}
16653
16654impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
16655 #[inline]
16656 fn default() -> Self {
16657 Self {
16658 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
16659 next: ptr::null_mut(),
16660 pipeline_library_group_handles: Bool32::default(),
16661 }
16662 }
16663}
16664
16665#[repr(C)]
16667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16668pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
16669 pub s_type: StructureType,
16670 pub next: *mut c_void,
16671 pub pipeline_opacity_micromap: Bool32,
16672}
16673
16674impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
16675 #[inline]
16676 fn default() -> Self {
16677 Self {
16678 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
16679 next: ptr::null_mut(),
16680 pipeline_opacity_micromap: Bool32::default(),
16681 }
16682 }
16683}
16684
16685#[repr(C)]
16687#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16688pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
16689 pub s_type: StructureType,
16690 pub next: *mut c_void,
16691 pub pipeline_properties_identifier: Bool32,
16692}
16693
16694impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
16695 #[inline]
16696 fn default() -> Self {
16697 Self {
16698 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
16699 next: ptr::null_mut(),
16700 pipeline_properties_identifier: Bool32::default(),
16701 }
16702 }
16703}
16704
16705#[repr(C)]
16707#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16708pub struct PhysicalDevicePipelineProtectedAccessFeatures {
16709 pub s_type: StructureType,
16710 pub next: *mut c_void,
16711 pub pipeline_protected_access: Bool32,
16712}
16713
16714impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
16715 #[inline]
16716 fn default() -> Self {
16717 Self {
16718 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
16719 next: ptr::null_mut(),
16720 pipeline_protected_access: Bool32::default(),
16721 }
16722 }
16723}
16724
16725#[repr(C)]
16727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16728pub struct PhysicalDevicePipelineRobustnessFeatures {
16729 pub s_type: StructureType,
16730 pub next: *mut c_void,
16731 pub pipeline_robustness: Bool32,
16732}
16733
16734impl Default for PhysicalDevicePipelineRobustnessFeatures {
16735 #[inline]
16736 fn default() -> Self {
16737 Self {
16738 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
16739 next: ptr::null_mut(),
16740 pipeline_robustness: Bool32::default(),
16741 }
16742 }
16743}
16744
16745#[repr(C)]
16747#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16748pub struct PhysicalDevicePipelineRobustnessProperties {
16749 pub s_type: StructureType,
16750 pub next: *mut c_void,
16751 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
16752 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
16753 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
16754 pub default_robustness_images: PipelineRobustnessImageBehavior,
16755}
16756
16757impl Default for PhysicalDevicePipelineRobustnessProperties {
16758 #[inline]
16759 fn default() -> Self {
16760 Self {
16761 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
16762 next: ptr::null_mut(),
16763 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
16764 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
16765 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
16766 default_robustness_images: PipelineRobustnessImageBehavior::default(),
16767 }
16768 }
16769}
16770
16771#[repr(C)]
16773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16774pub struct PhysicalDevicePointClippingProperties {
16775 pub s_type: StructureType,
16776 pub next: *mut c_void,
16777 pub point_clipping_behavior: PointClippingBehavior,
16778}
16779
16780impl Default for PhysicalDevicePointClippingProperties {
16781 #[inline]
16782 fn default() -> Self {
16783 Self {
16784 s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
16785 next: ptr::null_mut(),
16786 point_clipping_behavior: PointClippingBehavior::default(),
16787 }
16788 }
16789}
16790
16791#[repr(C)]
16793#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16794pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
16795 pub s_type: StructureType,
16796 pub next: *mut c_void,
16797 pub constant_alpha_color_blend_factors: Bool32,
16798 pub events: Bool32,
16799 pub image_view_format_reinterpretation: Bool32,
16800 pub image_view_format_swizzle: Bool32,
16801 pub image_view_2d_on_3d_image: Bool32,
16802 pub multisample_array_image: Bool32,
16803 pub mutable_comparison_samplers: Bool32,
16804 pub point_polygons: Bool32,
16805 pub sampler_mip_lod_bias: Bool32,
16806 pub separate_stencil_mask_ref: Bool32,
16807 pub shader_sample_rate_interpolation_functions: Bool32,
16808 pub tessellation_isolines: Bool32,
16809 pub tessellation_point_mode: Bool32,
16810 pub triangle_fans: Bool32,
16811 pub vertex_attribute_access_beyond_stride: Bool32,
16812}
16813
16814impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
16815 #[inline]
16816 fn default() -> Self {
16817 Self {
16818 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
16819 next: ptr::null_mut(),
16820 constant_alpha_color_blend_factors: Bool32::default(),
16821 events: Bool32::default(),
16822 image_view_format_reinterpretation: Bool32::default(),
16823 image_view_format_swizzle: Bool32::default(),
16824 image_view_2d_on_3d_image: Bool32::default(),
16825 multisample_array_image: Bool32::default(),
16826 mutable_comparison_samplers: Bool32::default(),
16827 point_polygons: Bool32::default(),
16828 sampler_mip_lod_bias: Bool32::default(),
16829 separate_stencil_mask_ref: Bool32::default(),
16830 shader_sample_rate_interpolation_functions: Bool32::default(),
16831 tessellation_isolines: Bool32::default(),
16832 tessellation_point_mode: Bool32::default(),
16833 triangle_fans: Bool32::default(),
16834 vertex_attribute_access_beyond_stride: Bool32::default(),
16835 }
16836 }
16837}
16838
16839#[repr(C)]
16841#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16842pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
16843 pub s_type: StructureType,
16844 pub next: *mut c_void,
16845 pub min_vertex_input_binding_stride_alignment: u32,
16846}
16847
16848impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
16849 #[inline]
16850 fn default() -> Self {
16851 Self {
16852 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
16853 next: ptr::null_mut(),
16854 min_vertex_input_binding_stride_alignment: u32::default(),
16855 }
16856 }
16857}
16858
16859#[repr(C)]
16861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16862pub struct PhysicalDevicePresentBarrierFeaturesNV {
16863 pub s_type: StructureType,
16864 pub next: *mut c_void,
16865 pub present_barrier: Bool32,
16866}
16867
16868impl Default for PhysicalDevicePresentBarrierFeaturesNV {
16869 #[inline]
16870 fn default() -> Self {
16871 Self {
16872 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
16873 next: ptr::null_mut(),
16874 present_barrier: Bool32::default(),
16875 }
16876 }
16877}
16878
16879#[repr(C)]
16881#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16882pub struct PhysicalDevicePresentId2FeaturesKHR {
16883 pub s_type: StructureType,
16884 pub next: *mut c_void,
16885 pub present_id2: Bool32,
16886}
16887
16888impl Default for PhysicalDevicePresentId2FeaturesKHR {
16889 #[inline]
16890 fn default() -> Self {
16891 Self {
16892 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
16893 next: ptr::null_mut(),
16894 present_id2: Bool32::default(),
16895 }
16896 }
16897}
16898
16899#[repr(C)]
16901#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16902pub struct PhysicalDevicePresentIdFeaturesKHR {
16903 pub s_type: StructureType,
16904 pub next: *mut c_void,
16905 pub present_id: Bool32,
16906}
16907
16908impl Default for PhysicalDevicePresentIdFeaturesKHR {
16909 #[inline]
16910 fn default() -> Self {
16911 Self {
16912 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
16913 next: ptr::null_mut(),
16914 present_id: Bool32::default(),
16915 }
16916 }
16917}
16918
16919#[repr(C)]
16921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16922pub struct PhysicalDevicePresentMeteringFeaturesNV {
16923 pub s_type: StructureType,
16924 pub next: *mut c_void,
16925 pub present_metering: Bool32,
16926}
16927
16928impl Default for PhysicalDevicePresentMeteringFeaturesNV {
16929 #[inline]
16930 fn default() -> Self {
16931 Self {
16932 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
16933 next: ptr::null_mut(),
16934 present_metering: Bool32::default(),
16935 }
16936 }
16937}
16938
16939#[repr(C)]
16941#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16942pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
16943 pub s_type: StructureType,
16944 pub next: *mut c_void,
16945 pub present_mode_fifo_latest_ready: Bool32,
16946}
16947
16948impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
16949 #[inline]
16950 fn default() -> Self {
16951 Self {
16952 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
16953 next: ptr::null_mut(),
16954 present_mode_fifo_latest_ready: Bool32::default(),
16955 }
16956 }
16957}
16958
16959#[repr(C)]
16961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16962pub struct PhysicalDevicePresentWait2FeaturesKHR {
16963 pub s_type: StructureType,
16964 pub next: *mut c_void,
16965 pub present_wait2: Bool32,
16966}
16967
16968impl Default for PhysicalDevicePresentWait2FeaturesKHR {
16969 #[inline]
16970 fn default() -> Self {
16971 Self {
16972 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
16973 next: ptr::null_mut(),
16974 present_wait2: Bool32::default(),
16975 }
16976 }
16977}
16978
16979#[repr(C)]
16981#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16982pub struct PhysicalDevicePresentWaitFeaturesKHR {
16983 pub s_type: StructureType,
16984 pub next: *mut c_void,
16985 pub present_wait: Bool32,
16986}
16987
16988impl Default for PhysicalDevicePresentWaitFeaturesKHR {
16989 #[inline]
16990 fn default() -> Self {
16991 Self {
16992 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
16993 next: ptr::null_mut(),
16994 present_wait: Bool32::default(),
16995 }
16996 }
16997}
16998
16999#[repr(C)]
17001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17002pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
17003 pub s_type: StructureType,
17004 pub next: *mut c_void,
17005 pub primitive_topology_list_restart: Bool32,
17006 pub primitive_topology_patch_list_restart: Bool32,
17007}
17008
17009impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
17010 #[inline]
17011 fn default() -> Self {
17012 Self {
17013 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
17014 next: ptr::null_mut(),
17015 primitive_topology_list_restart: Bool32::default(),
17016 primitive_topology_patch_list_restart: Bool32::default(),
17017 }
17018 }
17019}
17020
17021#[repr(C)]
17023#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17024pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
17025 pub s_type: StructureType,
17026 pub next: *mut c_void,
17027 pub primitives_generated_query: Bool32,
17028 pub primitives_generated_query_with_rasterizer_discard: Bool32,
17029 pub primitives_generated_query_with_non_zero_streams: Bool32,
17030}
17031
17032impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
17033 #[inline]
17034 fn default() -> Self {
17035 Self {
17036 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
17037 next: ptr::null_mut(),
17038 primitives_generated_query: Bool32::default(),
17039 primitives_generated_query_with_rasterizer_discard: Bool32::default(),
17040 primitives_generated_query_with_non_zero_streams: Bool32::default(),
17041 }
17042 }
17043}
17044
17045#[repr(C)]
17047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17048pub struct PhysicalDevicePrivateDataFeatures {
17049 pub s_type: StructureType,
17050 pub next: *mut c_void,
17051 pub private_data: Bool32,
17052}
17053
17054impl Default for PhysicalDevicePrivateDataFeatures {
17055 #[inline]
17056 fn default() -> Self {
17057 Self {
17058 s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
17059 next: ptr::null_mut(),
17060 private_data: Bool32::default(),
17061 }
17062 }
17063}
17064
17065#[repr(C)]
17067#[derive(Copy, Clone, Default, Debug, PartialEq)]
17068pub struct PhysicalDeviceProperties {
17069 pub api_version: u32,
17070 pub driver_version: u32,
17071 pub vendor_id: u32,
17072 pub device_id: u32,
17073 pub device_type: PhysicalDeviceType,
17074 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
17075 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
17076 pub limits: PhysicalDeviceLimits,
17077 pub sparse_properties: PhysicalDeviceSparseProperties,
17078}
17079
17080#[repr(C)]
17082#[derive(Copy, Clone, Debug, PartialEq)]
17083pub struct PhysicalDeviceProperties2 {
17084 pub s_type: StructureType,
17085 pub next: *mut c_void,
17086 pub properties: PhysicalDeviceProperties,
17087}
17088
17089impl Default for PhysicalDeviceProperties2 {
17090 #[inline]
17091 fn default() -> Self {
17092 Self {
17093 s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
17094 next: ptr::null_mut(),
17095 properties: PhysicalDeviceProperties::default(),
17096 }
17097 }
17098}
17099
17100#[repr(C)]
17102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17103pub struct PhysicalDeviceProtectedMemoryFeatures {
17104 pub s_type: StructureType,
17105 pub next: *mut c_void,
17106 pub protected_memory: Bool32,
17107}
17108
17109impl Default for PhysicalDeviceProtectedMemoryFeatures {
17110 #[inline]
17111 fn default() -> Self {
17112 Self {
17113 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
17114 next: ptr::null_mut(),
17115 protected_memory: Bool32::default(),
17116 }
17117 }
17118}
17119
17120#[repr(C)]
17122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17123pub struct PhysicalDeviceProtectedMemoryProperties {
17124 pub s_type: StructureType,
17125 pub next: *mut c_void,
17126 pub protected_no_fault: Bool32,
17127}
17128
17129impl Default for PhysicalDeviceProtectedMemoryProperties {
17130 #[inline]
17131 fn default() -> Self {
17132 Self {
17133 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
17134 next: ptr::null_mut(),
17135 protected_no_fault: Bool32::default(),
17136 }
17137 }
17138}
17139
17140#[repr(C)]
17142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17143pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
17144 pub s_type: StructureType,
17145 pub next: *mut c_void,
17146 pub provoking_vertex_last: Bool32,
17147 pub transform_feedback_preserves_provoking_vertex: Bool32,
17148}
17149
17150impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
17151 #[inline]
17152 fn default() -> Self {
17153 Self {
17154 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
17155 next: ptr::null_mut(),
17156 provoking_vertex_last: Bool32::default(),
17157 transform_feedback_preserves_provoking_vertex: Bool32::default(),
17158 }
17159 }
17160}
17161
17162#[repr(C)]
17164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17165pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
17166 pub s_type: StructureType,
17167 pub next: *mut c_void,
17168 pub provoking_vertex_mode_per_pipeline: Bool32,
17169 pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
17170}
17171
17172impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
17173 #[inline]
17174 fn default() -> Self {
17175 Self {
17176 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
17177 next: ptr::null_mut(),
17178 provoking_vertex_mode_per_pipeline: Bool32::default(),
17179 transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
17180 }
17181 }
17182}
17183
17184#[repr(C)]
17186#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17187pub struct PhysicalDevicePushDescriptorProperties {
17188 pub s_type: StructureType,
17189 pub next: *mut c_void,
17190 pub max_push_descriptors: u32,
17191}
17192
17193impl Default for PhysicalDevicePushDescriptorProperties {
17194 #[inline]
17195 fn default() -> Self {
17196 Self {
17197 s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
17198 next: ptr::null_mut(),
17199 max_push_descriptors: u32::default(),
17200 }
17201 }
17202}
17203
17204#[repr(C)]
17206#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17207pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
17208 pub s_type: StructureType,
17209 pub next: *const c_void,
17210 pub queue_family_index: u32,
17211 pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
17212}
17213
17214impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
17215 #[inline]
17216 fn default() -> Self {
17217 Self {
17218 s_type:
17219 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
17220 next: ptr::null(),
17221 queue_family_index: u32::default(),
17222 engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
17223 }
17224 }
17225}
17226
17227#[repr(C)]
17229#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17230pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
17231 pub s_type: StructureType,
17232 pub next: *mut c_void,
17233 pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
17234}
17235
17236impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
17237 #[inline]
17238 fn default() -> Self {
17239 Self {
17240 s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
17241 next: ptr::null_mut(),
17242 format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
17243 }
17244 }
17245}
17246
17247#[repr(C)]
17249#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17250pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
17251 pub s_type: StructureType,
17252 pub next: *mut c_void,
17253 pub rasterization_order_color_attachment_access: Bool32,
17254 pub rasterization_order_depth_attachment_access: Bool32,
17255 pub rasterization_order_stencil_attachment_access: Bool32,
17256}
17257
17258impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
17259 #[inline]
17260 fn default() -> Self {
17261 Self {
17262 s_type:
17263 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
17264 next: ptr::null_mut(),
17265 rasterization_order_color_attachment_access: Bool32::default(),
17266 rasterization_order_depth_attachment_access: Bool32::default(),
17267 rasterization_order_stencil_attachment_access: Bool32::default(),
17268 }
17269 }
17270}
17271
17272#[repr(C)]
17274#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17275pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
17276 pub s_type: StructureType,
17277 pub next: *mut c_void,
17278 pub shader_raw_access_chains: Bool32,
17279}
17280
17281impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
17282 #[inline]
17283 fn default() -> Self {
17284 Self {
17285 s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
17286 next: ptr::null_mut(),
17287 shader_raw_access_chains: Bool32::default(),
17288 }
17289 }
17290}
17291
17292#[repr(C)]
17294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17295pub struct PhysicalDeviceRayQueryFeaturesKHR {
17296 pub s_type: StructureType,
17297 pub next: *mut c_void,
17298 pub ray_query: Bool32,
17299}
17300
17301impl Default for PhysicalDeviceRayQueryFeaturesKHR {
17302 #[inline]
17303 fn default() -> Self {
17304 Self {
17305 s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
17306 next: ptr::null_mut(),
17307 ray_query: Bool32::default(),
17308 }
17309 }
17310}
17311
17312#[repr(C)]
17314#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17315pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
17316 pub s_type: StructureType,
17317 pub next: *mut c_void,
17318 pub ray_tracing_invocation_reorder: Bool32,
17319}
17320
17321impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
17322 #[inline]
17323 fn default() -> Self {
17324 Self {
17325 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
17326 next: ptr::null_mut(),
17327 ray_tracing_invocation_reorder: Bool32::default(),
17328 }
17329 }
17330}
17331
17332#[repr(C)]
17334#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17335pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
17336 pub s_type: StructureType,
17337 pub next: *mut c_void,
17338 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeNV,
17339}
17340
17341impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
17342 #[inline]
17343 fn default() -> Self {
17344 Self {
17345 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
17346 next: ptr::null_mut(),
17347 ray_tracing_invocation_reorder_reordering_hint:
17348 RayTracingInvocationReorderModeNV::default(),
17349 }
17350 }
17351}
17352
17353#[repr(C)]
17355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17356pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
17357 pub s_type: StructureType,
17358 pub next: *mut c_void,
17359 pub spheres: Bool32,
17360 pub linear_swept_spheres: Bool32,
17361}
17362
17363impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
17364 #[inline]
17365 fn default() -> Self {
17366 Self {
17367 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
17368 next: ptr::null_mut(),
17369 spheres: Bool32::default(),
17370 linear_swept_spheres: Bool32::default(),
17371 }
17372 }
17373}
17374
17375#[repr(C)]
17377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17378pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
17379 pub s_type: StructureType,
17380 pub next: *mut c_void,
17381 pub ray_tracing_maintenance1: Bool32,
17382 pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
17383}
17384
17385impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
17386 #[inline]
17387 fn default() -> Self {
17388 Self {
17389 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
17390 next: ptr::null_mut(),
17391 ray_tracing_maintenance1: Bool32::default(),
17392 ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
17393 }
17394 }
17395}
17396
17397#[repr(C)]
17399#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17400pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
17401 pub s_type: StructureType,
17402 pub next: *mut c_void,
17403 pub ray_tracing_motion_blur: Bool32,
17404 pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
17405}
17406
17407impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
17408 #[inline]
17409 fn default() -> Self {
17410 Self {
17411 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
17412 next: ptr::null_mut(),
17413 ray_tracing_motion_blur: Bool32::default(),
17414 ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
17415 }
17416 }
17417}
17418
17419#[repr(C)]
17421#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17422pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
17423 pub s_type: StructureType,
17424 pub next: *mut c_void,
17425 pub ray_tracing_pipeline: Bool32,
17426 pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
17427 pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
17428 pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
17429 pub ray_traversal_primitive_culling: Bool32,
17430}
17431
17432impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
17433 #[inline]
17434 fn default() -> Self {
17435 Self {
17436 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
17437 next: ptr::null_mut(),
17438 ray_tracing_pipeline: Bool32::default(),
17439 ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
17440 ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
17441 ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
17442 ray_traversal_primitive_culling: Bool32::default(),
17443 }
17444 }
17445}
17446
17447#[repr(C)]
17449#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17450pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
17451 pub s_type: StructureType,
17452 pub next: *mut c_void,
17453 pub shader_group_handle_size: u32,
17454 pub max_ray_recursion_depth: u32,
17455 pub max_shader_group_stride: u32,
17456 pub shader_group_base_alignment: u32,
17457 pub shader_group_handle_capture_replay_size: u32,
17458 pub max_ray_dispatch_invocation_count: u32,
17459 pub shader_group_handle_alignment: u32,
17460 pub max_ray_hit_attribute_size: u32,
17461}
17462
17463impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
17464 #[inline]
17465 fn default() -> Self {
17466 Self {
17467 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
17468 next: ptr::null_mut(),
17469 shader_group_handle_size: u32::default(),
17470 max_ray_recursion_depth: u32::default(),
17471 max_shader_group_stride: u32::default(),
17472 shader_group_base_alignment: u32::default(),
17473 shader_group_handle_capture_replay_size: u32::default(),
17474 max_ray_dispatch_invocation_count: u32::default(),
17475 shader_group_handle_alignment: u32::default(),
17476 max_ray_hit_attribute_size: u32::default(),
17477 }
17478 }
17479}
17480
17481#[repr(C)]
17483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17484pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
17485 pub s_type: StructureType,
17486 pub next: *mut c_void,
17487 pub ray_tracing_position_fetch: Bool32,
17488}
17489
17490impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
17491 #[inline]
17492 fn default() -> Self {
17493 Self {
17494 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
17495 next: ptr::null_mut(),
17496 ray_tracing_position_fetch: Bool32::default(),
17497 }
17498 }
17499}
17500
17501#[repr(C)]
17503#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17504pub struct PhysicalDeviceRayTracingPropertiesNV {
17505 pub s_type: StructureType,
17506 pub next: *mut c_void,
17507 pub shader_group_handle_size: u32,
17508 pub max_recursion_depth: u32,
17509 pub max_shader_group_stride: u32,
17510 pub shader_group_base_alignment: u32,
17511 pub max_geometry_count: u64,
17512 pub max_instance_count: u64,
17513 pub max_triangle_count: u64,
17514 pub max_descriptor_set_acceleration_structures: u32,
17515}
17516
17517impl Default for PhysicalDeviceRayTracingPropertiesNV {
17518 #[inline]
17519 fn default() -> Self {
17520 Self {
17521 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
17522 next: ptr::null_mut(),
17523 shader_group_handle_size: u32::default(),
17524 max_recursion_depth: u32::default(),
17525 max_shader_group_stride: u32::default(),
17526 shader_group_base_alignment: u32::default(),
17527 max_geometry_count: u64::default(),
17528 max_instance_count: u64::default(),
17529 max_triangle_count: u64::default(),
17530 max_descriptor_set_acceleration_structures: u32::default(),
17531 }
17532 }
17533}
17534
17535#[repr(C)]
17537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17538pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
17539 pub s_type: StructureType,
17540 pub next: *mut c_void,
17541 pub ray_tracing_validation: Bool32,
17542}
17543
17544impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
17545 #[inline]
17546 fn default() -> Self {
17547 Self {
17548 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
17549 next: ptr::null_mut(),
17550 ray_tracing_validation: Bool32::default(),
17551 }
17552 }
17553}
17554
17555#[repr(C)]
17557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17558pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
17559 pub s_type: StructureType,
17560 pub next: *mut c_void,
17561 pub relaxed_line_rasterization: Bool32,
17562}
17563
17564impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
17565 #[inline]
17566 fn default() -> Self {
17567 Self {
17568 s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
17569 next: ptr::null_mut(),
17570 relaxed_line_rasterization: Bool32::default(),
17571 }
17572 }
17573}
17574
17575#[repr(C)]
17577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17578pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
17579 pub s_type: StructureType,
17580 pub next: *mut c_void,
17581 pub render_pass_striped: Bool32,
17582}
17583
17584impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
17585 #[inline]
17586 fn default() -> Self {
17587 Self {
17588 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
17589 next: ptr::null_mut(),
17590 render_pass_striped: Bool32::default(),
17591 }
17592 }
17593}
17594
17595#[repr(C)]
17597#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17598pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
17599 pub s_type: StructureType,
17600 pub next: *mut c_void,
17601 pub render_pass_stripe_granularity: Extent2D,
17602 pub max_render_pass_stripes: u32,
17603}
17604
17605impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
17606 #[inline]
17607 fn default() -> Self {
17608 Self {
17609 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
17610 next: ptr::null_mut(),
17611 render_pass_stripe_granularity: Extent2D::default(),
17612 max_render_pass_stripes: u32::default(),
17613 }
17614 }
17615}
17616
17617#[repr(C)]
17619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17620pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
17621 pub s_type: StructureType,
17622 pub next: *mut c_void,
17623 pub representative_fragment_test: Bool32,
17624}
17625
17626impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
17627 #[inline]
17628 fn default() -> Self {
17629 Self {
17630 s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
17631 next: ptr::null_mut(),
17632 representative_fragment_test: Bool32::default(),
17633 }
17634 }
17635}
17636
17637#[repr(C)]
17639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17640pub struct PhysicalDeviceRobustness2FeaturesKHR {
17641 pub s_type: StructureType,
17642 pub next: *mut c_void,
17643 pub robust_buffer_access2: Bool32,
17644 pub robust_image_access2: Bool32,
17645 pub null_descriptor: Bool32,
17646}
17647
17648impl Default for PhysicalDeviceRobustness2FeaturesKHR {
17649 #[inline]
17650 fn default() -> Self {
17651 Self {
17652 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
17653 next: ptr::null_mut(),
17654 robust_buffer_access2: Bool32::default(),
17655 robust_image_access2: Bool32::default(),
17656 null_descriptor: Bool32::default(),
17657 }
17658 }
17659}
17660
17661#[repr(C)]
17663#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17664pub struct PhysicalDeviceRobustness2PropertiesKHR {
17665 pub s_type: StructureType,
17666 pub next: *mut c_void,
17667 pub robust_storage_buffer_access_size_alignment: DeviceSize,
17668 pub robust_uniform_buffer_access_size_alignment: DeviceSize,
17669}
17670
17671impl Default for PhysicalDeviceRobustness2PropertiesKHR {
17672 #[inline]
17673 fn default() -> Self {
17674 Self {
17675 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
17676 next: ptr::null_mut(),
17677 robust_storage_buffer_access_size_alignment: DeviceSize::default(),
17678 robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
17679 }
17680 }
17681}
17682
17683#[repr(C)]
17685#[derive(Copy, Clone, Debug, PartialEq)]
17686pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
17687 pub s_type: StructureType,
17688 pub next: *mut c_void,
17689 pub sample_location_sample_counts: SampleCountFlags,
17690 pub max_sample_location_grid_size: Extent2D,
17691 pub sample_location_coordinate_range: [f32; 2],
17692 pub sample_location_sub_pixel_bits: u32,
17693 pub variable_sample_locations: Bool32,
17694}
17695
17696impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
17697 #[inline]
17698 fn default() -> Self {
17699 Self {
17700 s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
17701 next: ptr::null_mut(),
17702 sample_location_sample_counts: SampleCountFlags::default(),
17703 max_sample_location_grid_size: Extent2D::default(),
17704 sample_location_coordinate_range: [f32::default(); 2],
17705 sample_location_sub_pixel_bits: u32::default(),
17706 variable_sample_locations: Bool32::default(),
17707 }
17708 }
17709}
17710
17711#[repr(C)]
17713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17714pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
17715 pub s_type: StructureType,
17716 pub next: *mut c_void,
17717 pub filter_minmax_single_component_formats: Bool32,
17718 pub filter_minmax_image_component_mapping: Bool32,
17719}
17720
17721impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
17722 #[inline]
17723 fn default() -> Self {
17724 Self {
17725 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
17726 next: ptr::null_mut(),
17727 filter_minmax_single_component_formats: Bool32::default(),
17728 filter_minmax_image_component_mapping: Bool32::default(),
17729 }
17730 }
17731}
17732
17733#[repr(C)]
17735#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17736pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
17737 pub s_type: StructureType,
17738 pub next: *mut c_void,
17739 pub sampler_ycbcr_conversion: Bool32,
17740}
17741
17742impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
17743 #[inline]
17744 fn default() -> Self {
17745 Self {
17746 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
17747 next: ptr::null_mut(),
17748 sampler_ycbcr_conversion: Bool32::default(),
17749 }
17750 }
17751}
17752
17753#[repr(C)]
17755#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17756pub struct PhysicalDeviceScalarBlockLayoutFeatures {
17757 pub s_type: StructureType,
17758 pub next: *mut c_void,
17759 pub scalar_block_layout: Bool32,
17760}
17761
17762impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
17763 #[inline]
17764 fn default() -> Self {
17765 Self {
17766 s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
17767 next: ptr::null_mut(),
17768 scalar_block_layout: Bool32::default(),
17769 }
17770 }
17771}
17772
17773#[repr(C)]
17775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17776pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
17777 pub s_type: StructureType,
17778 pub next: *mut c_void,
17779 pub scheduling_controls: Bool32,
17780}
17781
17782impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
17783 #[inline]
17784 fn default() -> Self {
17785 Self {
17786 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
17787 next: ptr::null_mut(),
17788 scheduling_controls: Bool32::default(),
17789 }
17790 }
17791}
17792
17793#[repr(C)]
17795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17796pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
17797 pub s_type: StructureType,
17798 pub next: *mut c_void,
17799 pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
17800}
17801
17802impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
17803 #[inline]
17804 fn default() -> Self {
17805 Self {
17806 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
17807 next: ptr::null_mut(),
17808 scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
17809 }
17810 }
17811}
17812
17813#[repr(C)]
17815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17816pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
17817 pub s_type: StructureType,
17818 pub next: *mut c_void,
17819 pub separate_depth_stencil_layouts: Bool32,
17820}
17821
17822impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
17823 #[inline]
17824 fn default() -> Self {
17825 Self {
17826 s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
17827 next: ptr::null_mut(),
17828 separate_depth_stencil_layouts: Bool32::default(),
17829 }
17830 }
17831}
17832
17833#[repr(C)]
17835#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17836pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
17837 pub s_type: StructureType,
17838 pub next: *mut c_void,
17839 pub shader_float16_vector_atomics: Bool32,
17840}
17841
17842impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
17843 #[inline]
17844 fn default() -> Self {
17845 Self {
17846 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
17847 next: ptr::null_mut(),
17848 shader_float16_vector_atomics: Bool32::default(),
17849 }
17850 }
17851}
17852
17853#[repr(C)]
17855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17856pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
17857 pub s_type: StructureType,
17858 pub next: *mut c_void,
17859 pub shader_buffer_float16_atomics: Bool32,
17860 pub shader_buffer_float16_atomic_add: Bool32,
17861 pub shader_buffer_float16_atomic_min_max: Bool32,
17862 pub shader_buffer_float32_atomic_min_max: Bool32,
17863 pub shader_buffer_float64_atomic_min_max: Bool32,
17864 pub shader_shared_float16_atomics: Bool32,
17865 pub shader_shared_float16_atomic_add: Bool32,
17866 pub shader_shared_float16_atomic_min_max: Bool32,
17867 pub shader_shared_float32_atomic_min_max: Bool32,
17868 pub shader_shared_float64_atomic_min_max: Bool32,
17869 pub shader_image_float32_atomic_min_max: Bool32,
17870 pub sparse_image_float32_atomic_min_max: Bool32,
17871}
17872
17873impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
17874 #[inline]
17875 fn default() -> Self {
17876 Self {
17877 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
17878 next: ptr::null_mut(),
17879 shader_buffer_float16_atomics: Bool32::default(),
17880 shader_buffer_float16_atomic_add: Bool32::default(),
17881 shader_buffer_float16_atomic_min_max: Bool32::default(),
17882 shader_buffer_float32_atomic_min_max: Bool32::default(),
17883 shader_buffer_float64_atomic_min_max: Bool32::default(),
17884 shader_shared_float16_atomics: Bool32::default(),
17885 shader_shared_float16_atomic_add: Bool32::default(),
17886 shader_shared_float16_atomic_min_max: Bool32::default(),
17887 shader_shared_float32_atomic_min_max: Bool32::default(),
17888 shader_shared_float64_atomic_min_max: Bool32::default(),
17889 shader_image_float32_atomic_min_max: Bool32::default(),
17890 sparse_image_float32_atomic_min_max: Bool32::default(),
17891 }
17892 }
17893}
17894
17895#[repr(C)]
17897#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17898pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
17899 pub s_type: StructureType,
17900 pub next: *mut c_void,
17901 pub shader_buffer_float32_atomics: Bool32,
17902 pub shader_buffer_float32_atomic_add: Bool32,
17903 pub shader_buffer_float64_atomics: Bool32,
17904 pub shader_buffer_float64_atomic_add: Bool32,
17905 pub shader_shared_float32_atomics: Bool32,
17906 pub shader_shared_float32_atomic_add: Bool32,
17907 pub shader_shared_float64_atomics: Bool32,
17908 pub shader_shared_float64_atomic_add: Bool32,
17909 pub shader_image_float32_atomics: Bool32,
17910 pub shader_image_float32_atomic_add: Bool32,
17911 pub sparse_image_float32_atomics: Bool32,
17912 pub sparse_image_float32_atomic_add: Bool32,
17913}
17914
17915impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
17916 #[inline]
17917 fn default() -> Self {
17918 Self {
17919 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
17920 next: ptr::null_mut(),
17921 shader_buffer_float32_atomics: Bool32::default(),
17922 shader_buffer_float32_atomic_add: Bool32::default(),
17923 shader_buffer_float64_atomics: Bool32::default(),
17924 shader_buffer_float64_atomic_add: Bool32::default(),
17925 shader_shared_float32_atomics: Bool32::default(),
17926 shader_shared_float32_atomic_add: Bool32::default(),
17927 shader_shared_float64_atomics: Bool32::default(),
17928 shader_shared_float64_atomic_add: Bool32::default(),
17929 shader_image_float32_atomics: Bool32::default(),
17930 shader_image_float32_atomic_add: Bool32::default(),
17931 sparse_image_float32_atomics: Bool32::default(),
17932 sparse_image_float32_atomic_add: Bool32::default(),
17933 }
17934 }
17935}
17936
17937#[repr(C)]
17939#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17940pub struct PhysicalDeviceShaderAtomicInt64Features {
17941 pub s_type: StructureType,
17942 pub next: *mut c_void,
17943 pub shader_buffer_int64_atomics: Bool32,
17944 pub shader_shared_int64_atomics: Bool32,
17945}
17946
17947impl Default for PhysicalDeviceShaderAtomicInt64Features {
17948 #[inline]
17949 fn default() -> Self {
17950 Self {
17951 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
17952 next: ptr::null_mut(),
17953 shader_buffer_int64_atomics: Bool32::default(),
17954 shader_shared_int64_atomics: Bool32::default(),
17955 }
17956 }
17957}
17958
17959#[repr(C)]
17961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17962pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
17963 pub s_type: StructureType,
17964 pub next: *mut c_void,
17965 pub shader_b_float16_type: Bool32,
17966 pub shader_b_float_16dot_product: Bool32,
17967 pub shader_b_float16_cooperative_matrix: Bool32,
17968}
17969
17970impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
17971 #[inline]
17972 fn default() -> Self {
17973 Self {
17974 s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
17975 next: ptr::null_mut(),
17976 shader_b_float16_type: Bool32::default(),
17977 shader_b_float_16dot_product: Bool32::default(),
17978 shader_b_float16_cooperative_matrix: Bool32::default(),
17979 }
17980 }
17981}
17982
17983#[repr(C)]
17985#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17986pub struct PhysicalDeviceShaderClockFeaturesKHR {
17987 pub s_type: StructureType,
17988 pub next: *mut c_void,
17989 pub shader_subgroup_clock: Bool32,
17990 pub shader_device_clock: Bool32,
17991}
17992
17993impl Default for PhysicalDeviceShaderClockFeaturesKHR {
17994 #[inline]
17995 fn default() -> Self {
17996 Self {
17997 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
17998 next: ptr::null_mut(),
17999 shader_subgroup_clock: Bool32::default(),
18000 shader_device_clock: Bool32::default(),
18001 }
18002 }
18003}
18004
18005#[repr(C)]
18007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18008pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
18009 pub s_type: StructureType,
18010 pub next: *mut c_void,
18011 pub shader_core_builtins: Bool32,
18012}
18013
18014impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
18015 #[inline]
18016 fn default() -> Self {
18017 Self {
18018 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
18019 next: ptr::null_mut(),
18020 shader_core_builtins: Bool32::default(),
18021 }
18022 }
18023}
18024
18025#[repr(C)]
18027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18028pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
18029 pub s_type: StructureType,
18030 pub next: *mut c_void,
18031 pub shader_core_mask: u64,
18032 pub shader_core_count: u32,
18033 pub shader_warps_per_core: u32,
18034}
18035
18036impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
18037 #[inline]
18038 fn default() -> Self {
18039 Self {
18040 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
18041 next: ptr::null_mut(),
18042 shader_core_mask: u64::default(),
18043 shader_core_count: u32::default(),
18044 shader_warps_per_core: u32::default(),
18045 }
18046 }
18047}
18048
18049#[repr(C)]
18051#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18052pub struct PhysicalDeviceShaderCoreProperties2AMD {
18053 pub s_type: StructureType,
18054 pub next: *mut c_void,
18055 pub shader_core_features: ShaderCorePropertiesFlagsAMD,
18056 pub active_compute_unit_count: u32,
18057}
18058
18059impl Default for PhysicalDeviceShaderCoreProperties2AMD {
18060 #[inline]
18061 fn default() -> Self {
18062 Self {
18063 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
18064 next: ptr::null_mut(),
18065 shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
18066 active_compute_unit_count: u32::default(),
18067 }
18068 }
18069}
18070
18071#[repr(C)]
18073#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18074pub struct PhysicalDeviceShaderCorePropertiesAMD {
18075 pub s_type: StructureType,
18076 pub next: *mut c_void,
18077 pub shader_engine_count: u32,
18078 pub shader_arrays_per_engine_count: u32,
18079 pub compute_units_per_shader_array: u32,
18080 pub simd_per_compute_unit: u32,
18081 pub wavefronts_per_simd: u32,
18082 pub wavefront_size: u32,
18083 pub sgprs_per_simd: u32,
18084 pub min_sgpr_allocation: u32,
18085 pub max_sgpr_allocation: u32,
18086 pub sgpr_allocation_granularity: u32,
18087 pub vgprs_per_simd: u32,
18088 pub min_vgpr_allocation: u32,
18089 pub max_vgpr_allocation: u32,
18090 pub vgpr_allocation_granularity: u32,
18091}
18092
18093impl Default for PhysicalDeviceShaderCorePropertiesAMD {
18094 #[inline]
18095 fn default() -> Self {
18096 Self {
18097 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
18098 next: ptr::null_mut(),
18099 shader_engine_count: u32::default(),
18100 shader_arrays_per_engine_count: u32::default(),
18101 compute_units_per_shader_array: u32::default(),
18102 simd_per_compute_unit: u32::default(),
18103 wavefronts_per_simd: u32::default(),
18104 wavefront_size: u32::default(),
18105 sgprs_per_simd: u32::default(),
18106 min_sgpr_allocation: u32::default(),
18107 max_sgpr_allocation: u32::default(),
18108 sgpr_allocation_granularity: u32::default(),
18109 vgprs_per_simd: u32::default(),
18110 min_vgpr_allocation: u32::default(),
18111 max_vgpr_allocation: u32::default(),
18112 vgpr_allocation_granularity: u32::default(),
18113 }
18114 }
18115}
18116
18117#[repr(C)]
18119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18120pub struct PhysicalDeviceShaderCorePropertiesARM {
18121 pub s_type: StructureType,
18122 pub next: *mut c_void,
18123 pub pixel_rate: u32,
18124 pub texel_rate: u32,
18125 pub fma_rate: u32,
18126}
18127
18128impl Default for PhysicalDeviceShaderCorePropertiesARM {
18129 #[inline]
18130 fn default() -> Self {
18131 Self {
18132 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
18133 next: ptr::null_mut(),
18134 pixel_rate: u32::default(),
18135 texel_rate: u32::default(),
18136 fma_rate: u32::default(),
18137 }
18138 }
18139}
18140
18141#[repr(C)]
18143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18144pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
18145 pub s_type: StructureType,
18146 pub next: *mut c_void,
18147 pub shader_demote_to_helper_invocation: Bool32,
18148}
18149
18150impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
18151 #[inline]
18152 fn default() -> Self {
18153 Self {
18154 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
18155 next: ptr::null_mut(),
18156 shader_demote_to_helper_invocation: Bool32::default(),
18157 }
18158 }
18159}
18160
18161#[repr(C)]
18163#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18164pub struct PhysicalDeviceShaderDrawParametersFeatures {
18165 pub s_type: StructureType,
18166 pub next: *mut c_void,
18167 pub shader_draw_parameters: Bool32,
18168}
18169
18170impl Default for PhysicalDeviceShaderDrawParametersFeatures {
18171 #[inline]
18172 fn default() -> Self {
18173 Self {
18174 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
18175 next: ptr::null_mut(),
18176 shader_draw_parameters: Bool32::default(),
18177 }
18178 }
18179}
18180
18181#[repr(C)]
18183#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18184pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
18185 pub s_type: StructureType,
18186 pub next: *mut c_void,
18187 pub shader_early_and_late_fragment_tests: Bool32,
18188}
18189
18190impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
18191 #[inline]
18192 fn default() -> Self {
18193 Self {
18194 s_type:
18195 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
18196 next: ptr::null_mut(),
18197 shader_early_and_late_fragment_tests: Bool32::default(),
18198 }
18199 }
18200}
18201
18202#[repr(C)]
18204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18205pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
18206 pub s_type: StructureType,
18207 pub next: *mut c_void,
18208 pub shader_enqueue: Bool32,
18209 pub shader_mesh_enqueue: Bool32,
18210}
18211
18212impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
18213 #[inline]
18214 fn default() -> Self {
18215 Self {
18216 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
18217 next: ptr::null_mut(),
18218 shader_enqueue: Bool32::default(),
18219 shader_mesh_enqueue: Bool32::default(),
18220 }
18221 }
18222}
18223
18224#[repr(C)]
18226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18227pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
18228 pub s_type: StructureType,
18229 pub next: *mut c_void,
18230 pub max_execution_graph_depth: u32,
18231 pub max_execution_graph_shader_output_nodes: u32,
18232 pub max_execution_graph_shader_payload_size: u32,
18233 pub max_execution_graph_shader_payload_count: u32,
18234 pub execution_graph_dispatch_address_alignment: u32,
18235 pub max_execution_graph_workgroup_count: [u32; 3],
18236 pub max_execution_graph_workgroups: u32,
18237}
18238
18239impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
18240 #[inline]
18241 fn default() -> Self {
18242 Self {
18243 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
18244 next: ptr::null_mut(),
18245 max_execution_graph_depth: u32::default(),
18246 max_execution_graph_shader_output_nodes: u32::default(),
18247 max_execution_graph_shader_payload_size: u32::default(),
18248 max_execution_graph_shader_payload_count: u32::default(),
18249 execution_graph_dispatch_address_alignment: u32::default(),
18250 max_execution_graph_workgroup_count: [u32::default(); 3],
18251 max_execution_graph_workgroups: u32::default(),
18252 }
18253 }
18254}
18255
18256#[repr(C)]
18258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18259pub struct PhysicalDeviceShaderExpectAssumeFeatures {
18260 pub s_type: StructureType,
18261 pub next: *mut c_void,
18262 pub shader_expect_assume: Bool32,
18263}
18264
18265impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
18266 #[inline]
18267 fn default() -> Self {
18268 Self {
18269 s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
18270 next: ptr::null_mut(),
18271 shader_expect_assume: Bool32::default(),
18272 }
18273 }
18274}
18275
18276#[repr(C)]
18278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18279pub struct PhysicalDeviceShaderFloat16Int8Features {
18280 pub s_type: StructureType,
18281 pub next: *mut c_void,
18282 pub shader_float16: Bool32,
18283 pub shader_int8: Bool32,
18284}
18285
18286impl Default for PhysicalDeviceShaderFloat16Int8Features {
18287 #[inline]
18288 fn default() -> Self {
18289 Self {
18290 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
18291 next: ptr::null_mut(),
18292 shader_float16: Bool32::default(),
18293 shader_int8: Bool32::default(),
18294 }
18295 }
18296}
18297
18298#[repr(C)]
18300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18301pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
18302 pub s_type: StructureType,
18303 pub next: *mut c_void,
18304 pub shader_float8: Bool32,
18305 pub shader_float8_cooperative_matrix: Bool32,
18306}
18307
18308impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
18309 #[inline]
18310 fn default() -> Self {
18311 Self {
18312 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
18313 next: ptr::null_mut(),
18314 shader_float8: Bool32::default(),
18315 shader_float8_cooperative_matrix: Bool32::default(),
18316 }
18317 }
18318}
18319
18320#[repr(C)]
18322#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18323pub struct PhysicalDeviceShaderFloatControls2Features {
18324 pub s_type: StructureType,
18325 pub next: *mut c_void,
18326 pub shader_float_controls2: Bool32,
18327}
18328
18329impl Default for PhysicalDeviceShaderFloatControls2Features {
18330 #[inline]
18331 fn default() -> Self {
18332 Self {
18333 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
18334 next: ptr::null_mut(),
18335 shader_float_controls2: Bool32::default(),
18336 }
18337 }
18338}
18339
18340#[repr(C)]
18342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18343pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
18344 pub s_type: StructureType,
18345 pub next: *mut c_void,
18346 pub shader_image_int64_atomics: Bool32,
18347 pub sparse_image_int64_atomics: Bool32,
18348}
18349
18350impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
18351 #[inline]
18352 fn default() -> Self {
18353 Self {
18354 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
18355 next: ptr::null_mut(),
18356 shader_image_int64_atomics: Bool32::default(),
18357 sparse_image_int64_atomics: Bool32::default(),
18358 }
18359 }
18360}
18361
18362#[repr(C)]
18364#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18365pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
18366 pub s_type: StructureType,
18367 pub next: *mut c_void,
18368 pub image_footprint: Bool32,
18369}
18370
18371impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
18372 #[inline]
18373 fn default() -> Self {
18374 Self {
18375 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
18376 next: ptr::null_mut(),
18377 image_footprint: Bool32::default(),
18378 }
18379 }
18380}
18381
18382#[repr(C)]
18384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18385pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
18386 pub s_type: StructureType,
18387 pub next: *mut c_void,
18388 pub shader_integer_dot_product: Bool32,
18389}
18390
18391impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
18392 #[inline]
18393 fn default() -> Self {
18394 Self {
18395 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
18396 next: ptr::null_mut(),
18397 shader_integer_dot_product: Bool32::default(),
18398 }
18399 }
18400}
18401
18402#[repr(C)]
18404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18405pub struct PhysicalDeviceShaderIntegerDotProductProperties {
18406 pub s_type: StructureType,
18407 pub next: *mut c_void,
18408 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
18409 pub integer_dot_product_8bit_signed_accelerated: Bool32,
18410 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
18411 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
18412 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
18413 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
18414 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
18415 pub integer_dot_product_16bit_signed_accelerated: Bool32,
18416 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
18417 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
18418 pub integer_dot_product_32bit_signed_accelerated: Bool32,
18419 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
18420 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
18421 pub integer_dot_product_64bit_signed_accelerated: Bool32,
18422 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
18423 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
18424 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
18425 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
18426 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
18427 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
18428 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
18429 Bool32,
18430 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
18431 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
18432 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
18433 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
18434 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
18435 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
18436 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
18437 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
18438 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
18439}
18440
18441impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
18442 #[inline]
18443 fn default() -> Self {
18444 Self { s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, next: ptr::null_mut(), integer_dot_product_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_8bit_signed_accelerated: Bool32::default(), integer_dot_product_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_16bit_signed_accelerated: Bool32::default(), integer_dot_product_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_32bit_signed_accelerated: Bool32::default(), integer_dot_product_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_64bit_signed_accelerated: Bool32::default(), integer_dot_product_64bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32::default() }
18445 }
18446}
18447
18448#[repr(C)]
18450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18451pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
18452 pub s_type: StructureType,
18453 pub next: *mut c_void,
18454 pub shader_integer_functions2: Bool32,
18455}
18456
18457impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
18458 #[inline]
18459 fn default() -> Self {
18460 Self {
18461 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
18462 next: ptr::null_mut(),
18463 shader_integer_functions2: Bool32::default(),
18464 }
18465 }
18466}
18467
18468#[repr(C)]
18470#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18471pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
18472 pub s_type: StructureType,
18473 pub next: *mut c_void,
18474 pub shader_maximal_reconvergence: Bool32,
18475}
18476
18477impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
18478 #[inline]
18479 fn default() -> Self {
18480 Self {
18481 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
18482 next: ptr::null_mut(),
18483 shader_maximal_reconvergence: Bool32::default(),
18484 }
18485 }
18486}
18487
18488#[repr(C)]
18490#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18491pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
18492 pub s_type: StructureType,
18493 pub next: *mut c_void,
18494 pub shader_module_identifier: Bool32,
18495}
18496
18497impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
18498 #[inline]
18499 fn default() -> Self {
18500 Self {
18501 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
18502 next: ptr::null_mut(),
18503 shader_module_identifier: Bool32::default(),
18504 }
18505 }
18506}
18507
18508#[repr(C)]
18510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18511pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
18512 pub s_type: StructureType,
18513 pub next: *mut c_void,
18514 pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
18515}
18516
18517impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
18518 #[inline]
18519 fn default() -> Self {
18520 Self {
18521 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
18522 next: ptr::null_mut(),
18523 shader_module_identifier_algorithm_uuid: ByteArray::default(),
18524 }
18525 }
18526}
18527
18528#[repr(C)]
18530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18531pub struct PhysicalDeviceShaderObjectFeaturesEXT {
18532 pub s_type: StructureType,
18533 pub next: *mut c_void,
18534 pub shader_object: Bool32,
18535}
18536
18537impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
18538 #[inline]
18539 fn default() -> Self {
18540 Self {
18541 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
18542 next: ptr::null_mut(),
18543 shader_object: Bool32::default(),
18544 }
18545 }
18546}
18547
18548#[repr(C)]
18550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18551pub struct PhysicalDeviceShaderObjectPropertiesEXT {
18552 pub s_type: StructureType,
18553 pub next: *mut c_void,
18554 pub shader_binary_uuid: ByteArray<UUID_SIZE>,
18555 pub shader_binary_version: u32,
18556}
18557
18558impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
18559 #[inline]
18560 fn default() -> Self {
18561 Self {
18562 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
18563 next: ptr::null_mut(),
18564 shader_binary_uuid: ByteArray::default(),
18565 shader_binary_version: u32::default(),
18566 }
18567 }
18568}
18569
18570#[repr(C)]
18572#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18573pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
18574 pub s_type: StructureType,
18575 pub next: *mut c_void,
18576 pub shader_quad_control: Bool32,
18577}
18578
18579impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
18580 #[inline]
18581 fn default() -> Self {
18582 Self {
18583 s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
18584 next: ptr::null_mut(),
18585 shader_quad_control: Bool32::default(),
18586 }
18587 }
18588}
18589
18590#[repr(C)]
18592#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18593pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
18594 pub s_type: StructureType,
18595 pub next: *mut c_void,
18596 pub shader_relaxed_extended_instruction: Bool32,
18597}
18598
18599impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
18600 #[inline]
18601 fn default() -> Self {
18602 Self {
18603 s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
18604 next: ptr::null_mut(),
18605 shader_relaxed_extended_instruction: Bool32::default(),
18606 }
18607 }
18608}
18609
18610#[repr(C)]
18612#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18613pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
18614 pub s_type: StructureType,
18615 pub next: *mut c_void,
18616 pub shader_replicated_composites: Bool32,
18617}
18618
18619impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
18620 #[inline]
18621 fn default() -> Self {
18622 Self {
18623 s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
18624 next: ptr::null_mut(),
18625 shader_replicated_composites: Bool32::default(),
18626 }
18627 }
18628}
18629
18630#[repr(C)]
18632#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18633pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
18634 pub s_type: StructureType,
18635 pub next: *mut c_void,
18636 pub shader_sm_builtins: Bool32,
18637}
18638
18639impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
18640 #[inline]
18641 fn default() -> Self {
18642 Self {
18643 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
18644 next: ptr::null_mut(),
18645 shader_sm_builtins: Bool32::default(),
18646 }
18647 }
18648}
18649
18650#[repr(C)]
18652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18653pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
18654 pub s_type: StructureType,
18655 pub next: *mut c_void,
18656 pub shader_sm_count: u32,
18657 pub shader_warps_per_sm: u32,
18658}
18659
18660impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
18661 #[inline]
18662 fn default() -> Self {
18663 Self {
18664 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
18665 next: ptr::null_mut(),
18666 shader_sm_count: u32::default(),
18667 shader_warps_per_sm: u32::default(),
18668 }
18669 }
18670}
18671
18672#[repr(C)]
18674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18675pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
18676 pub s_type: StructureType,
18677 pub next: *mut c_void,
18678 pub shader_subgroup_extended_types: Bool32,
18679}
18680
18681impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
18682 #[inline]
18683 fn default() -> Self {
18684 Self {
18685 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
18686 next: ptr::null_mut(),
18687 shader_subgroup_extended_types: Bool32::default(),
18688 }
18689 }
18690}
18691
18692#[repr(C)]
18694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18695pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
18696 pub s_type: StructureType,
18697 pub next: *mut c_void,
18698 pub shader_subgroup_rotate: Bool32,
18699 pub shader_subgroup_rotate_clustered: Bool32,
18700}
18701
18702impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
18703 #[inline]
18704 fn default() -> Self {
18705 Self {
18706 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
18707 next: ptr::null_mut(),
18708 shader_subgroup_rotate: Bool32::default(),
18709 shader_subgroup_rotate_clustered: Bool32::default(),
18710 }
18711 }
18712}
18713
18714#[repr(C)]
18716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18717pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
18718 pub s_type: StructureType,
18719 pub next: *mut c_void,
18720 pub shader_subgroup_uniform_control_flow: Bool32,
18721}
18722
18723impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
18724 #[inline]
18725 fn default() -> Self {
18726 Self {
18727 s_type:
18728 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
18729 next: ptr::null_mut(),
18730 shader_subgroup_uniform_control_flow: Bool32::default(),
18731 }
18732 }
18733}
18734
18735#[repr(C)]
18737#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18738pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
18739 pub s_type: StructureType,
18740 pub next: *mut c_void,
18741 pub shader_terminate_invocation: Bool32,
18742}
18743
18744impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
18745 #[inline]
18746 fn default() -> Self {
18747 Self {
18748 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
18749 next: ptr::null_mut(),
18750 shader_terminate_invocation: Bool32::default(),
18751 }
18752 }
18753}
18754
18755#[repr(C)]
18757#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18758pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
18759 pub s_type: StructureType,
18760 pub next: *mut c_void,
18761 pub shader_tile_image_color_read_access: Bool32,
18762 pub shader_tile_image_depth_read_access: Bool32,
18763 pub shader_tile_image_stencil_read_access: Bool32,
18764}
18765
18766impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
18767 #[inline]
18768 fn default() -> Self {
18769 Self {
18770 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
18771 next: ptr::null_mut(),
18772 shader_tile_image_color_read_access: Bool32::default(),
18773 shader_tile_image_depth_read_access: Bool32::default(),
18774 shader_tile_image_stencil_read_access: Bool32::default(),
18775 }
18776 }
18777}
18778
18779#[repr(C)]
18781#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18782pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
18783 pub s_type: StructureType,
18784 pub next: *mut c_void,
18785 pub shader_tile_image_coherent_read_accelerated: Bool32,
18786 pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
18787 pub shader_tile_image_read_from_helper_invocation: Bool32,
18788}
18789
18790impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
18791 #[inline]
18792 fn default() -> Self {
18793 Self {
18794 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
18795 next: ptr::null_mut(),
18796 shader_tile_image_coherent_read_accelerated: Bool32::default(),
18797 shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
18798 shader_tile_image_read_from_helper_invocation: Bool32::default(),
18799 }
18800 }
18801}
18802
18803#[repr(C)]
18805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18806pub struct PhysicalDeviceShadingRateImageFeaturesNV {
18807 pub s_type: StructureType,
18808 pub next: *mut c_void,
18809 pub shading_rate_image: Bool32,
18810 pub shading_rate_coarse_sample_order: Bool32,
18811}
18812
18813impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
18814 #[inline]
18815 fn default() -> Self {
18816 Self {
18817 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
18818 next: ptr::null_mut(),
18819 shading_rate_image: Bool32::default(),
18820 shading_rate_coarse_sample_order: Bool32::default(),
18821 }
18822 }
18823}
18824
18825#[repr(C)]
18827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18828pub struct PhysicalDeviceShadingRateImagePropertiesNV {
18829 pub s_type: StructureType,
18830 pub next: *mut c_void,
18831 pub shading_rate_texel_size: Extent2D,
18832 pub shading_rate_palette_size: u32,
18833 pub shading_rate_max_coarse_samples: u32,
18834}
18835
18836impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
18837 #[inline]
18838 fn default() -> Self {
18839 Self {
18840 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
18841 next: ptr::null_mut(),
18842 shading_rate_texel_size: Extent2D::default(),
18843 shading_rate_palette_size: u32::default(),
18844 shading_rate_max_coarse_samples: u32::default(),
18845 }
18846 }
18847}
18848
18849#[repr(C)]
18851#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18852pub struct PhysicalDeviceSparseImageFormatInfo2 {
18853 pub s_type: StructureType,
18854 pub next: *const c_void,
18855 pub format: Format,
18856 pub type_: ImageType,
18857 pub samples: SampleCountFlags,
18858 pub usage: ImageUsageFlags,
18859 pub tiling: ImageTiling,
18860}
18861
18862impl Default for PhysicalDeviceSparseImageFormatInfo2 {
18863 #[inline]
18864 fn default() -> Self {
18865 Self {
18866 s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
18867 next: ptr::null(),
18868 format: Format::default(),
18869 type_: ImageType::default(),
18870 samples: SampleCountFlags::default(),
18871 usage: ImageUsageFlags::default(),
18872 tiling: ImageTiling::default(),
18873 }
18874 }
18875}
18876
18877#[repr(C)]
18879#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
18880pub struct PhysicalDeviceSparseProperties {
18881 pub residency_standard_2d_block_shape: Bool32,
18882 pub residency_standard_2d_multisample_block_shape: Bool32,
18883 pub residency_standard_3d_block_shape: Bool32,
18884 pub residency_aligned_mip_size: Bool32,
18885 pub residency_non_resident_strict: Bool32,
18886}
18887
18888#[repr(C)]
18890#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18891pub struct PhysicalDeviceSubgroupProperties {
18892 pub s_type: StructureType,
18893 pub next: *mut c_void,
18894 pub subgroup_size: u32,
18895 pub supported_stages: ShaderStageFlags,
18896 pub supported_operations: SubgroupFeatureFlags,
18897 pub quad_operations_in_all_stages: Bool32,
18898}
18899
18900impl Default for PhysicalDeviceSubgroupProperties {
18901 #[inline]
18902 fn default() -> Self {
18903 Self {
18904 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
18905 next: ptr::null_mut(),
18906 subgroup_size: u32::default(),
18907 supported_stages: ShaderStageFlags::default(),
18908 supported_operations: SubgroupFeatureFlags::default(),
18909 quad_operations_in_all_stages: Bool32::default(),
18910 }
18911 }
18912}
18913
18914#[repr(C)]
18916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18917pub struct PhysicalDeviceSubgroupSizeControlFeatures {
18918 pub s_type: StructureType,
18919 pub next: *mut c_void,
18920 pub subgroup_size_control: Bool32,
18921 pub compute_full_subgroups: Bool32,
18922}
18923
18924impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
18925 #[inline]
18926 fn default() -> Self {
18927 Self {
18928 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
18929 next: ptr::null_mut(),
18930 subgroup_size_control: Bool32::default(),
18931 compute_full_subgroups: Bool32::default(),
18932 }
18933 }
18934}
18935
18936#[repr(C)]
18938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18939pub struct PhysicalDeviceSubgroupSizeControlProperties {
18940 pub s_type: StructureType,
18941 pub next: *mut c_void,
18942 pub min_subgroup_size: u32,
18943 pub max_subgroup_size: u32,
18944 pub max_compute_workgroup_subgroups: u32,
18945 pub required_subgroup_size_stages: ShaderStageFlags,
18946}
18947
18948impl Default for PhysicalDeviceSubgroupSizeControlProperties {
18949 #[inline]
18950 fn default() -> Self {
18951 Self {
18952 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
18953 next: ptr::null_mut(),
18954 min_subgroup_size: u32::default(),
18955 max_subgroup_size: u32::default(),
18956 max_compute_workgroup_subgroups: u32::default(),
18957 required_subgroup_size_stages: ShaderStageFlags::default(),
18958 }
18959 }
18960}
18961
18962#[repr(C)]
18964#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18965pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
18966 pub s_type: StructureType,
18967 pub next: *mut c_void,
18968 pub subpass_merge_feedback: Bool32,
18969}
18970
18971impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
18972 #[inline]
18973 fn default() -> Self {
18974 Self {
18975 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
18976 next: ptr::null_mut(),
18977 subpass_merge_feedback: Bool32::default(),
18978 }
18979 }
18980}
18981
18982#[repr(C)]
18984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18985pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
18986 pub s_type: StructureType,
18987 pub next: *mut c_void,
18988 pub subpass_shading: Bool32,
18989}
18990
18991impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
18992 #[inline]
18993 fn default() -> Self {
18994 Self {
18995 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
18996 next: ptr::null_mut(),
18997 subpass_shading: Bool32::default(),
18998 }
18999 }
19000}
19001
19002#[repr(C)]
19004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19005pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
19006 pub s_type: StructureType,
19007 pub next: *mut c_void,
19008 pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
19009}
19010
19011impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
19012 #[inline]
19013 fn default() -> Self {
19014 Self {
19015 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
19016 next: ptr::null_mut(),
19017 max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
19018 }
19019 }
19020}
19021
19022#[repr(C)]
19024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19025pub struct PhysicalDeviceSurfaceInfo2KHR {
19026 pub s_type: StructureType,
19027 pub next: *const c_void,
19028 pub surface: SurfaceKHR,
19029}
19030
19031impl Default for PhysicalDeviceSurfaceInfo2KHR {
19032 #[inline]
19033 fn default() -> Self {
19034 Self {
19035 s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
19036 next: ptr::null(),
19037 surface: SurfaceKHR::default(),
19038 }
19039 }
19040}
19041
19042#[repr(C)]
19044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19045pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
19046 pub s_type: StructureType,
19047 pub next: *mut c_void,
19048 pub swapchain_maintenance1: Bool32,
19049}
19050
19051impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
19052 #[inline]
19053 fn default() -> Self {
19054 Self {
19055 s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
19056 next: ptr::null_mut(),
19057 swapchain_maintenance1: Bool32::default(),
19058 }
19059 }
19060}
19061
19062#[repr(C)]
19064#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19065pub struct PhysicalDeviceSynchronization2Features {
19066 pub s_type: StructureType,
19067 pub next: *mut c_void,
19068 pub synchronization2: Bool32,
19069}
19070
19071impl Default for PhysicalDeviceSynchronization2Features {
19072 #[inline]
19073 fn default() -> Self {
19074 Self {
19075 s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
19076 next: ptr::null_mut(),
19077 synchronization2: Bool32::default(),
19078 }
19079 }
19080}
19081
19082#[repr(C)]
19084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19085pub struct PhysicalDeviceTensorFeaturesARM {
19086 pub s_type: StructureType,
19087 pub next: *mut c_void,
19088 pub tensor_non_packed: Bool32,
19089 pub shader_tensor_access: Bool32,
19090 pub shader_storage_tensor_array_dynamic_indexing: Bool32,
19091 pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
19092 pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
19093 pub tensors: Bool32,
19094}
19095
19096impl Default for PhysicalDeviceTensorFeaturesARM {
19097 #[inline]
19098 fn default() -> Self {
19099 Self {
19100 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
19101 next: ptr::null_mut(),
19102 tensor_non_packed: Bool32::default(),
19103 shader_tensor_access: Bool32::default(),
19104 shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
19105 shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
19106 descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
19107 tensors: Bool32::default(),
19108 }
19109 }
19110}
19111
19112#[repr(C)]
19114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19115pub struct PhysicalDeviceTensorPropertiesARM {
19116 pub s_type: StructureType,
19117 pub next: *mut c_void,
19118 pub max_tensor_dimension_count: u32,
19119 pub max_tensor_elements: u64,
19120 pub max_per_dimension_tensor_elements: u64,
19121 pub max_tensor_stride: i64,
19122 pub max_tensor_size: u64,
19123 pub max_tensor_shader_access_array_length: u32,
19124 pub max_tensor_shader_access_size: u32,
19125 pub max_descriptor_set_storage_tensors: u32,
19126 pub max_per_stage_descriptor_set_storage_tensors: u32,
19127 pub max_descriptor_set_update_after_bind_storage_tensors: u32,
19128 pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
19129 pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
19130 pub shader_tensor_supported_stages: ShaderStageFlags,
19131}
19132
19133impl Default for PhysicalDeviceTensorPropertiesARM {
19134 #[inline]
19135 fn default() -> Self {
19136 Self {
19137 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
19138 next: ptr::null_mut(),
19139 max_tensor_dimension_count: u32::default(),
19140 max_tensor_elements: u64::default(),
19141 max_per_dimension_tensor_elements: u64::default(),
19142 max_tensor_stride: i64::default(),
19143 max_tensor_size: u64::default(),
19144 max_tensor_shader_access_array_length: u32::default(),
19145 max_tensor_shader_access_size: u32::default(),
19146 max_descriptor_set_storage_tensors: u32::default(),
19147 max_per_stage_descriptor_set_storage_tensors: u32::default(),
19148 max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
19149 max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
19150 shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
19151 shader_tensor_supported_stages: ShaderStageFlags::default(),
19152 }
19153 }
19154}
19155
19156#[repr(C)]
19158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19159pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
19160 pub s_type: StructureType,
19161 pub next: *mut c_void,
19162 pub texel_buffer_alignment: Bool32,
19163}
19164
19165impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
19166 #[inline]
19167 fn default() -> Self {
19168 Self {
19169 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
19170 next: ptr::null_mut(),
19171 texel_buffer_alignment: Bool32::default(),
19172 }
19173 }
19174}
19175
19176#[repr(C)]
19178#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19179pub struct PhysicalDeviceTexelBufferAlignmentProperties {
19180 pub s_type: StructureType,
19181 pub next: *mut c_void,
19182 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
19183 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
19184 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
19185 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
19186}
19187
19188impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
19189 #[inline]
19190 fn default() -> Self {
19191 Self {
19192 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
19193 next: ptr::null_mut(),
19194 storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
19195 storage_texel_buffer_offset_single_texel_alignment: Bool32::default(),
19196 uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
19197 uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(),
19198 }
19199 }
19200}
19201
19202#[repr(C)]
19204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19205pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
19206 pub s_type: StructureType,
19207 pub next: *mut c_void,
19208 pub texture_compression_astc_hdr: Bool32,
19209}
19210
19211impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
19212 #[inline]
19213 fn default() -> Self {
19214 Self {
19215 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
19216 next: ptr::null_mut(),
19217 texture_compression_astc_hdr: Bool32::default(),
19218 }
19219 }
19220}
19221
19222#[repr(C)]
19224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19225pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
19226 pub s_type: StructureType,
19227 pub next: *mut c_void,
19228 pub tile_memory_heap: Bool32,
19229}
19230
19231impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
19232 #[inline]
19233 fn default() -> Self {
19234 Self {
19235 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
19236 next: ptr::null_mut(),
19237 tile_memory_heap: Bool32::default(),
19238 }
19239 }
19240}
19241
19242#[repr(C)]
19244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19245pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
19246 pub s_type: StructureType,
19247 pub next: *mut c_void,
19248 pub queue_submit_boundary: Bool32,
19249 pub tile_buffer_transfers: Bool32,
19250}
19251
19252impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
19253 #[inline]
19254 fn default() -> Self {
19255 Self {
19256 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
19257 next: ptr::null_mut(),
19258 queue_submit_boundary: Bool32::default(),
19259 tile_buffer_transfers: Bool32::default(),
19260 }
19261 }
19262}
19263
19264#[repr(C)]
19266#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19267pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
19268 pub s_type: StructureType,
19269 pub next: *mut c_void,
19270 pub tile_properties: Bool32,
19271}
19272
19273impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
19274 #[inline]
19275 fn default() -> Self {
19276 Self {
19277 s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
19278 next: ptr::null_mut(),
19279 tile_properties: Bool32::default(),
19280 }
19281 }
19282}
19283
19284#[repr(C)]
19286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19287pub struct PhysicalDeviceTileShadingFeaturesQCOM {
19288 pub s_type: StructureType,
19289 pub next: *mut c_void,
19290 pub tile_shading: Bool32,
19291 pub tile_shading_fragment_stage: Bool32,
19292 pub tile_shading_color_attachments: Bool32,
19293 pub tile_shading_depth_attachments: Bool32,
19294 pub tile_shading_stencil_attachments: Bool32,
19295 pub tile_shading_input_attachments: Bool32,
19296 pub tile_shading_sampled_attachments: Bool32,
19297 pub tile_shading_per_tile_draw: Bool32,
19298 pub tile_shading_per_tile_dispatch: Bool32,
19299 pub tile_shading_dispatch_tile: Bool32,
19300 pub tile_shading_apron: Bool32,
19301 pub tile_shading_anisotropic_apron: Bool32,
19302 pub tile_shading_atomic_ops: Bool32,
19303 pub tile_shading_image_processing: Bool32,
19304}
19305
19306impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
19307 #[inline]
19308 fn default() -> Self {
19309 Self {
19310 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
19311 next: ptr::null_mut(),
19312 tile_shading: Bool32::default(),
19313 tile_shading_fragment_stage: Bool32::default(),
19314 tile_shading_color_attachments: Bool32::default(),
19315 tile_shading_depth_attachments: Bool32::default(),
19316 tile_shading_stencil_attachments: Bool32::default(),
19317 tile_shading_input_attachments: Bool32::default(),
19318 tile_shading_sampled_attachments: Bool32::default(),
19319 tile_shading_per_tile_draw: Bool32::default(),
19320 tile_shading_per_tile_dispatch: Bool32::default(),
19321 tile_shading_dispatch_tile: Bool32::default(),
19322 tile_shading_apron: Bool32::default(),
19323 tile_shading_anisotropic_apron: Bool32::default(),
19324 tile_shading_atomic_ops: Bool32::default(),
19325 tile_shading_image_processing: Bool32::default(),
19326 }
19327 }
19328}
19329
19330#[repr(C)]
19332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19333pub struct PhysicalDeviceTileShadingPropertiesQCOM {
19334 pub s_type: StructureType,
19335 pub next: *mut c_void,
19336 pub max_apron_size: u32,
19337 pub prefer_non_coherent: Bool32,
19338 pub tile_granularity: Extent2D,
19339 pub max_tile_shading_rate: Extent2D,
19340}
19341
19342impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
19343 #[inline]
19344 fn default() -> Self {
19345 Self {
19346 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
19347 next: ptr::null_mut(),
19348 max_apron_size: u32::default(),
19349 prefer_non_coherent: Bool32::default(),
19350 tile_granularity: Extent2D::default(),
19351 max_tile_shading_rate: Extent2D::default(),
19352 }
19353 }
19354}
19355
19356#[repr(C)]
19358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19359pub struct PhysicalDeviceTimelineSemaphoreFeatures {
19360 pub s_type: StructureType,
19361 pub next: *mut c_void,
19362 pub timeline_semaphore: Bool32,
19363}
19364
19365impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
19366 #[inline]
19367 fn default() -> Self {
19368 Self {
19369 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
19370 next: ptr::null_mut(),
19371 timeline_semaphore: Bool32::default(),
19372 }
19373 }
19374}
19375
19376#[repr(C)]
19378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19379pub struct PhysicalDeviceTimelineSemaphoreProperties {
19380 pub s_type: StructureType,
19381 pub next: *mut c_void,
19382 pub max_timeline_semaphore_value_difference: u64,
19383}
19384
19385impl Default for PhysicalDeviceTimelineSemaphoreProperties {
19386 #[inline]
19387 fn default() -> Self {
19388 Self {
19389 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
19390 next: ptr::null_mut(),
19391 max_timeline_semaphore_value_difference: u64::default(),
19392 }
19393 }
19394}
19395
19396#[repr(C)]
19398#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19399pub struct PhysicalDeviceToolProperties {
19400 pub s_type: StructureType,
19401 pub next: *mut c_void,
19402 pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
19403 pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
19404 pub purposes: ToolPurposeFlags,
19405 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
19406 pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
19407}
19408
19409impl Default for PhysicalDeviceToolProperties {
19410 #[inline]
19411 fn default() -> Self {
19412 Self {
19413 s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
19414 next: ptr::null_mut(),
19415 name: StringArray::default(),
19416 version: StringArray::default(),
19417 purposes: ToolPurposeFlags::default(),
19418 description: StringArray::default(),
19419 layer: StringArray::default(),
19420 }
19421 }
19422}
19423
19424#[repr(C)]
19426#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19427pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
19428 pub s_type: StructureType,
19429 pub next: *mut c_void,
19430 pub transform_feedback: Bool32,
19431 pub geometry_streams: Bool32,
19432}
19433
19434impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
19435 #[inline]
19436 fn default() -> Self {
19437 Self {
19438 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
19439 next: ptr::null_mut(),
19440 transform_feedback: Bool32::default(),
19441 geometry_streams: Bool32::default(),
19442 }
19443 }
19444}
19445
19446#[repr(C)]
19448#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19449pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
19450 pub s_type: StructureType,
19451 pub next: *mut c_void,
19452 pub max_transform_feedback_streams: u32,
19453 pub max_transform_feedback_buffers: u32,
19454 pub max_transform_feedback_buffer_size: DeviceSize,
19455 pub max_transform_feedback_stream_data_size: u32,
19456 pub max_transform_feedback_buffer_data_size: u32,
19457 pub max_transform_feedback_buffer_data_stride: u32,
19458 pub transform_feedback_queries: Bool32,
19459 pub transform_feedback_streams_lines_triangles: Bool32,
19460 pub transform_feedback_rasterization_stream_select: Bool32,
19461 pub transform_feedback_draw: Bool32,
19462}
19463
19464impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
19465 #[inline]
19466 fn default() -> Self {
19467 Self {
19468 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
19469 next: ptr::null_mut(),
19470 max_transform_feedback_streams: u32::default(),
19471 max_transform_feedback_buffers: u32::default(),
19472 max_transform_feedback_buffer_size: DeviceSize::default(),
19473 max_transform_feedback_stream_data_size: u32::default(),
19474 max_transform_feedback_buffer_data_size: u32::default(),
19475 max_transform_feedback_buffer_data_stride: u32::default(),
19476 transform_feedback_queries: Bool32::default(),
19477 transform_feedback_streams_lines_triangles: Bool32::default(),
19478 transform_feedback_rasterization_stream_select: Bool32::default(),
19479 transform_feedback_draw: Bool32::default(),
19480 }
19481 }
19482}
19483
19484#[repr(C)]
19486#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19487pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
19488 pub s_type: StructureType,
19489 pub next: *mut c_void,
19490 pub unified_image_layouts: Bool32,
19491 pub unified_image_layouts_video: Bool32,
19492}
19493
19494impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
19495 #[inline]
19496 fn default() -> Self {
19497 Self {
19498 s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
19499 next: ptr::null_mut(),
19500 unified_image_layouts: Bool32::default(),
19501 unified_image_layouts_video: Bool32::default(),
19502 }
19503 }
19504}
19505
19506#[repr(C)]
19508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19509pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
19510 pub s_type: StructureType,
19511 pub next: *mut c_void,
19512 pub uniform_buffer_standard_layout: Bool32,
19513}
19514
19515impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
19516 #[inline]
19517 fn default() -> Self {
19518 Self {
19519 s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
19520 next: ptr::null_mut(),
19521 uniform_buffer_standard_layout: Bool32::default(),
19522 }
19523 }
19524}
19525
19526#[repr(C)]
19528#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19529pub struct PhysicalDeviceVariablePointersFeatures {
19530 pub s_type: StructureType,
19531 pub next: *mut c_void,
19532 pub variable_pointers_storage_buffer: Bool32,
19533 pub variable_pointers: Bool32,
19534}
19535
19536impl Default for PhysicalDeviceVariablePointersFeatures {
19537 #[inline]
19538 fn default() -> Self {
19539 Self {
19540 s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
19541 next: ptr::null_mut(),
19542 variable_pointers_storage_buffer: Bool32::default(),
19543 variable_pointers: Bool32::default(),
19544 }
19545 }
19546}
19547
19548#[repr(C)]
19550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19551pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
19552 pub s_type: StructureType,
19553 pub next: *mut c_void,
19554 pub vertex_attribute_instance_rate_divisor: Bool32,
19555 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
19556}
19557
19558impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
19559 #[inline]
19560 fn default() -> Self {
19561 Self {
19562 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
19563 next: ptr::null_mut(),
19564 vertex_attribute_instance_rate_divisor: Bool32::default(),
19565 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
19566 }
19567 }
19568}
19569
19570#[repr(C)]
19572#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19573pub struct PhysicalDeviceVertexAttributeDivisorProperties {
19574 pub s_type: StructureType,
19575 pub next: *mut c_void,
19576 pub max_vertex_attrib_divisor: u32,
19577 pub supports_non_zero_first_instance: Bool32,
19578}
19579
19580impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
19581 #[inline]
19582 fn default() -> Self {
19583 Self {
19584 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
19585 next: ptr::null_mut(),
19586 max_vertex_attrib_divisor: u32::default(),
19587 supports_non_zero_first_instance: Bool32::default(),
19588 }
19589 }
19590}
19591
19592#[repr(C)]
19594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19595pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
19596 pub s_type: StructureType,
19597 pub next: *mut c_void,
19598 pub max_vertex_attrib_divisor: u32,
19599}
19600
19601impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
19602 #[inline]
19603 fn default() -> Self {
19604 Self {
19605 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
19606 next: ptr::null_mut(),
19607 max_vertex_attrib_divisor: u32::default(),
19608 }
19609 }
19610}
19611
19612#[repr(C)]
19614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19615pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
19616 pub s_type: StructureType,
19617 pub next: *mut c_void,
19618 pub vertex_attribute_robustness: Bool32,
19619}
19620
19621impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
19622 #[inline]
19623 fn default() -> Self {
19624 Self {
19625 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
19626 next: ptr::null_mut(),
19627 vertex_attribute_robustness: Bool32::default(),
19628 }
19629 }
19630}
19631
19632#[repr(C)]
19634#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19635pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
19636 pub s_type: StructureType,
19637 pub next: *mut c_void,
19638 pub vertex_input_dynamic_state: Bool32,
19639}
19640
19641impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
19642 #[inline]
19643 fn default() -> Self {
19644 Self {
19645 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
19646 next: ptr::null_mut(),
19647 vertex_input_dynamic_state: Bool32::default(),
19648 }
19649 }
19650}
19651
19652#[repr(C)]
19654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19655pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
19656 pub s_type: StructureType,
19657 pub next: *mut c_void,
19658 pub video_decode_vp9: Bool32,
19659}
19660
19661impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
19662 #[inline]
19663 fn default() -> Self {
19664 Self {
19665 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
19666 next: ptr::null_mut(),
19667 video_decode_vp9: Bool32::default(),
19668 }
19669 }
19670}
19671
19672#[repr(C)]
19674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19675pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
19676 pub s_type: StructureType,
19677 pub next: *mut c_void,
19678 pub video_encode_av1: Bool32,
19679}
19680
19681impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
19682 #[inline]
19683 fn default() -> Self {
19684 Self {
19685 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
19686 next: ptr::null_mut(),
19687 video_encode_av1: Bool32::default(),
19688 }
19689 }
19690}
19691
19692#[repr(C)]
19694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19695pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
19696 pub s_type: StructureType,
19697 pub next: *mut c_void,
19698 pub video_encode_intra_refresh: Bool32,
19699}
19700
19701impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
19702 #[inline]
19703 fn default() -> Self {
19704 Self {
19705 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
19706 next: ptr::null_mut(),
19707 video_encode_intra_refresh: Bool32::default(),
19708 }
19709 }
19710}
19711
19712#[repr(C)]
19714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19715pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
19716 pub s_type: StructureType,
19717 pub next: *const c_void,
19718 pub video_profile: *const VideoProfileInfoKHR,
19719 pub quality_level: u32,
19720}
19721
19722impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
19723 #[inline]
19724 fn default() -> Self {
19725 Self {
19726 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
19727 next: ptr::null(),
19728 video_profile: ptr::null(),
19729 quality_level: u32::default(),
19730 }
19731 }
19732}
19733
19734#[repr(C)]
19736#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19737pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
19738 pub s_type: StructureType,
19739 pub next: *mut c_void,
19740 pub video_encode_quantization_map: Bool32,
19741}
19742
19743impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
19744 #[inline]
19745 fn default() -> Self {
19746 Self {
19747 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
19748 next: ptr::null_mut(),
19749 video_encode_quantization_map: Bool32::default(),
19750 }
19751 }
19752}
19753
19754#[repr(C)]
19756#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19757pub struct PhysicalDeviceVideoFormatInfoKHR {
19758 pub s_type: StructureType,
19759 pub next: *const c_void,
19760 pub image_usage: ImageUsageFlags,
19761}
19762
19763impl Default for PhysicalDeviceVideoFormatInfoKHR {
19764 #[inline]
19765 fn default() -> Self {
19766 Self {
19767 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
19768 next: ptr::null(),
19769 image_usage: ImageUsageFlags::default(),
19770 }
19771 }
19772}
19773
19774#[repr(C)]
19776#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19777pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
19778 pub s_type: StructureType,
19779 pub next: *mut c_void,
19780 pub video_maintenance1: Bool32,
19781}
19782
19783impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
19784 #[inline]
19785 fn default() -> Self {
19786 Self {
19787 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
19788 next: ptr::null_mut(),
19789 video_maintenance1: Bool32::default(),
19790 }
19791 }
19792}
19793
19794#[repr(C)]
19796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19797pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
19798 pub s_type: StructureType,
19799 pub next: *mut c_void,
19800 pub video_maintenance2: Bool32,
19801}
19802
19803impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
19804 #[inline]
19805 fn default() -> Self {
19806 Self {
19807 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
19808 next: ptr::null_mut(),
19809 video_maintenance2: Bool32::default(),
19810 }
19811 }
19812}
19813
19814#[repr(C)]
19816#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19817pub struct PhysicalDeviceVulkan11Features {
19818 pub s_type: StructureType,
19819 pub next: *mut c_void,
19820 pub storage_buffer_16bit_access: Bool32,
19821 pub uniform_and_storage_buffer_16bit_access: Bool32,
19822 pub storage_push_constant16: Bool32,
19823 pub storage_input_output16: Bool32,
19824 pub multiview: Bool32,
19825 pub multiview_geometry_shader: Bool32,
19826 pub multiview_tessellation_shader: Bool32,
19827 pub variable_pointers_storage_buffer: Bool32,
19828 pub variable_pointers: Bool32,
19829 pub protected_memory: Bool32,
19830 pub sampler_ycbcr_conversion: Bool32,
19831 pub shader_draw_parameters: Bool32,
19832}
19833
19834impl Default for PhysicalDeviceVulkan11Features {
19835 #[inline]
19836 fn default() -> Self {
19837 Self {
19838 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
19839 next: ptr::null_mut(),
19840 storage_buffer_16bit_access: Bool32::default(),
19841 uniform_and_storage_buffer_16bit_access: Bool32::default(),
19842 storage_push_constant16: Bool32::default(),
19843 storage_input_output16: Bool32::default(),
19844 multiview: Bool32::default(),
19845 multiview_geometry_shader: Bool32::default(),
19846 multiview_tessellation_shader: Bool32::default(),
19847 variable_pointers_storage_buffer: Bool32::default(),
19848 variable_pointers: Bool32::default(),
19849 protected_memory: Bool32::default(),
19850 sampler_ycbcr_conversion: Bool32::default(),
19851 shader_draw_parameters: Bool32::default(),
19852 }
19853 }
19854}
19855
19856#[repr(C)]
19858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19859pub struct PhysicalDeviceVulkan11Properties {
19860 pub s_type: StructureType,
19861 pub next: *mut c_void,
19862 pub device_uuid: ByteArray<UUID_SIZE>,
19863 pub driver_uuid: ByteArray<UUID_SIZE>,
19864 pub device_luid: ByteArray<LUID_SIZE>,
19865 pub device_node_mask: u32,
19866 pub device_luid_valid: Bool32,
19867 pub subgroup_size: u32,
19868 pub subgroup_supported_stages: ShaderStageFlags,
19869 pub subgroup_supported_operations: SubgroupFeatureFlags,
19870 pub subgroup_quad_operations_in_all_stages: Bool32,
19871 pub point_clipping_behavior: PointClippingBehavior,
19872 pub max_multiview_view_count: u32,
19873 pub max_multiview_instance_index: u32,
19874 pub protected_no_fault: Bool32,
19875 pub max_per_set_descriptors: u32,
19876 pub max_memory_allocation_size: DeviceSize,
19877}
19878
19879impl Default for PhysicalDeviceVulkan11Properties {
19880 #[inline]
19881 fn default() -> Self {
19882 Self {
19883 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
19884 next: ptr::null_mut(),
19885 device_uuid: ByteArray::default(),
19886 driver_uuid: ByteArray::default(),
19887 device_luid: ByteArray::default(),
19888 device_node_mask: u32::default(),
19889 device_luid_valid: Bool32::default(),
19890 subgroup_size: u32::default(),
19891 subgroup_supported_stages: ShaderStageFlags::default(),
19892 subgroup_supported_operations: SubgroupFeatureFlags::default(),
19893 subgroup_quad_operations_in_all_stages: Bool32::default(),
19894 point_clipping_behavior: PointClippingBehavior::default(),
19895 max_multiview_view_count: u32::default(),
19896 max_multiview_instance_index: u32::default(),
19897 protected_no_fault: Bool32::default(),
19898 max_per_set_descriptors: u32::default(),
19899 max_memory_allocation_size: DeviceSize::default(),
19900 }
19901 }
19902}
19903
19904#[repr(C)]
19906#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19907pub struct PhysicalDeviceVulkan12Features {
19908 pub s_type: StructureType,
19909 pub next: *mut c_void,
19910 pub sampler_mirror_clamp_to_edge: Bool32,
19911 pub draw_indirect_count: Bool32,
19912 pub storage_buffer_8bit_access: Bool32,
19913 pub uniform_and_storage_buffer_8bit_access: Bool32,
19914 pub storage_push_constant8: Bool32,
19915 pub shader_buffer_int64_atomics: Bool32,
19916 pub shader_shared_int64_atomics: Bool32,
19917 pub shader_float16: Bool32,
19918 pub shader_int8: Bool32,
19919 pub descriptor_indexing: Bool32,
19920 pub shader_input_attachment_array_dynamic_indexing: Bool32,
19921 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
19922 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
19923 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
19924 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
19925 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
19926 pub shader_storage_image_array_non_uniform_indexing: Bool32,
19927 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
19928 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
19929 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
19930 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
19931 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
19932 pub descriptor_binding_storage_image_update_after_bind: Bool32,
19933 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
19934 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
19935 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
19936 pub descriptor_binding_update_unused_while_pending: Bool32,
19937 pub descriptor_binding_partially_bound: Bool32,
19938 pub descriptor_binding_variable_descriptor_count: Bool32,
19939 pub runtime_descriptor_array: Bool32,
19940 pub sampler_filter_minmax: Bool32,
19941 pub scalar_block_layout: Bool32,
19942 pub imageless_framebuffer: Bool32,
19943 pub uniform_buffer_standard_layout: Bool32,
19944 pub shader_subgroup_extended_types: Bool32,
19945 pub separate_depth_stencil_layouts: Bool32,
19946 pub host_query_reset: Bool32,
19947 pub timeline_semaphore: Bool32,
19948 pub buffer_device_address: Bool32,
19949 pub buffer_device_address_capture_replay: Bool32,
19950 pub buffer_device_address_multi_device: Bool32,
19951 pub vulkan_memory_model: Bool32,
19952 pub vulkan_memory_model_device_scope: Bool32,
19953 pub vulkan_memory_model_availability_visibility_chains: Bool32,
19954 pub shader_output_viewport_index: Bool32,
19955 pub shader_output_layer: Bool32,
19956 pub subgroup_broadcast_dynamic_id: Bool32,
19957}
19958
19959impl Default for PhysicalDeviceVulkan12Features {
19960 #[inline]
19961 fn default() -> Self {
19962 Self {
19963 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
19964 next: ptr::null_mut(),
19965 sampler_mirror_clamp_to_edge: Bool32::default(),
19966 draw_indirect_count: Bool32::default(),
19967 storage_buffer_8bit_access: Bool32::default(),
19968 uniform_and_storage_buffer_8bit_access: Bool32::default(),
19969 storage_push_constant8: Bool32::default(),
19970 shader_buffer_int64_atomics: Bool32::default(),
19971 shader_shared_int64_atomics: Bool32::default(),
19972 shader_float16: Bool32::default(),
19973 shader_int8: Bool32::default(),
19974 descriptor_indexing: Bool32::default(),
19975 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
19976 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
19977 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
19978 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
19979 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
19980 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
19981 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
19982 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
19983 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
19984 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
19985 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
19986 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
19987 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
19988 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
19989 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
19990 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
19991 descriptor_binding_update_unused_while_pending: Bool32::default(),
19992 descriptor_binding_partially_bound: Bool32::default(),
19993 descriptor_binding_variable_descriptor_count: Bool32::default(),
19994 runtime_descriptor_array: Bool32::default(),
19995 sampler_filter_minmax: Bool32::default(),
19996 scalar_block_layout: Bool32::default(),
19997 imageless_framebuffer: Bool32::default(),
19998 uniform_buffer_standard_layout: Bool32::default(),
19999 shader_subgroup_extended_types: Bool32::default(),
20000 separate_depth_stencil_layouts: Bool32::default(),
20001 host_query_reset: Bool32::default(),
20002 timeline_semaphore: Bool32::default(),
20003 buffer_device_address: Bool32::default(),
20004 buffer_device_address_capture_replay: Bool32::default(),
20005 buffer_device_address_multi_device: Bool32::default(),
20006 vulkan_memory_model: Bool32::default(),
20007 vulkan_memory_model_device_scope: Bool32::default(),
20008 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
20009 shader_output_viewport_index: Bool32::default(),
20010 shader_output_layer: Bool32::default(),
20011 subgroup_broadcast_dynamic_id: Bool32::default(),
20012 }
20013 }
20014}
20015
20016#[repr(C)]
20018#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20019pub struct PhysicalDeviceVulkan12Properties {
20020 pub s_type: StructureType,
20021 pub next: *mut c_void,
20022 pub driver_id: DriverId,
20023 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
20024 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
20025 pub conformance_version: ConformanceVersion,
20026 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
20027 pub rounding_mode_independence: ShaderFloatControlsIndependence,
20028 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
20029 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
20030 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
20031 pub shader_denorm_preserve_float16: Bool32,
20032 pub shader_denorm_preserve_float32: Bool32,
20033 pub shader_denorm_preserve_float64: Bool32,
20034 pub shader_denorm_flush_to_zero_float16: Bool32,
20035 pub shader_denorm_flush_to_zero_float32: Bool32,
20036 pub shader_denorm_flush_to_zero_float64: Bool32,
20037 pub shader_rounding_mode_rte_float16: Bool32,
20038 pub shader_rounding_mode_rte_float32: Bool32,
20039 pub shader_rounding_mode_rte_float64: Bool32,
20040 pub shader_rounding_mode_rtz_float16: Bool32,
20041 pub shader_rounding_mode_rtz_float32: Bool32,
20042 pub shader_rounding_mode_rtz_float64: Bool32,
20043 pub max_update_after_bind_descriptors_in_all_pools: u32,
20044 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
20045 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
20046 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
20047 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
20048 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
20049 pub robust_buffer_access_update_after_bind: Bool32,
20050 pub quad_divergent_implicit_lod: Bool32,
20051 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
20052 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
20053 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
20054 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
20055 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
20056 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
20057 pub max_per_stage_update_after_bind_resources: u32,
20058 pub max_descriptor_set_update_after_bind_samplers: u32,
20059 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
20060 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
20061 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
20062 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
20063 pub max_descriptor_set_update_after_bind_sampled_images: u32,
20064 pub max_descriptor_set_update_after_bind_storage_images: u32,
20065 pub max_descriptor_set_update_after_bind_input_attachments: u32,
20066 pub supported_depth_resolve_modes: ResolveModeFlags,
20067 pub supported_stencil_resolve_modes: ResolveModeFlags,
20068 pub independent_resolve_none: Bool32,
20069 pub independent_resolve: Bool32,
20070 pub filter_minmax_single_component_formats: Bool32,
20071 pub filter_minmax_image_component_mapping: Bool32,
20072 pub max_timeline_semaphore_value_difference: u64,
20073 pub framebuffer_integer_color_sample_counts: SampleCountFlags,
20074}
20075
20076impl Default for PhysicalDeviceVulkan12Properties {
20077 #[inline]
20078 fn default() -> Self {
20079 Self {
20080 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
20081 next: ptr::null_mut(),
20082 driver_id: DriverId::default(),
20083 driver_name: StringArray::default(),
20084 driver_info: StringArray::default(),
20085 conformance_version: ConformanceVersion::default(),
20086 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
20087 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
20088 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
20089 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
20090 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
20091 shader_denorm_preserve_float16: Bool32::default(),
20092 shader_denorm_preserve_float32: Bool32::default(),
20093 shader_denorm_preserve_float64: Bool32::default(),
20094 shader_denorm_flush_to_zero_float16: Bool32::default(),
20095 shader_denorm_flush_to_zero_float32: Bool32::default(),
20096 shader_denorm_flush_to_zero_float64: Bool32::default(),
20097 shader_rounding_mode_rte_float16: Bool32::default(),
20098 shader_rounding_mode_rte_float32: Bool32::default(),
20099 shader_rounding_mode_rte_float64: Bool32::default(),
20100 shader_rounding_mode_rtz_float16: Bool32::default(),
20101 shader_rounding_mode_rtz_float32: Bool32::default(),
20102 shader_rounding_mode_rtz_float64: Bool32::default(),
20103 max_update_after_bind_descriptors_in_all_pools: u32::default(),
20104 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
20105 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
20106 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
20107 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
20108 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
20109 robust_buffer_access_update_after_bind: Bool32::default(),
20110 quad_divergent_implicit_lod: Bool32::default(),
20111 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
20112 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
20113 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
20114 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
20115 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
20116 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
20117 max_per_stage_update_after_bind_resources: u32::default(),
20118 max_descriptor_set_update_after_bind_samplers: u32::default(),
20119 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
20120 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
20121 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
20122 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
20123 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
20124 max_descriptor_set_update_after_bind_storage_images: u32::default(),
20125 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
20126 supported_depth_resolve_modes: ResolveModeFlags::default(),
20127 supported_stencil_resolve_modes: ResolveModeFlags::default(),
20128 independent_resolve_none: Bool32::default(),
20129 independent_resolve: Bool32::default(),
20130 filter_minmax_single_component_formats: Bool32::default(),
20131 filter_minmax_image_component_mapping: Bool32::default(),
20132 max_timeline_semaphore_value_difference: u64::default(),
20133 framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
20134 }
20135 }
20136}
20137
20138#[repr(C)]
20140#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20141pub struct PhysicalDeviceVulkan13Features {
20142 pub s_type: StructureType,
20143 pub next: *mut c_void,
20144 pub robust_image_access: Bool32,
20145 pub inline_uniform_block: Bool32,
20146 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
20147 pub pipeline_creation_cache_control: Bool32,
20148 pub private_data: Bool32,
20149 pub shader_demote_to_helper_invocation: Bool32,
20150 pub shader_terminate_invocation: Bool32,
20151 pub subgroup_size_control: Bool32,
20152 pub compute_full_subgroups: Bool32,
20153 pub synchronization2: Bool32,
20154 pub texture_compression_astc_hdr: Bool32,
20155 pub shader_zero_initialize_workgroup_memory: Bool32,
20156 pub dynamic_rendering: Bool32,
20157 pub shader_integer_dot_product: Bool32,
20158 pub maintenance4: Bool32,
20159}
20160
20161impl Default for PhysicalDeviceVulkan13Features {
20162 #[inline]
20163 fn default() -> Self {
20164 Self {
20165 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
20166 next: ptr::null_mut(),
20167 robust_image_access: Bool32::default(),
20168 inline_uniform_block: Bool32::default(),
20169 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
20170 pipeline_creation_cache_control: Bool32::default(),
20171 private_data: Bool32::default(),
20172 shader_demote_to_helper_invocation: Bool32::default(),
20173 shader_terminate_invocation: Bool32::default(),
20174 subgroup_size_control: Bool32::default(),
20175 compute_full_subgroups: Bool32::default(),
20176 synchronization2: Bool32::default(),
20177 texture_compression_astc_hdr: Bool32::default(),
20178 shader_zero_initialize_workgroup_memory: Bool32::default(),
20179 dynamic_rendering: Bool32::default(),
20180 shader_integer_dot_product: Bool32::default(),
20181 maintenance4: Bool32::default(),
20182 }
20183 }
20184}
20185
20186#[repr(C)]
20188#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20189pub struct PhysicalDeviceVulkan13Properties {
20190 pub s_type: StructureType,
20191 pub next: *mut c_void,
20192 pub min_subgroup_size: u32,
20193 pub max_subgroup_size: u32,
20194 pub max_compute_workgroup_subgroups: u32,
20195 pub required_subgroup_size_stages: ShaderStageFlags,
20196 pub max_inline_uniform_block_size: u32,
20197 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
20198 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
20199 pub max_descriptor_set_inline_uniform_blocks: u32,
20200 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
20201 pub max_inline_uniform_total_size: u32,
20202 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
20203 pub integer_dot_product_8bit_signed_accelerated: Bool32,
20204 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
20205 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
20206 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
20207 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
20208 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
20209 pub integer_dot_product_16bit_signed_accelerated: Bool32,
20210 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
20211 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
20212 pub integer_dot_product_32bit_signed_accelerated: Bool32,
20213 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
20214 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
20215 pub integer_dot_product_64bit_signed_accelerated: Bool32,
20216 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
20217 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
20218 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
20219 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
20220 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
20221 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
20222 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
20223 Bool32,
20224 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
20225 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
20226 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
20227 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
20228 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
20229 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
20230 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
20231 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
20232 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
20233 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
20234 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
20235 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
20236 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
20237 pub max_buffer_size: DeviceSize,
20238}
20239
20240impl Default for PhysicalDeviceVulkan13Properties {
20241 #[inline]
20242 fn default() -> Self {
20243 Self { s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES, next: ptr::null_mut(), min_subgroup_size: u32::default(), max_subgroup_size: u32::default(), max_compute_workgroup_subgroups: u32::default(), required_subgroup_size_stages: ShaderStageFlags::default(), max_inline_uniform_block_size: u32::default(), max_per_stage_descriptor_inline_uniform_blocks: u32::default(), max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(), max_descriptor_set_inline_uniform_blocks: u32::default(), max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(), max_inline_uniform_total_size: u32::default(), integer_dot_product_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_8bit_signed_accelerated: Bool32::default(), integer_dot_product_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_16bit_signed_accelerated: Bool32::default(), integer_dot_product_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_32bit_signed_accelerated: Bool32::default(), integer_dot_product_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_64bit_signed_accelerated: Bool32::default(), integer_dot_product_64bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32::default(), storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(), storage_texel_buffer_offset_single_texel_alignment: Bool32::default(), uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(), uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(), max_buffer_size: DeviceSize::default() }
20244 }
20245}
20246
20247#[repr(C)]
20249#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20250pub struct PhysicalDeviceVulkan14Features {
20251 pub s_type: StructureType,
20252 pub next: *mut c_void,
20253 pub global_priority_query: Bool32,
20254 pub shader_subgroup_rotate: Bool32,
20255 pub shader_subgroup_rotate_clustered: Bool32,
20256 pub shader_float_controls2: Bool32,
20257 pub shader_expect_assume: Bool32,
20258 pub rectangular_lines: Bool32,
20259 pub bresenham_lines: Bool32,
20260 pub smooth_lines: Bool32,
20261 pub stippled_rectangular_lines: Bool32,
20262 pub stippled_bresenham_lines: Bool32,
20263 pub stippled_smooth_lines: Bool32,
20264 pub vertex_attribute_instance_rate_divisor: Bool32,
20265 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
20266 pub index_type_uint8: Bool32,
20267 pub dynamic_rendering_local_read: Bool32,
20268 pub maintenance5: Bool32,
20269 pub maintenance6: Bool32,
20270 pub pipeline_protected_access: Bool32,
20271 pub pipeline_robustness: Bool32,
20272 pub host_image_copy: Bool32,
20273 pub push_descriptor: Bool32,
20274}
20275
20276impl Default for PhysicalDeviceVulkan14Features {
20277 #[inline]
20278 fn default() -> Self {
20279 Self {
20280 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
20281 next: ptr::null_mut(),
20282 global_priority_query: Bool32::default(),
20283 shader_subgroup_rotate: Bool32::default(),
20284 shader_subgroup_rotate_clustered: Bool32::default(),
20285 shader_float_controls2: Bool32::default(),
20286 shader_expect_assume: Bool32::default(),
20287 rectangular_lines: Bool32::default(),
20288 bresenham_lines: Bool32::default(),
20289 smooth_lines: Bool32::default(),
20290 stippled_rectangular_lines: Bool32::default(),
20291 stippled_bresenham_lines: Bool32::default(),
20292 stippled_smooth_lines: Bool32::default(),
20293 vertex_attribute_instance_rate_divisor: Bool32::default(),
20294 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
20295 index_type_uint8: Bool32::default(),
20296 dynamic_rendering_local_read: Bool32::default(),
20297 maintenance5: Bool32::default(),
20298 maintenance6: Bool32::default(),
20299 pipeline_protected_access: Bool32::default(),
20300 pipeline_robustness: Bool32::default(),
20301 host_image_copy: Bool32::default(),
20302 push_descriptor: Bool32::default(),
20303 }
20304 }
20305}
20306
20307#[repr(C)]
20309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20310pub struct PhysicalDeviceVulkan14Properties {
20311 pub s_type: StructureType,
20312 pub next: *mut c_void,
20313 pub line_sub_pixel_precision_bits: u32,
20314 pub max_vertex_attrib_divisor: u32,
20315 pub supports_non_zero_first_instance: Bool32,
20316 pub max_push_descriptors: u32,
20317 pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
20318 pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
20319 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
20320 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
20321 pub depth_stencil_swizzle_one_support: Bool32,
20322 pub polygon_mode_point_size: Bool32,
20323 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
20324 pub non_strict_wide_lines_use_parallelogram: Bool32,
20325 pub block_texel_view_compatible_multiple_layers: Bool32,
20326 pub max_combined_image_sampler_descriptor_count: u32,
20327 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
20328 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
20329 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
20330 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
20331 pub default_robustness_images: PipelineRobustnessImageBehavior,
20332 pub copy_src_layout_count: u32,
20333 pub copy_src_layouts: *mut ImageLayout,
20334 pub copy_dst_layout_count: u32,
20335 pub copy_dst_layouts: *mut ImageLayout,
20336 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
20337 pub identical_memory_type_requirements: Bool32,
20338}
20339
20340impl Default for PhysicalDeviceVulkan14Properties {
20341 #[inline]
20342 fn default() -> Self {
20343 Self {
20344 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
20345 next: ptr::null_mut(),
20346 line_sub_pixel_precision_bits: u32::default(),
20347 max_vertex_attrib_divisor: u32::default(),
20348 supports_non_zero_first_instance: Bool32::default(),
20349 max_push_descriptors: u32::default(),
20350 dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
20351 dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
20352 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
20353 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
20354 depth_stencil_swizzle_one_support: Bool32::default(),
20355 polygon_mode_point_size: Bool32::default(),
20356 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
20357 non_strict_wide_lines_use_parallelogram: Bool32::default(),
20358 block_texel_view_compatible_multiple_layers: Bool32::default(),
20359 max_combined_image_sampler_descriptor_count: u32::default(),
20360 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
20361 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
20362 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
20363 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
20364 default_robustness_images: PipelineRobustnessImageBehavior::default(),
20365 copy_src_layout_count: u32::default(),
20366 copy_src_layouts: ptr::null_mut(),
20367 copy_dst_layout_count: u32::default(),
20368 copy_dst_layouts: ptr::null_mut(),
20369 optimal_tiling_layout_uuid: ByteArray::default(),
20370 identical_memory_type_requirements: Bool32::default(),
20371 }
20372 }
20373}
20374
20375#[repr(C)]
20377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20378pub struct PhysicalDeviceVulkanMemoryModelFeatures {
20379 pub s_type: StructureType,
20380 pub next: *mut c_void,
20381 pub vulkan_memory_model: Bool32,
20382 pub vulkan_memory_model_device_scope: Bool32,
20383 pub vulkan_memory_model_availability_visibility_chains: Bool32,
20384}
20385
20386impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
20387 #[inline]
20388 fn default() -> Self {
20389 Self {
20390 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
20391 next: ptr::null_mut(),
20392 vulkan_memory_model: Bool32::default(),
20393 vulkan_memory_model_device_scope: Bool32::default(),
20394 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
20395 }
20396 }
20397}
20398
20399#[repr(C)]
20401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20402pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
20403 pub s_type: StructureType,
20404 pub next: *mut c_void,
20405 pub workgroup_memory_explicit_layout: Bool32,
20406 pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
20407 pub workgroup_memory_explicit_layout_8bit_access: Bool32,
20408 pub workgroup_memory_explicit_layout_16bit_access: Bool32,
20409}
20410
20411impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
20412 #[inline]
20413 fn default() -> Self {
20414 Self {
20415 s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
20416 next: ptr::null_mut(),
20417 workgroup_memory_explicit_layout: Bool32::default(),
20418 workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
20419 workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
20420 workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
20421 }
20422 }
20423}
20424
20425#[repr(C)]
20427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20428pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
20429 pub s_type: StructureType,
20430 pub next: *mut c_void,
20431 pub ycbcr2plane444_formats: Bool32,
20432}
20433
20434impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
20435 #[inline]
20436 fn default() -> Self {
20437 Self {
20438 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
20439 next: ptr::null_mut(),
20440 ycbcr2plane444_formats: Bool32::default(),
20441 }
20442 }
20443}
20444
20445#[repr(C)]
20447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20448pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
20449 pub s_type: StructureType,
20450 pub next: *mut c_void,
20451 pub ycbcr_degamma: Bool32,
20452}
20453
20454impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
20455 #[inline]
20456 fn default() -> Self {
20457 Self {
20458 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
20459 next: ptr::null_mut(),
20460 ycbcr_degamma: Bool32::default(),
20461 }
20462 }
20463}
20464
20465#[repr(C)]
20467#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20468pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
20469 pub s_type: StructureType,
20470 pub next: *mut c_void,
20471 pub ycbcr_image_arrays: Bool32,
20472}
20473
20474impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
20475 #[inline]
20476 fn default() -> Self {
20477 Self {
20478 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
20479 next: ptr::null_mut(),
20480 ycbcr_image_arrays: Bool32::default(),
20481 }
20482 }
20483}
20484
20485#[repr(C)]
20487#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20488pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
20489 pub s_type: StructureType,
20490 pub next: *mut c_void,
20491 pub zero_initialize_device_memory: Bool32,
20492}
20493
20494impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
20495 #[inline]
20496 fn default() -> Self {
20497 Self {
20498 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
20499 next: ptr::null_mut(),
20500 zero_initialize_device_memory: Bool32::default(),
20501 }
20502 }
20503}
20504
20505#[repr(C)]
20507#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20508pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
20509 pub s_type: StructureType,
20510 pub next: *mut c_void,
20511 pub shader_zero_initialize_workgroup_memory: Bool32,
20512}
20513
20514impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
20515 #[inline]
20516 fn default() -> Self {
20517 Self {
20518 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
20519 next: ptr::null_mut(),
20520 shader_zero_initialize_workgroup_memory: Bool32::default(),
20521 }
20522 }
20523}
20524
20525#[repr(C)]
20527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20528pub struct PipelineBinaryCreateInfoKHR {
20529 pub s_type: StructureType,
20530 pub next: *const c_void,
20531 pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
20532 pub pipeline: Pipeline,
20533 pub pipeline_create_info: *const PipelineCreateInfoKHR,
20534}
20535
20536impl Default for PipelineBinaryCreateInfoKHR {
20537 #[inline]
20538 fn default() -> Self {
20539 Self {
20540 s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
20541 next: ptr::null(),
20542 keys_and_data_info: ptr::null(),
20543 pipeline: Pipeline::default(),
20544 pipeline_create_info: ptr::null(),
20545 }
20546 }
20547}
20548
20549#[repr(C)]
20551#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20552pub struct PipelineBinaryDataInfoKHR {
20553 pub s_type: StructureType,
20554 pub next: *mut c_void,
20555 pub pipeline_binary: PipelineBinaryKHR,
20556}
20557
20558impl Default for PipelineBinaryDataInfoKHR {
20559 #[inline]
20560 fn default() -> Self {
20561 Self {
20562 s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
20563 next: ptr::null_mut(),
20564 pipeline_binary: PipelineBinaryKHR::default(),
20565 }
20566 }
20567}
20568
20569#[repr(C)]
20571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20572pub struct PipelineBinaryDataKHR {
20573 pub data_size: usize,
20574 pub data: *mut c_void,
20575}
20576
20577impl Default for PipelineBinaryDataKHR {
20578 #[inline]
20579 fn default() -> Self {
20580 Self {
20581 data_size: usize::default(),
20582 data: ptr::null_mut(),
20583 }
20584 }
20585}
20586
20587#[repr(C)]
20589#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20590pub struct PipelineBinaryHandlesInfoKHR {
20591 pub s_type: StructureType,
20592 pub next: *const c_void,
20593 pub pipeline_binary_count: u32,
20594 pub pipeline_binaries: *mut PipelineBinaryKHR,
20595}
20596
20597impl Default for PipelineBinaryHandlesInfoKHR {
20598 #[inline]
20599 fn default() -> Self {
20600 Self {
20601 s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
20602 next: ptr::null(),
20603 pipeline_binary_count: u32::default(),
20604 pipeline_binaries: ptr::null_mut(),
20605 }
20606 }
20607}
20608
20609#[repr(C)]
20611#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20612pub struct PipelineBinaryInfoKHR {
20613 pub s_type: StructureType,
20614 pub next: *const c_void,
20615 pub binary_count: u32,
20616 pub pipeline_binaries: *const PipelineBinaryKHR,
20617}
20618
20619impl Default for PipelineBinaryInfoKHR {
20620 #[inline]
20621 fn default() -> Self {
20622 Self {
20623 s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
20624 next: ptr::null(),
20625 binary_count: u32::default(),
20626 pipeline_binaries: ptr::null(),
20627 }
20628 }
20629}
20630
20631#[repr(C)]
20633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20634pub struct PipelineBinaryKeyKHR {
20635 pub s_type: StructureType,
20636 pub next: *mut c_void,
20637 pub key_size: u32,
20638 pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
20639}
20640
20641impl Default for PipelineBinaryKeyKHR {
20642 #[inline]
20643 fn default() -> Self {
20644 Self {
20645 s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
20646 next: ptr::null_mut(),
20647 key_size: u32::default(),
20648 key: ByteArray::default(),
20649 }
20650 }
20651}
20652
20653#[repr(C)]
20655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20656pub struct PipelineBinaryKeysAndDataKHR {
20657 pub binary_count: u32,
20658 pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
20659 pub pipeline_binary_data: *const PipelineBinaryDataKHR,
20660}
20661
20662impl Default for PipelineBinaryKeysAndDataKHR {
20663 #[inline]
20664 fn default() -> Self {
20665 Self {
20666 binary_count: u32::default(),
20667 pipeline_binary_keys: ptr::null(),
20668 pipeline_binary_data: ptr::null(),
20669 }
20670 }
20671}
20672
20673#[repr(C)]
20675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20676pub struct PipelineCacheCreateInfo {
20677 pub s_type: StructureType,
20678 pub next: *const c_void,
20679 pub flags: PipelineCacheCreateFlags,
20680 pub initial_data_size: usize,
20681 pub initial_data: *const c_void,
20682}
20683
20684impl Default for PipelineCacheCreateInfo {
20685 #[inline]
20686 fn default() -> Self {
20687 Self {
20688 s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
20689 next: ptr::null(),
20690 flags: PipelineCacheCreateFlags::default(),
20691 initial_data_size: usize::default(),
20692 initial_data: ptr::null(),
20693 }
20694 }
20695}
20696
20697#[repr(C)]
20699#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
20700pub struct PipelineCacheHeaderVersionOne {
20701 pub header_size: u32,
20702 pub header_version: PipelineCacheHeaderVersion,
20703 pub vendor_id: u32,
20704 pub device_id: u32,
20705 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
20706}
20707
20708#[repr(C)]
20710#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20711pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
20712 pub s_type: StructureType,
20713 pub next: *const c_void,
20714 pub src_premultiplied: Bool32,
20715 pub dst_premultiplied: Bool32,
20716 pub blend_overlap: BlendOverlapEXT,
20717}
20718
20719impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
20720 #[inline]
20721 fn default() -> Self {
20722 Self {
20723 s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
20724 next: ptr::null(),
20725 src_premultiplied: Bool32::default(),
20726 dst_premultiplied: Bool32::default(),
20727 blend_overlap: BlendOverlapEXT::default(),
20728 }
20729 }
20730}
20731
20732#[repr(C)]
20734#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
20735pub struct PipelineColorBlendAttachmentState {
20736 pub blend_enable: Bool32,
20737 pub src_color_blend_factor: BlendFactor,
20738 pub dst_color_blend_factor: BlendFactor,
20739 pub color_blend_op: BlendOp,
20740 pub src_alpha_blend_factor: BlendFactor,
20741 pub dst_alpha_blend_factor: BlendFactor,
20742 pub alpha_blend_op: BlendOp,
20743 pub color_write_mask: ColorComponentFlags,
20744}
20745
20746#[repr(C)]
20748#[derive(Copy, Clone, Debug, PartialEq)]
20749pub struct PipelineColorBlendStateCreateInfo {
20750 pub s_type: StructureType,
20751 pub next: *const c_void,
20752 pub flags: PipelineColorBlendStateCreateFlags,
20753 pub logic_op_enable: Bool32,
20754 pub logic_op: LogicOp,
20755 pub attachment_count: u32,
20756 pub attachments: *const PipelineColorBlendAttachmentState,
20757 pub blend_constants: [f32; 4],
20758}
20759
20760impl Default for PipelineColorBlendStateCreateInfo {
20761 #[inline]
20762 fn default() -> Self {
20763 Self {
20764 s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
20765 next: ptr::null(),
20766 flags: PipelineColorBlendStateCreateFlags::default(),
20767 logic_op_enable: Bool32::default(),
20768 logic_op: LogicOp::default(),
20769 attachment_count: u32::default(),
20770 attachments: ptr::null(),
20771 blend_constants: [f32::default(); 4],
20772 }
20773 }
20774}
20775
20776#[repr(C)]
20778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20779pub struct PipelineColorWriteCreateInfoEXT {
20780 pub s_type: StructureType,
20781 pub next: *const c_void,
20782 pub attachment_count: u32,
20783 pub color_write_enables: *const Bool32,
20784}
20785
20786impl Default for PipelineColorWriteCreateInfoEXT {
20787 #[inline]
20788 fn default() -> Self {
20789 Self {
20790 s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
20791 next: ptr::null(),
20792 attachment_count: u32::default(),
20793 color_write_enables: ptr::null(),
20794 }
20795 }
20796}
20797
20798#[repr(C)]
20800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20801pub struct PipelineCompilerControlCreateInfoAMD {
20802 pub s_type: StructureType,
20803 pub next: *const c_void,
20804 pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
20805}
20806
20807impl Default for PipelineCompilerControlCreateInfoAMD {
20808 #[inline]
20809 fn default() -> Self {
20810 Self {
20811 s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
20812 next: ptr::null(),
20813 compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
20814 }
20815 }
20816}
20817
20818#[repr(C)]
20820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20821pub struct PipelineCoverageModulationStateCreateInfoNV {
20822 pub s_type: StructureType,
20823 pub next: *const c_void,
20824 pub flags: PipelineCoverageModulationStateCreateFlagsNV,
20825 pub coverage_modulation_mode: CoverageModulationModeNV,
20826 pub coverage_modulation_table_enable: Bool32,
20827 pub coverage_modulation_table_count: u32,
20828 pub coverage_modulation_table: *const f32,
20829}
20830
20831impl Default for PipelineCoverageModulationStateCreateInfoNV {
20832 #[inline]
20833 fn default() -> Self {
20834 Self {
20835 s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
20836 next: ptr::null(),
20837 flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
20838 coverage_modulation_mode: CoverageModulationModeNV::default(),
20839 coverage_modulation_table_enable: Bool32::default(),
20840 coverage_modulation_table_count: u32::default(),
20841 coverage_modulation_table: ptr::null(),
20842 }
20843 }
20844}
20845
20846#[repr(C)]
20848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20849pub struct PipelineCoverageReductionStateCreateInfoNV {
20850 pub s_type: StructureType,
20851 pub next: *const c_void,
20852 pub flags: PipelineCoverageReductionStateCreateFlagsNV,
20853 pub coverage_reduction_mode: CoverageReductionModeNV,
20854}
20855
20856impl Default for PipelineCoverageReductionStateCreateInfoNV {
20857 #[inline]
20858 fn default() -> Self {
20859 Self {
20860 s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
20861 next: ptr::null(),
20862 flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
20863 coverage_reduction_mode: CoverageReductionModeNV::default(),
20864 }
20865 }
20866}
20867
20868#[repr(C)]
20870#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20871pub struct PipelineCoverageToColorStateCreateInfoNV {
20872 pub s_type: StructureType,
20873 pub next: *const c_void,
20874 pub flags: PipelineCoverageToColorStateCreateFlagsNV,
20875 pub coverage_to_color_enable: Bool32,
20876 pub coverage_to_color_location: u32,
20877}
20878
20879impl Default for PipelineCoverageToColorStateCreateInfoNV {
20880 #[inline]
20881 fn default() -> Self {
20882 Self {
20883 s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
20884 next: ptr::null(),
20885 flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
20886 coverage_to_color_enable: Bool32::default(),
20887 coverage_to_color_location: u32::default(),
20888 }
20889 }
20890}
20891
20892#[repr(C)]
20894#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20895pub struct PipelineCreateFlags2CreateInfo {
20896 pub s_type: StructureType,
20897 pub next: *const c_void,
20898 pub flags: PipelineCreateFlags2,
20899}
20900
20901impl Default for PipelineCreateFlags2CreateInfo {
20902 #[inline]
20903 fn default() -> Self {
20904 Self {
20905 s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
20906 next: ptr::null(),
20907 flags: PipelineCreateFlags2::default(),
20908 }
20909 }
20910}
20911
20912#[repr(C)]
20914#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20915pub struct PipelineCreateInfoKHR {
20916 pub s_type: StructureType,
20917 pub next: *mut c_void,
20918}
20919
20920impl Default for PipelineCreateInfoKHR {
20921 #[inline]
20922 fn default() -> Self {
20923 Self {
20924 s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
20925 next: ptr::null_mut(),
20926 }
20927 }
20928}
20929
20930#[repr(C)]
20932#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
20933pub struct PipelineCreationFeedback {
20934 pub flags: PipelineCreationFeedbackFlags,
20935 pub duration: u64,
20936}
20937
20938#[repr(C)]
20940#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20941pub struct PipelineCreationFeedbackCreateInfo {
20942 pub s_type: StructureType,
20943 pub next: *const c_void,
20944 pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
20945 pub pipeline_stage_creation_feedback_count: u32,
20946 pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
20947}
20948
20949impl Default for PipelineCreationFeedbackCreateInfo {
20950 #[inline]
20951 fn default() -> Self {
20952 Self {
20953 s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
20954 next: ptr::null(),
20955 pipeline_creation_feedback: ptr::null_mut(),
20956 pipeline_stage_creation_feedback_count: u32::default(),
20957 pipeline_stage_creation_feedbacks: ptr::null_mut(),
20958 }
20959 }
20960}
20961
20962#[repr(C)]
20964#[derive(Copy, Clone, Debug, PartialEq)]
20965pub struct PipelineDepthStencilStateCreateInfo {
20966 pub s_type: StructureType,
20967 pub next: *const c_void,
20968 pub flags: PipelineDepthStencilStateCreateFlags,
20969 pub depth_test_enable: Bool32,
20970 pub depth_write_enable: Bool32,
20971 pub depth_compare_op: CompareOp,
20972 pub depth_bounds_test_enable: Bool32,
20973 pub stencil_test_enable: Bool32,
20974 pub front: StencilOpState,
20975 pub back: StencilOpState,
20976 pub min_depth_bounds: f32,
20977 pub max_depth_bounds: f32,
20978}
20979
20980impl Default for PipelineDepthStencilStateCreateInfo {
20981 #[inline]
20982 fn default() -> Self {
20983 Self {
20984 s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
20985 next: ptr::null(),
20986 flags: PipelineDepthStencilStateCreateFlags::default(),
20987 depth_test_enable: Bool32::default(),
20988 depth_write_enable: Bool32::default(),
20989 depth_compare_op: CompareOp::default(),
20990 depth_bounds_test_enable: Bool32::default(),
20991 stencil_test_enable: Bool32::default(),
20992 front: StencilOpState::default(),
20993 back: StencilOpState::default(),
20994 min_depth_bounds: f32::default(),
20995 max_depth_bounds: f32::default(),
20996 }
20997 }
20998}
20999
21000#[repr(C)]
21002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21003pub struct PipelineDiscardRectangleStateCreateInfoEXT {
21004 pub s_type: StructureType,
21005 pub next: *const c_void,
21006 pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
21007 pub discard_rectangle_mode: DiscardRectangleModeEXT,
21008 pub discard_rectangle_count: u32,
21009 pub discard_rectangles: *const Rect2D,
21010}
21011
21012impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
21013 #[inline]
21014 fn default() -> Self {
21015 Self {
21016 s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
21017 next: ptr::null(),
21018 flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
21019 discard_rectangle_mode: DiscardRectangleModeEXT::default(),
21020 discard_rectangle_count: u32::default(),
21021 discard_rectangles: ptr::null(),
21022 }
21023 }
21024}
21025
21026#[repr(C)]
21028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21029pub struct PipelineDynamicStateCreateInfo {
21030 pub s_type: StructureType,
21031 pub next: *const c_void,
21032 pub flags: PipelineDynamicStateCreateFlags,
21033 pub dynamic_state_count: u32,
21034 pub dynamic_states: *const DynamicState,
21035}
21036
21037impl Default for PipelineDynamicStateCreateInfo {
21038 #[inline]
21039 fn default() -> Self {
21040 Self {
21041 s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
21042 next: ptr::null(),
21043 flags: PipelineDynamicStateCreateFlags::default(),
21044 dynamic_state_count: u32::default(),
21045 dynamic_states: ptr::null(),
21046 }
21047 }
21048}
21049
21050#[repr(C)]
21052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21053pub struct PipelineExecutableInfoKHR {
21054 pub s_type: StructureType,
21055 pub next: *const c_void,
21056 pub pipeline: Pipeline,
21057 pub executable_index: u32,
21058}
21059
21060impl Default for PipelineExecutableInfoKHR {
21061 #[inline]
21062 fn default() -> Self {
21063 Self {
21064 s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
21065 next: ptr::null(),
21066 pipeline: Pipeline::default(),
21067 executable_index: u32::default(),
21068 }
21069 }
21070}
21071
21072#[repr(C)]
21074#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21075pub struct PipelineExecutableInternalRepresentationKHR {
21076 pub s_type: StructureType,
21077 pub next: *mut c_void,
21078 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
21079 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
21080 pub is_text: Bool32,
21081 pub data_size: usize,
21082 pub data: *mut c_void,
21083}
21084
21085impl Default for PipelineExecutableInternalRepresentationKHR {
21086 #[inline]
21087 fn default() -> Self {
21088 Self {
21089 s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
21090 next: ptr::null_mut(),
21091 name: StringArray::default(),
21092 description: StringArray::default(),
21093 is_text: Bool32::default(),
21094 data_size: usize::default(),
21095 data: ptr::null_mut(),
21096 }
21097 }
21098}
21099
21100#[repr(C)]
21102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21103pub struct PipelineExecutablePropertiesKHR {
21104 pub s_type: StructureType,
21105 pub next: *mut c_void,
21106 pub stages: ShaderStageFlags,
21107 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
21108 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
21109 pub subgroup_size: u32,
21110}
21111
21112impl Default for PipelineExecutablePropertiesKHR {
21113 #[inline]
21114 fn default() -> Self {
21115 Self {
21116 s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
21117 next: ptr::null_mut(),
21118 stages: ShaderStageFlags::default(),
21119 name: StringArray::default(),
21120 description: StringArray::default(),
21121 subgroup_size: u32::default(),
21122 }
21123 }
21124}
21125
21126#[repr(C)]
21128#[derive(Copy, Clone, Debug)]
21129pub struct PipelineExecutableStatisticKHR {
21130 pub s_type: StructureType,
21131 pub next: *mut c_void,
21132 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
21133 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
21134 pub format: PipelineExecutableStatisticFormatKHR,
21135 pub value: PipelineExecutableStatisticValueKHR,
21136}
21137
21138impl Default for PipelineExecutableStatisticKHR {
21139 #[inline]
21140 fn default() -> Self {
21141 Self {
21142 s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
21143 next: ptr::null_mut(),
21144 name: StringArray::default(),
21145 description: StringArray::default(),
21146 format: PipelineExecutableStatisticFormatKHR::default(),
21147 value: PipelineExecutableStatisticValueKHR::default(),
21148 }
21149 }
21150}
21151
21152#[repr(C)]
21154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21155pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
21156 pub s_type: StructureType,
21157 pub next: *const c_void,
21158 pub max_fragment_density_map_layers: u32,
21159}
21160
21161impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
21162 #[inline]
21163 fn default() -> Self {
21164 Self {
21165 s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
21166 next: ptr::null(),
21167 max_fragment_density_map_layers: u32::default(),
21168 }
21169 }
21170}
21171
21172#[repr(C)]
21174#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21175pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
21176 pub s_type: StructureType,
21177 pub next: *const c_void,
21178 pub shading_rate_type: FragmentShadingRateTypeNV,
21179 pub shading_rate: FragmentShadingRateNV,
21180 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
21181}
21182
21183impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
21184 #[inline]
21185 fn default() -> Self {
21186 Self {
21187 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
21188 next: ptr::null(),
21189 shading_rate_type: FragmentShadingRateTypeNV::default(),
21190 shading_rate: FragmentShadingRateNV::default(),
21191 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
21192 }
21193 }
21194}
21195
21196#[repr(C)]
21198#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21199pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
21200 pub s_type: StructureType,
21201 pub next: *const c_void,
21202 pub fragment_size: Extent2D,
21203 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
21204}
21205
21206impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
21207 #[inline]
21208 fn default() -> Self {
21209 Self {
21210 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
21211 next: ptr::null(),
21212 fragment_size: Extent2D::default(),
21213 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
21214 }
21215 }
21216}
21217
21218#[repr(C)]
21220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21221pub struct PipelineIndirectDeviceAddressInfoNV {
21222 pub s_type: StructureType,
21223 pub next: *const c_void,
21224 pub pipeline_bind_point: PipelineBindPoint,
21225 pub pipeline: Pipeline,
21226}
21227
21228impl Default for PipelineIndirectDeviceAddressInfoNV {
21229 #[inline]
21230 fn default() -> Self {
21231 Self {
21232 s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
21233 next: ptr::null(),
21234 pipeline_bind_point: PipelineBindPoint::default(),
21235 pipeline: Pipeline::default(),
21236 }
21237 }
21238}
21239
21240#[repr(C)]
21242#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21243pub struct PipelineInfoKHR {
21244 pub s_type: StructureType,
21245 pub next: *const c_void,
21246 pub pipeline: Pipeline,
21247}
21248
21249impl Default for PipelineInfoKHR {
21250 #[inline]
21251 fn default() -> Self {
21252 Self {
21253 s_type: StructureType::PIPELINE_INFO_KHR,
21254 next: ptr::null(),
21255 pipeline: Pipeline::default(),
21256 }
21257 }
21258}
21259
21260#[repr(C)]
21262#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21263pub struct PipelineInputAssemblyStateCreateInfo {
21264 pub s_type: StructureType,
21265 pub next: *const c_void,
21266 pub flags: PipelineInputAssemblyStateCreateFlags,
21267 pub topology: PrimitiveTopology,
21268 pub primitive_restart_enable: Bool32,
21269}
21270
21271impl Default for PipelineInputAssemblyStateCreateInfo {
21272 #[inline]
21273 fn default() -> Self {
21274 Self {
21275 s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
21276 next: ptr::null(),
21277 flags: PipelineInputAssemblyStateCreateFlags::default(),
21278 topology: PrimitiveTopology::default(),
21279 primitive_restart_enable: Bool32::default(),
21280 }
21281 }
21282}
21283
21284#[repr(C)]
21286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21287pub struct PipelineLayoutCreateInfo {
21288 pub s_type: StructureType,
21289 pub next: *const c_void,
21290 pub flags: PipelineLayoutCreateFlags,
21291 pub set_layout_count: u32,
21292 pub set_layouts: *const DescriptorSetLayout,
21293 pub push_constant_range_count: u32,
21294 pub push_constant_ranges: *const PushConstantRange,
21295}
21296
21297impl Default for PipelineLayoutCreateInfo {
21298 #[inline]
21299 fn default() -> Self {
21300 Self {
21301 s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
21302 next: ptr::null(),
21303 flags: PipelineLayoutCreateFlags::default(),
21304 set_layout_count: u32::default(),
21305 set_layouts: ptr::null(),
21306 push_constant_range_count: u32::default(),
21307 push_constant_ranges: ptr::null(),
21308 }
21309 }
21310}
21311
21312#[repr(C)]
21314#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21315pub struct PipelineLibraryCreateInfoKHR {
21316 pub s_type: StructureType,
21317 pub next: *const c_void,
21318 pub library_count: u32,
21319 pub libraries: *const Pipeline,
21320}
21321
21322impl Default for PipelineLibraryCreateInfoKHR {
21323 #[inline]
21324 fn default() -> Self {
21325 Self {
21326 s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
21327 next: ptr::null(),
21328 library_count: u32::default(),
21329 libraries: ptr::null(),
21330 }
21331 }
21332}
21333
21334#[repr(C)]
21336#[derive(Copy, Clone, Debug, PartialEq)]
21337pub struct PipelineMultisampleStateCreateInfo {
21338 pub s_type: StructureType,
21339 pub next: *const c_void,
21340 pub flags: PipelineMultisampleStateCreateFlags,
21341 pub rasterization_samples: SampleCountFlags,
21342 pub sample_shading_enable: Bool32,
21343 pub min_sample_shading: f32,
21344 pub sample_mask: *const SampleMask,
21345 pub alpha_to_coverage_enable: Bool32,
21346 pub alpha_to_one_enable: Bool32,
21347}
21348
21349impl Default for PipelineMultisampleStateCreateInfo {
21350 #[inline]
21351 fn default() -> Self {
21352 Self {
21353 s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
21354 next: ptr::null(),
21355 flags: PipelineMultisampleStateCreateFlags::default(),
21356 rasterization_samples: SampleCountFlags::default(),
21357 sample_shading_enable: Bool32::default(),
21358 min_sample_shading: f32::default(),
21359 sample_mask: ptr::null(),
21360 alpha_to_coverage_enable: Bool32::default(),
21361 alpha_to_one_enable: Bool32::default(),
21362 }
21363 }
21364}
21365
21366#[repr(C)]
21368#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21369pub struct PipelinePropertiesIdentifierEXT {
21370 pub s_type: StructureType,
21371 pub next: *mut c_void,
21372 pub pipeline_identifier: ByteArray<UUID_SIZE>,
21373}
21374
21375impl Default for PipelinePropertiesIdentifierEXT {
21376 #[inline]
21377 fn default() -> Self {
21378 Self {
21379 s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
21380 next: ptr::null_mut(),
21381 pipeline_identifier: ByteArray::default(),
21382 }
21383 }
21384}
21385
21386#[repr(C)]
21388#[derive(Copy, Clone, Debug, PartialEq)]
21389pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
21390 pub s_type: StructureType,
21391 pub next: *const c_void,
21392 pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
21393 pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
21394 pub extra_primitive_overestimation_size: f32,
21395}
21396
21397impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
21398 #[inline]
21399 fn default() -> Self {
21400 Self {
21401 s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
21402 next: ptr::null(),
21403 flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
21404 conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
21405 extra_primitive_overestimation_size: f32::default(),
21406 }
21407 }
21408}
21409
21410#[repr(C)]
21412#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21413pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
21414 pub s_type: StructureType,
21415 pub next: *const c_void,
21416 pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
21417 pub depth_clip_enable: Bool32,
21418}
21419
21420impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
21421 #[inline]
21422 fn default() -> Self {
21423 Self {
21424 s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
21425 next: ptr::null(),
21426 flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
21427 depth_clip_enable: Bool32::default(),
21428 }
21429 }
21430}
21431
21432#[repr(C)]
21434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21435pub struct PipelineRasterizationLineStateCreateInfo {
21436 pub s_type: StructureType,
21437 pub next: *const c_void,
21438 pub line_rasterization_mode: LineRasterizationMode,
21439 pub stippled_line_enable: Bool32,
21440 pub line_stipple_factor: u32,
21441 pub line_stipple_pattern: u16,
21442}
21443
21444impl Default for PipelineRasterizationLineStateCreateInfo {
21445 #[inline]
21446 fn default() -> Self {
21447 Self {
21448 s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
21449 next: ptr::null(),
21450 line_rasterization_mode: LineRasterizationMode::default(),
21451 stippled_line_enable: Bool32::default(),
21452 line_stipple_factor: u32::default(),
21453 line_stipple_pattern: u16::default(),
21454 }
21455 }
21456}
21457
21458#[repr(C)]
21460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21461pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
21462 pub s_type: StructureType,
21463 pub next: *const c_void,
21464 pub provoking_vertex_mode: ProvokingVertexModeEXT,
21465}
21466
21467impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
21468 #[inline]
21469 fn default() -> Self {
21470 Self {
21471 s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
21472 next: ptr::null(),
21473 provoking_vertex_mode: ProvokingVertexModeEXT::default(),
21474 }
21475 }
21476}
21477
21478#[repr(C)]
21480#[derive(Copy, Clone, Debug, PartialEq)]
21481pub struct PipelineRasterizationStateCreateInfo {
21482 pub s_type: StructureType,
21483 pub next: *const c_void,
21484 pub flags: PipelineRasterizationStateCreateFlags,
21485 pub depth_clamp_enable: Bool32,
21486 pub rasterizer_discard_enable: Bool32,
21487 pub polygon_mode: PolygonMode,
21488 pub cull_mode: CullModeFlags,
21489 pub front_face: FrontFace,
21490 pub depth_bias_enable: Bool32,
21491 pub depth_bias_constant_factor: f32,
21492 pub depth_bias_clamp: f32,
21493 pub depth_bias_slope_factor: f32,
21494 pub line_width: f32,
21495}
21496
21497impl Default for PipelineRasterizationStateCreateInfo {
21498 #[inline]
21499 fn default() -> Self {
21500 Self {
21501 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
21502 next: ptr::null(),
21503 flags: PipelineRasterizationStateCreateFlags::default(),
21504 depth_clamp_enable: Bool32::default(),
21505 rasterizer_discard_enable: Bool32::default(),
21506 polygon_mode: PolygonMode::default(),
21507 cull_mode: CullModeFlags::default(),
21508 front_face: FrontFace::default(),
21509 depth_bias_enable: Bool32::default(),
21510 depth_bias_constant_factor: f32::default(),
21511 depth_bias_clamp: f32::default(),
21512 depth_bias_slope_factor: f32::default(),
21513 line_width: f32::default(),
21514 }
21515 }
21516}
21517
21518#[repr(C)]
21520#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21521pub struct PipelineRasterizationStateRasterizationOrderAMD {
21522 pub s_type: StructureType,
21523 pub next: *const c_void,
21524 pub rasterization_order: RasterizationOrderAMD,
21525}
21526
21527impl Default for PipelineRasterizationStateRasterizationOrderAMD {
21528 #[inline]
21529 fn default() -> Self {
21530 Self {
21531 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
21532 next: ptr::null(),
21533 rasterization_order: RasterizationOrderAMD::default(),
21534 }
21535 }
21536}
21537
21538#[repr(C)]
21540#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21541pub struct PipelineRasterizationStateStreamCreateInfoEXT {
21542 pub s_type: StructureType,
21543 pub next: *const c_void,
21544 pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
21545 pub rasterization_stream: u32,
21546}
21547
21548impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
21549 #[inline]
21550 fn default() -> Self {
21551 Self {
21552 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
21553 next: ptr::null(),
21554 flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
21555 rasterization_stream: u32::default(),
21556 }
21557 }
21558}
21559
21560#[repr(C)]
21562#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21563pub struct PipelineRenderingCreateInfo {
21564 pub s_type: StructureType,
21565 pub next: *const c_void,
21566 pub view_mask: u32,
21567 pub color_attachment_count: u32,
21568 pub color_attachment_formats: *const Format,
21569 pub depth_attachment_format: Format,
21570 pub stencil_attachment_format: Format,
21571}
21572
21573impl Default for PipelineRenderingCreateInfo {
21574 #[inline]
21575 fn default() -> Self {
21576 Self {
21577 s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
21578 next: ptr::null(),
21579 view_mask: u32::default(),
21580 color_attachment_count: u32::default(),
21581 color_attachment_formats: ptr::null(),
21582 depth_attachment_format: Format::default(),
21583 stencil_attachment_format: Format::default(),
21584 }
21585 }
21586}
21587
21588#[repr(C)]
21590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21591pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
21592 pub s_type: StructureType,
21593 pub next: *const c_void,
21594 pub representative_fragment_test_enable: Bool32,
21595}
21596
21597impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
21598 #[inline]
21599 fn default() -> Self {
21600 Self {
21601 s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
21602 next: ptr::null(),
21603 representative_fragment_test_enable: Bool32::default(),
21604 }
21605 }
21606}
21607
21608#[repr(C)]
21610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21611pub struct PipelineRobustnessCreateInfo {
21612 pub s_type: StructureType,
21613 pub next: *const c_void,
21614 pub storage_buffers: PipelineRobustnessBufferBehavior,
21615 pub uniform_buffers: PipelineRobustnessBufferBehavior,
21616 pub vertex_inputs: PipelineRobustnessBufferBehavior,
21617 pub images: PipelineRobustnessImageBehavior,
21618}
21619
21620impl Default for PipelineRobustnessCreateInfo {
21621 #[inline]
21622 fn default() -> Self {
21623 Self {
21624 s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
21625 next: ptr::null(),
21626 storage_buffers: PipelineRobustnessBufferBehavior::default(),
21627 uniform_buffers: PipelineRobustnessBufferBehavior::default(),
21628 vertex_inputs: PipelineRobustnessBufferBehavior::default(),
21629 images: PipelineRobustnessImageBehavior::default(),
21630 }
21631 }
21632}
21633
21634#[repr(C)]
21636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21637pub struct PipelineSampleLocationsStateCreateInfoEXT {
21638 pub s_type: StructureType,
21639 pub next: *const c_void,
21640 pub sample_locations_enable: Bool32,
21641 pub sample_locations_info: SampleLocationsInfoEXT,
21642}
21643
21644impl Default for PipelineSampleLocationsStateCreateInfoEXT {
21645 #[inline]
21646 fn default() -> Self {
21647 Self {
21648 s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
21649 next: ptr::null(),
21650 sample_locations_enable: Bool32::default(),
21651 sample_locations_info: SampleLocationsInfoEXT::default(),
21652 }
21653 }
21654}
21655
21656#[repr(C)]
21658#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21659pub struct PipelineShaderStageCreateInfo {
21660 pub s_type: StructureType,
21661 pub next: *const c_void,
21662 pub flags: PipelineShaderStageCreateFlags,
21663 pub stage: ShaderStageFlags,
21664 pub module: ShaderModule,
21665 pub name: *const c_char,
21666 pub specialization_info: *const SpecializationInfo,
21667}
21668
21669impl Default for PipelineShaderStageCreateInfo {
21670 #[inline]
21671 fn default() -> Self {
21672 Self {
21673 s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
21674 next: ptr::null(),
21675 flags: PipelineShaderStageCreateFlags::default(),
21676 stage: ShaderStageFlags::default(),
21677 module: ShaderModule::default(),
21678 name: ptr::null(),
21679 specialization_info: ptr::null(),
21680 }
21681 }
21682}
21683
21684#[repr(C)]
21686#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21687pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
21688 pub s_type: StructureType,
21689 pub next: *const c_void,
21690 pub identifier_size: u32,
21691 pub identifier: *const u8,
21692}
21693
21694impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
21695 #[inline]
21696 fn default() -> Self {
21697 Self {
21698 s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
21699 next: ptr::null(),
21700 identifier_size: u32::default(),
21701 identifier: ptr::null(),
21702 }
21703 }
21704}
21705
21706#[repr(C)]
21708#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21709pub struct PipelineShaderStageNodeCreateInfoAMDX {
21710 pub s_type: StructureType,
21711 pub next: *const c_void,
21712 pub name: *const c_char,
21713 pub index: u32,
21714}
21715
21716impl Default for PipelineShaderStageNodeCreateInfoAMDX {
21717 #[inline]
21718 fn default() -> Self {
21719 Self {
21720 s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
21721 next: ptr::null(),
21722 name: ptr::null(),
21723 index: u32::default(),
21724 }
21725 }
21726}
21727
21728#[repr(C)]
21730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21731pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
21732 pub s_type: StructureType,
21733 pub next: *mut c_void,
21734 pub required_subgroup_size: u32,
21735}
21736
21737impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
21738 #[inline]
21739 fn default() -> Self {
21740 Self {
21741 s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
21742 next: ptr::null_mut(),
21743 required_subgroup_size: u32::default(),
21744 }
21745 }
21746}
21747
21748#[repr(C)]
21750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21751pub struct PipelineTessellationDomainOriginStateCreateInfo {
21752 pub s_type: StructureType,
21753 pub next: *const c_void,
21754 pub domain_origin: TessellationDomainOrigin,
21755}
21756
21757impl Default for PipelineTessellationDomainOriginStateCreateInfo {
21758 #[inline]
21759 fn default() -> Self {
21760 Self {
21761 s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
21762 next: ptr::null(),
21763 domain_origin: TessellationDomainOrigin::default(),
21764 }
21765 }
21766}
21767
21768#[repr(C)]
21770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21771pub struct PipelineTessellationStateCreateInfo {
21772 pub s_type: StructureType,
21773 pub next: *const c_void,
21774 pub flags: PipelineTessellationStateCreateFlags,
21775 pub patch_control_points: u32,
21776}
21777
21778impl Default for PipelineTessellationStateCreateInfo {
21779 #[inline]
21780 fn default() -> Self {
21781 Self {
21782 s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
21783 next: ptr::null(),
21784 flags: PipelineTessellationStateCreateFlags::default(),
21785 patch_control_points: u32::default(),
21786 }
21787 }
21788}
21789
21790#[repr(C)]
21792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21793pub struct PipelineVertexInputDivisorStateCreateInfo {
21794 pub s_type: StructureType,
21795 pub next: *const c_void,
21796 pub vertex_binding_divisor_count: u32,
21797 pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
21798}
21799
21800impl Default for PipelineVertexInputDivisorStateCreateInfo {
21801 #[inline]
21802 fn default() -> Self {
21803 Self {
21804 s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
21805 next: ptr::null(),
21806 vertex_binding_divisor_count: u32::default(),
21807 vertex_binding_divisors: ptr::null(),
21808 }
21809 }
21810}
21811
21812#[repr(C)]
21814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21815pub struct PipelineVertexInputStateCreateInfo {
21816 pub s_type: StructureType,
21817 pub next: *const c_void,
21818 pub flags: PipelineVertexInputStateCreateFlags,
21819 pub vertex_binding_description_count: u32,
21820 pub vertex_binding_descriptions: *const VertexInputBindingDescription,
21821 pub vertex_attribute_description_count: u32,
21822 pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
21823}
21824
21825impl Default for PipelineVertexInputStateCreateInfo {
21826 #[inline]
21827 fn default() -> Self {
21828 Self {
21829 s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
21830 next: ptr::null(),
21831 flags: PipelineVertexInputStateCreateFlags::default(),
21832 vertex_binding_description_count: u32::default(),
21833 vertex_binding_descriptions: ptr::null(),
21834 vertex_attribute_description_count: u32::default(),
21835 vertex_attribute_descriptions: ptr::null(),
21836 }
21837 }
21838}
21839
21840#[repr(C)]
21842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21843pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
21844 pub s_type: StructureType,
21845 pub next: *const c_void,
21846 pub sample_order_type: CoarseSampleOrderTypeNV,
21847 pub custom_sample_order_count: u32,
21848 pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
21849}
21850
21851impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
21852 #[inline]
21853 fn default() -> Self {
21854 Self {
21855 s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
21856 next: ptr::null(),
21857 sample_order_type: CoarseSampleOrderTypeNV::default(),
21858 custom_sample_order_count: u32::default(),
21859 custom_sample_orders: ptr::null(),
21860 }
21861 }
21862}
21863
21864#[repr(C)]
21866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21867pub struct PipelineViewportDepthClampControlCreateInfoEXT {
21868 pub s_type: StructureType,
21869 pub next: *const c_void,
21870 pub depth_clamp_mode: DepthClampModeEXT,
21871 pub depth_clamp_range: *const DepthClampRangeEXT,
21872}
21873
21874impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
21875 #[inline]
21876 fn default() -> Self {
21877 Self {
21878 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
21879 next: ptr::null(),
21880 depth_clamp_mode: DepthClampModeEXT::default(),
21881 depth_clamp_range: ptr::null(),
21882 }
21883 }
21884}
21885
21886#[repr(C)]
21888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21889pub struct PipelineViewportDepthClipControlCreateInfoEXT {
21890 pub s_type: StructureType,
21891 pub next: *const c_void,
21892 pub negative_one_to_one: Bool32,
21893}
21894
21895impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
21896 #[inline]
21897 fn default() -> Self {
21898 Self {
21899 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
21900 next: ptr::null(),
21901 negative_one_to_one: Bool32::default(),
21902 }
21903 }
21904}
21905
21906#[repr(C)]
21908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21909pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
21910 pub s_type: StructureType,
21911 pub next: *const c_void,
21912 pub exclusive_scissor_count: u32,
21913 pub exclusive_scissors: *const Rect2D,
21914}
21915
21916impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
21917 #[inline]
21918 fn default() -> Self {
21919 Self {
21920 s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
21921 next: ptr::null(),
21922 exclusive_scissor_count: u32::default(),
21923 exclusive_scissors: ptr::null(),
21924 }
21925 }
21926}
21927
21928#[repr(C)]
21930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21931pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
21932 pub s_type: StructureType,
21933 pub next: *const c_void,
21934 pub shading_rate_image_enable: Bool32,
21935 pub viewport_count: u32,
21936 pub shading_rate_palettes: *const ShadingRatePaletteNV,
21937}
21938
21939impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
21940 #[inline]
21941 fn default() -> Self {
21942 Self {
21943 s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
21944 next: ptr::null(),
21945 shading_rate_image_enable: Bool32::default(),
21946 viewport_count: u32::default(),
21947 shading_rate_palettes: ptr::null(),
21948 }
21949 }
21950}
21951
21952#[repr(C)]
21954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21955pub struct PipelineViewportStateCreateInfo {
21956 pub s_type: StructureType,
21957 pub next: *const c_void,
21958 pub flags: PipelineViewportStateCreateFlags,
21959 pub viewport_count: u32,
21960 pub viewports: *const Viewport,
21961 pub scissor_count: u32,
21962 pub scissors: *const Rect2D,
21963}
21964
21965impl Default for PipelineViewportStateCreateInfo {
21966 #[inline]
21967 fn default() -> Self {
21968 Self {
21969 s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
21970 next: ptr::null(),
21971 flags: PipelineViewportStateCreateFlags::default(),
21972 viewport_count: u32::default(),
21973 viewports: ptr::null(),
21974 scissor_count: u32::default(),
21975 scissors: ptr::null(),
21976 }
21977 }
21978}
21979
21980#[repr(C)]
21982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21983pub struct PipelineViewportSwizzleStateCreateInfoNV {
21984 pub s_type: StructureType,
21985 pub next: *const c_void,
21986 pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
21987 pub viewport_count: u32,
21988 pub viewport_swizzles: *const ViewportSwizzleNV,
21989}
21990
21991impl Default for PipelineViewportSwizzleStateCreateInfoNV {
21992 #[inline]
21993 fn default() -> Self {
21994 Self {
21995 s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
21996 next: ptr::null(),
21997 flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
21998 viewport_count: u32::default(),
21999 viewport_swizzles: ptr::null(),
22000 }
22001 }
22002}
22003
22004#[repr(C)]
22006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22007pub struct PipelineViewportWScalingStateCreateInfoNV {
22008 pub s_type: StructureType,
22009 pub next: *const c_void,
22010 pub viewport_w_scaling_enable: Bool32,
22011 pub viewport_count: u32,
22012 pub viewport_w_scalings: *const ViewportWScalingNV,
22013}
22014
22015impl Default for PipelineViewportWScalingStateCreateInfoNV {
22016 #[inline]
22017 fn default() -> Self {
22018 Self {
22019 s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
22020 next: ptr::null(),
22021 viewport_w_scaling_enable: Bool32::default(),
22022 viewport_count: u32::default(),
22023 viewport_w_scalings: ptr::null(),
22024 }
22025 }
22026}
22027
22028#[repr(C)]
22030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22031pub struct PresentFrameTokenGGP {
22032 pub s_type: StructureType,
22033 pub next: *const c_void,
22034 pub frame_token: GgpFrameToken,
22035}
22036
22037impl Default for PresentFrameTokenGGP {
22038 #[inline]
22039 fn default() -> Self {
22040 Self {
22041 s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
22042 next: ptr::null(),
22043 frame_token: GgpFrameToken::default(),
22044 }
22045 }
22046}
22047
22048#[repr(C)]
22050#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22051pub struct PresentId2KHR {
22052 pub s_type: StructureType,
22053 pub next: *const c_void,
22054 pub swapchain_count: u32,
22055 pub present_ids: *const u64,
22056}
22057
22058impl Default for PresentId2KHR {
22059 #[inline]
22060 fn default() -> Self {
22061 Self {
22062 s_type: StructureType::PRESENT_ID_2_KHR,
22063 next: ptr::null(),
22064 swapchain_count: u32::default(),
22065 present_ids: ptr::null(),
22066 }
22067 }
22068}
22069
22070#[repr(C)]
22072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22073pub struct PresentIdKHR {
22074 pub s_type: StructureType,
22075 pub next: *const c_void,
22076 pub swapchain_count: u32,
22077 pub present_ids: *const u64,
22078}
22079
22080impl Default for PresentIdKHR {
22081 #[inline]
22082 fn default() -> Self {
22083 Self {
22084 s_type: StructureType::PRESENT_ID_KHR,
22085 next: ptr::null(),
22086 swapchain_count: u32::default(),
22087 present_ids: ptr::null(),
22088 }
22089 }
22090}
22091
22092#[repr(C)]
22094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22095pub struct PresentInfoKHR {
22096 pub s_type: StructureType,
22097 pub next: *const c_void,
22098 pub wait_semaphore_count: u32,
22099 pub wait_semaphores: *const Semaphore,
22100 pub swapchain_count: u32,
22101 pub swapchains: *const SwapchainKHR,
22102 pub image_indices: *const u32,
22103 pub results: *mut Result,
22104}
22105
22106impl Default for PresentInfoKHR {
22107 #[inline]
22108 fn default() -> Self {
22109 Self {
22110 s_type: StructureType::PRESENT_INFO_KHR,
22111 next: ptr::null(),
22112 wait_semaphore_count: u32::default(),
22113 wait_semaphores: ptr::null(),
22114 swapchain_count: u32::default(),
22115 swapchains: ptr::null(),
22116 image_indices: ptr::null(),
22117 results: ptr::null_mut(),
22118 }
22119 }
22120}
22121
22122#[repr(C)]
22124#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22125pub struct PresentRegionKHR {
22126 pub rectangle_count: u32,
22127 pub rectangles: *const RectLayerKHR,
22128}
22129
22130impl Default for PresentRegionKHR {
22131 #[inline]
22132 fn default() -> Self {
22133 Self {
22134 rectangle_count: u32::default(),
22135 rectangles: ptr::null(),
22136 }
22137 }
22138}
22139
22140#[repr(C)]
22142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22143pub struct PresentRegionsKHR {
22144 pub s_type: StructureType,
22145 pub next: *const c_void,
22146 pub swapchain_count: u32,
22147 pub regions: *const PresentRegionKHR,
22148}
22149
22150impl Default for PresentRegionsKHR {
22151 #[inline]
22152 fn default() -> Self {
22153 Self {
22154 s_type: StructureType::PRESENT_REGIONS_KHR,
22155 next: ptr::null(),
22156 swapchain_count: u32::default(),
22157 regions: ptr::null(),
22158 }
22159 }
22160}
22161
22162#[repr(C)]
22164#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22165pub struct PresentTimeGOOGLE {
22166 pub present_id: u32,
22167 pub desired_present_time: u64,
22168}
22169
22170#[repr(C)]
22172#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22173pub struct PresentTimesInfoGOOGLE {
22174 pub s_type: StructureType,
22175 pub next: *const c_void,
22176 pub swapchain_count: u32,
22177 pub times: *const PresentTimeGOOGLE,
22178}
22179
22180impl Default for PresentTimesInfoGOOGLE {
22181 #[inline]
22182 fn default() -> Self {
22183 Self {
22184 s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
22185 next: ptr::null(),
22186 swapchain_count: u32::default(),
22187 times: ptr::null(),
22188 }
22189 }
22190}
22191
22192#[repr(C)]
22194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22195pub struct PresentWait2InfoKHR {
22196 pub s_type: StructureType,
22197 pub next: *const c_void,
22198 pub present_id: u64,
22199 pub timeout: u64,
22200}
22201
22202impl Default for PresentWait2InfoKHR {
22203 #[inline]
22204 fn default() -> Self {
22205 Self {
22206 s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
22207 next: ptr::null(),
22208 present_id: u64::default(),
22209 timeout: u64::default(),
22210 }
22211 }
22212}
22213
22214#[repr(C)]
22216#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22217pub struct PrivateDataSlotCreateInfo {
22218 pub s_type: StructureType,
22219 pub next: *const c_void,
22220 pub flags: PrivateDataSlotCreateFlags,
22221}
22222
22223impl Default for PrivateDataSlotCreateInfo {
22224 #[inline]
22225 fn default() -> Self {
22226 Self {
22227 s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
22228 next: ptr::null(),
22229 flags: PrivateDataSlotCreateFlags::default(),
22230 }
22231 }
22232}
22233
22234#[repr(C)]
22236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22237pub struct ProtectedSubmitInfo {
22238 pub s_type: StructureType,
22239 pub next: *const c_void,
22240 pub protected_submit: Bool32,
22241}
22242
22243impl Default for ProtectedSubmitInfo {
22244 #[inline]
22245 fn default() -> Self {
22246 Self {
22247 s_type: StructureType::PROTECTED_SUBMIT_INFO,
22248 next: ptr::null(),
22249 protected_submit: Bool32::default(),
22250 }
22251 }
22252}
22253
22254#[repr(C)]
22256#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22257pub struct PushConstantRange {
22258 pub stage_flags: ShaderStageFlags,
22259 pub offset: u32,
22260 pub size: u32,
22261}
22262
22263#[repr(C)]
22265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22266pub struct PushConstantsInfo {
22267 pub s_type: StructureType,
22268 pub next: *const c_void,
22269 pub layout: PipelineLayout,
22270 pub stage_flags: ShaderStageFlags,
22271 pub offset: u32,
22272 pub size: u32,
22273 pub values: *const c_void,
22274}
22275
22276impl Default for PushConstantsInfo {
22277 #[inline]
22278 fn default() -> Self {
22279 Self {
22280 s_type: StructureType::PUSH_CONSTANTS_INFO,
22281 next: ptr::null(),
22282 layout: PipelineLayout::default(),
22283 stage_flags: ShaderStageFlags::default(),
22284 offset: u32::default(),
22285 size: u32::default(),
22286 values: ptr::null(),
22287 }
22288 }
22289}
22290
22291#[repr(C)]
22293#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22294pub struct PushDescriptorSetInfo {
22295 pub s_type: StructureType,
22296 pub next: *const c_void,
22297 pub stage_flags: ShaderStageFlags,
22298 pub layout: PipelineLayout,
22299 pub set: u32,
22300 pub descriptor_write_count: u32,
22301 pub descriptor_writes: *const WriteDescriptorSet,
22302}
22303
22304impl Default for PushDescriptorSetInfo {
22305 #[inline]
22306 fn default() -> Self {
22307 Self {
22308 s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
22309 next: ptr::null(),
22310 stage_flags: ShaderStageFlags::default(),
22311 layout: PipelineLayout::default(),
22312 set: u32::default(),
22313 descriptor_write_count: u32::default(),
22314 descriptor_writes: ptr::null(),
22315 }
22316 }
22317}
22318
22319#[repr(C)]
22321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22322pub struct PushDescriptorSetWithTemplateInfo {
22323 pub s_type: StructureType,
22324 pub next: *const c_void,
22325 pub descriptor_update_template: DescriptorUpdateTemplate,
22326 pub layout: PipelineLayout,
22327 pub set: u32,
22328 pub data: *const c_void,
22329}
22330
22331impl Default for PushDescriptorSetWithTemplateInfo {
22332 #[inline]
22333 fn default() -> Self {
22334 Self {
22335 s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
22336 next: ptr::null(),
22337 descriptor_update_template: DescriptorUpdateTemplate::default(),
22338 layout: PipelineLayout::default(),
22339 set: u32::default(),
22340 data: ptr::null(),
22341 }
22342 }
22343}
22344
22345#[repr(C)]
22347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22348pub struct QueryLowLatencySupportNV {
22349 pub s_type: StructureType,
22350 pub next: *const c_void,
22351 pub queried_low_latency_data: *mut c_void,
22352}
22353
22354impl Default for QueryLowLatencySupportNV {
22355 #[inline]
22356 fn default() -> Self {
22357 Self {
22358 s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
22359 next: ptr::null(),
22360 queried_low_latency_data: ptr::null_mut(),
22361 }
22362 }
22363}
22364
22365#[repr(C)]
22367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22368pub struct QueryPoolCreateInfo {
22369 pub s_type: StructureType,
22370 pub next: *const c_void,
22371 pub flags: QueryPoolCreateFlags,
22372 pub query_type: QueryType,
22373 pub query_count: u32,
22374 pub pipeline_statistics: QueryPipelineStatisticFlags,
22375}
22376
22377impl Default for QueryPoolCreateInfo {
22378 #[inline]
22379 fn default() -> Self {
22380 Self {
22381 s_type: StructureType::QUERY_POOL_CREATE_INFO,
22382 next: ptr::null(),
22383 flags: QueryPoolCreateFlags::default(),
22384 query_type: QueryType::default(),
22385 query_count: u32::default(),
22386 pipeline_statistics: QueryPipelineStatisticFlags::default(),
22387 }
22388 }
22389}
22390
22391#[repr(C)]
22393#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22394pub struct QueryPoolPerformanceCreateInfoKHR {
22395 pub s_type: StructureType,
22396 pub next: *const c_void,
22397 pub queue_family_index: u32,
22398 pub counter_index_count: u32,
22399 pub counter_indices: *const u32,
22400}
22401
22402impl Default for QueryPoolPerformanceCreateInfoKHR {
22403 #[inline]
22404 fn default() -> Self {
22405 Self {
22406 s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
22407 next: ptr::null(),
22408 queue_family_index: u32::default(),
22409 counter_index_count: u32::default(),
22410 counter_indices: ptr::null(),
22411 }
22412 }
22413}
22414
22415#[repr(C)]
22417#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22418pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
22419 pub s_type: StructureType,
22420 pub next: *const c_void,
22421 pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
22422}
22423
22424impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
22425 #[inline]
22426 fn default() -> Self {
22427 Self {
22428 s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
22429 next: ptr::null(),
22430 performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
22431 }
22432 }
22433}
22434
22435#[repr(C)]
22437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22438pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
22439 pub s_type: StructureType,
22440 pub next: *const c_void,
22441 pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
22442}
22443
22444impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
22445 #[inline]
22446 fn default() -> Self {
22447 Self {
22448 s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
22449 next: ptr::null(),
22450 encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
22451 }
22452 }
22453}
22454
22455#[repr(C)]
22457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22458pub struct QueueFamilyCheckpointProperties2NV {
22459 pub s_type: StructureType,
22460 pub next: *mut c_void,
22461 pub checkpoint_execution_stage_mask: PipelineStageFlags2,
22462}
22463
22464impl Default for QueueFamilyCheckpointProperties2NV {
22465 #[inline]
22466 fn default() -> Self {
22467 Self {
22468 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
22469 next: ptr::null_mut(),
22470 checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
22471 }
22472 }
22473}
22474
22475#[repr(C)]
22477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22478pub struct QueueFamilyCheckpointPropertiesNV {
22479 pub s_type: StructureType,
22480 pub next: *mut c_void,
22481 pub checkpoint_execution_stage_mask: PipelineStageFlags,
22482}
22483
22484impl Default for QueueFamilyCheckpointPropertiesNV {
22485 #[inline]
22486 fn default() -> Self {
22487 Self {
22488 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
22489 next: ptr::null_mut(),
22490 checkpoint_execution_stage_mask: PipelineStageFlags::default(),
22491 }
22492 }
22493}
22494
22495#[repr(C)]
22497#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22498pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
22499 pub s_type: StructureType,
22500 pub next: *const c_void,
22501 pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
22502 pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
22503}
22504
22505impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
22506 #[inline]
22507 fn default() -> Self {
22508 Self {
22509 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
22510 next: ptr::null(),
22511 foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
22512 foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
22513 }
22514 }
22515}
22516
22517#[repr(C)]
22519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22520pub struct QueueFamilyDataGraphPropertiesARM {
22521 pub s_type: StructureType,
22522 pub next: *const c_void,
22523 pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
22524 pub operation: PhysicalDeviceDataGraphOperationSupportARM,
22525}
22526
22527impl Default for QueueFamilyDataGraphPropertiesARM {
22528 #[inline]
22529 fn default() -> Self {
22530 Self {
22531 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
22532 next: ptr::null(),
22533 engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
22534 operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
22535 }
22536 }
22537}
22538
22539#[repr(C)]
22541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22542pub struct QueueFamilyGlobalPriorityProperties {
22543 pub s_type: StructureType,
22544 pub next: *mut c_void,
22545 pub priority_count: u32,
22546 pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE],
22547}
22548
22549impl Default for QueueFamilyGlobalPriorityProperties {
22550 #[inline]
22551 fn default() -> Self {
22552 Self {
22553 s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
22554 next: ptr::null_mut(),
22555 priority_count: u32::default(),
22556 priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
22557 }
22558 }
22559}
22560
22561#[repr(C)]
22563#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22564pub struct QueueFamilyOwnershipTransferPropertiesKHR {
22565 pub s_type: StructureType,
22566 pub next: *mut c_void,
22567 pub optimal_image_transfer_to_queue_families: u32,
22568}
22569
22570impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
22571 #[inline]
22572 fn default() -> Self {
22573 Self {
22574 s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
22575 next: ptr::null_mut(),
22576 optimal_image_transfer_to_queue_families: u32::default(),
22577 }
22578 }
22579}
22580
22581#[repr(C)]
22583#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22584pub struct QueueFamilyProperties {
22585 pub queue_flags: QueueFlags,
22586 pub queue_count: u32,
22587 pub timestamp_valid_bits: u32,
22588 pub min_image_transfer_granularity: Extent3D,
22589}
22590
22591#[repr(C)]
22593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22594pub struct QueueFamilyProperties2 {
22595 pub s_type: StructureType,
22596 pub next: *mut c_void,
22597 pub queue_family_properties: QueueFamilyProperties,
22598}
22599
22600impl Default for QueueFamilyProperties2 {
22601 #[inline]
22602 fn default() -> Self {
22603 Self {
22604 s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
22605 next: ptr::null_mut(),
22606 queue_family_properties: QueueFamilyProperties::default(),
22607 }
22608 }
22609}
22610
22611#[repr(C)]
22613#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22614pub struct QueueFamilyQueryResultStatusPropertiesKHR {
22615 pub s_type: StructureType,
22616 pub next: *mut c_void,
22617 pub query_result_status_support: Bool32,
22618}
22619
22620impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
22621 #[inline]
22622 fn default() -> Self {
22623 Self {
22624 s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
22625 next: ptr::null_mut(),
22626 query_result_status_support: Bool32::default(),
22627 }
22628 }
22629}
22630
22631#[repr(C)]
22633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22634pub struct QueueFamilyVideoPropertiesKHR {
22635 pub s_type: StructureType,
22636 pub next: *mut c_void,
22637 pub video_codec_operations: VideoCodecOperationFlagsKHR,
22638}
22639
22640impl Default for QueueFamilyVideoPropertiesKHR {
22641 #[inline]
22642 fn default() -> Self {
22643 Self {
22644 s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
22645 next: ptr::null_mut(),
22646 video_codec_operations: VideoCodecOperationFlagsKHR::default(),
22647 }
22648 }
22649}
22650
22651#[repr(C)]
22653#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22654pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
22655 pub s_type: StructureType,
22656 pub next: *mut c_void,
22657 pub allow_cluster_acceleration_structure: Bool32,
22658}
22659
22660impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
22661 #[inline]
22662 fn default() -> Self {
22663 Self {
22664 s_type:
22665 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
22666 next: ptr::null_mut(),
22667 allow_cluster_acceleration_structure: Bool32::default(),
22668 }
22669 }
22670}
22671
22672#[repr(C)]
22674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22675pub struct RayTracingPipelineCreateInfoKHR {
22676 pub s_type: StructureType,
22677 pub next: *const c_void,
22678 pub flags: PipelineCreateFlags,
22679 pub stage_count: u32,
22680 pub stages: *const PipelineShaderStageCreateInfo,
22681 pub group_count: u32,
22682 pub groups: *const RayTracingShaderGroupCreateInfoKHR,
22683 pub max_pipeline_ray_recursion_depth: u32,
22684 pub library_info: *const PipelineLibraryCreateInfoKHR,
22685 pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
22686 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
22687 pub layout: PipelineLayout,
22688 pub base_pipeline_handle: Pipeline,
22689 pub base_pipeline_index: i32,
22690}
22691
22692impl Default for RayTracingPipelineCreateInfoKHR {
22693 #[inline]
22694 fn default() -> Self {
22695 Self {
22696 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
22697 next: ptr::null(),
22698 flags: PipelineCreateFlags::default(),
22699 stage_count: u32::default(),
22700 stages: ptr::null(),
22701 group_count: u32::default(),
22702 groups: ptr::null(),
22703 max_pipeline_ray_recursion_depth: u32::default(),
22704 library_info: ptr::null(),
22705 library_interface: ptr::null(),
22706 dynamic_state: ptr::null(),
22707 layout: PipelineLayout::default(),
22708 base_pipeline_handle: Pipeline::default(),
22709 base_pipeline_index: i32::default(),
22710 }
22711 }
22712}
22713
22714#[repr(C)]
22716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22717pub struct RayTracingPipelineCreateInfoNV {
22718 pub s_type: StructureType,
22719 pub next: *const c_void,
22720 pub flags: PipelineCreateFlags,
22721 pub stage_count: u32,
22722 pub stages: *const PipelineShaderStageCreateInfo,
22723 pub group_count: u32,
22724 pub groups: *const RayTracingShaderGroupCreateInfoNV,
22725 pub max_recursion_depth: u32,
22726 pub layout: PipelineLayout,
22727 pub base_pipeline_handle: Pipeline,
22728 pub base_pipeline_index: i32,
22729}
22730
22731impl Default for RayTracingPipelineCreateInfoNV {
22732 #[inline]
22733 fn default() -> Self {
22734 Self {
22735 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
22736 next: ptr::null(),
22737 flags: PipelineCreateFlags::default(),
22738 stage_count: u32::default(),
22739 stages: ptr::null(),
22740 group_count: u32::default(),
22741 groups: ptr::null(),
22742 max_recursion_depth: u32::default(),
22743 layout: PipelineLayout::default(),
22744 base_pipeline_handle: Pipeline::default(),
22745 base_pipeline_index: i32::default(),
22746 }
22747 }
22748}
22749
22750#[repr(C)]
22752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22753pub struct RayTracingPipelineInterfaceCreateInfoKHR {
22754 pub s_type: StructureType,
22755 pub next: *const c_void,
22756 pub max_pipeline_ray_payload_size: u32,
22757 pub max_pipeline_ray_hit_attribute_size: u32,
22758}
22759
22760impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
22761 #[inline]
22762 fn default() -> Self {
22763 Self {
22764 s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
22765 next: ptr::null(),
22766 max_pipeline_ray_payload_size: u32::default(),
22767 max_pipeline_ray_hit_attribute_size: u32::default(),
22768 }
22769 }
22770}
22771
22772#[repr(C)]
22774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22775pub struct RayTracingShaderGroupCreateInfoKHR {
22776 pub s_type: StructureType,
22777 pub next: *const c_void,
22778 pub type_: RayTracingShaderGroupTypeKHR,
22779 pub general_shader: u32,
22780 pub closest_hit_shader: u32,
22781 pub any_hit_shader: u32,
22782 pub intersection_shader: u32,
22783 pub shader_group_capture_replay_handle: *const c_void,
22784}
22785
22786impl Default for RayTracingShaderGroupCreateInfoKHR {
22787 #[inline]
22788 fn default() -> Self {
22789 Self {
22790 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
22791 next: ptr::null(),
22792 type_: RayTracingShaderGroupTypeKHR::default(),
22793 general_shader: u32::default(),
22794 closest_hit_shader: u32::default(),
22795 any_hit_shader: u32::default(),
22796 intersection_shader: u32::default(),
22797 shader_group_capture_replay_handle: ptr::null(),
22798 }
22799 }
22800}
22801
22802#[repr(C)]
22804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22805pub struct RayTracingShaderGroupCreateInfoNV {
22806 pub s_type: StructureType,
22807 pub next: *const c_void,
22808 pub type_: RayTracingShaderGroupTypeKHR,
22809 pub general_shader: u32,
22810 pub closest_hit_shader: u32,
22811 pub any_hit_shader: u32,
22812 pub intersection_shader: u32,
22813}
22814
22815impl Default for RayTracingShaderGroupCreateInfoNV {
22816 #[inline]
22817 fn default() -> Self {
22818 Self {
22819 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
22820 next: ptr::null(),
22821 type_: RayTracingShaderGroupTypeKHR::default(),
22822 general_shader: u32::default(),
22823 closest_hit_shader: u32::default(),
22824 any_hit_shader: u32::default(),
22825 intersection_shader: u32::default(),
22826 }
22827 }
22828}
22829
22830#[repr(C)]
22832#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22833pub struct Rect2D {
22834 pub offset: Offset2D,
22835 pub extent: Extent2D,
22836}
22837
22838#[repr(C)]
22840#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22841pub struct RectLayerKHR {
22842 pub offset: Offset2D,
22843 pub extent: Extent2D,
22844 pub layer: u32,
22845}
22846
22847#[repr(C)]
22849#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22850pub struct RefreshCycleDurationGOOGLE {
22851 pub refresh_duration: u64,
22852}
22853
22854#[repr(C)]
22856#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22857pub struct RefreshObjectKHR {
22858 pub object_type: ObjectType,
22859 pub object_handle: u64,
22860 pub flags: RefreshObjectFlagsKHR,
22861}
22862
22863#[repr(C)]
22865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22866pub struct RefreshObjectListKHR {
22867 pub s_type: StructureType,
22868 pub next: *const c_void,
22869 pub object_count: u32,
22870 pub objects: *const RefreshObjectKHR,
22871}
22872
22873impl Default for RefreshObjectListKHR {
22874 #[inline]
22875 fn default() -> Self {
22876 Self {
22877 s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
22878 next: ptr::null(),
22879 object_count: u32::default(),
22880 objects: ptr::null(),
22881 }
22882 }
22883}
22884
22885#[repr(C)]
22887#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22888pub struct ReleaseCapturedPipelineDataInfoKHR {
22889 pub s_type: StructureType,
22890 pub next: *mut c_void,
22891 pub pipeline: Pipeline,
22892}
22893
22894impl Default for ReleaseCapturedPipelineDataInfoKHR {
22895 #[inline]
22896 fn default() -> Self {
22897 Self {
22898 s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
22899 next: ptr::null_mut(),
22900 pipeline: Pipeline::default(),
22901 }
22902 }
22903}
22904
22905#[repr(C)]
22907#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22908pub struct ReleaseSwapchainImagesInfoKHR {
22909 pub s_type: StructureType,
22910 pub next: *const c_void,
22911 pub swapchain: SwapchainKHR,
22912 pub image_index_count: u32,
22913 pub image_indices: *const u32,
22914}
22915
22916impl Default for ReleaseSwapchainImagesInfoKHR {
22917 #[inline]
22918 fn default() -> Self {
22919 Self {
22920 s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
22921 next: ptr::null(),
22922 swapchain: SwapchainKHR::default(),
22923 image_index_count: u32::default(),
22924 image_indices: ptr::null(),
22925 }
22926 }
22927}
22928
22929#[repr(C)]
22931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22932pub struct RenderPassAttachmentBeginInfo {
22933 pub s_type: StructureType,
22934 pub next: *const c_void,
22935 pub attachment_count: u32,
22936 pub attachments: *const ImageView,
22937}
22938
22939impl Default for RenderPassAttachmentBeginInfo {
22940 #[inline]
22941 fn default() -> Self {
22942 Self {
22943 s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
22944 next: ptr::null(),
22945 attachment_count: u32::default(),
22946 attachments: ptr::null(),
22947 }
22948 }
22949}
22950
22951#[repr(C)]
22953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22954pub struct RenderPassBeginInfo {
22955 pub s_type: StructureType,
22956 pub next: *const c_void,
22957 pub render_pass: RenderPass,
22958 pub framebuffer: Framebuffer,
22959 pub render_area: Rect2D,
22960 pub clear_value_count: u32,
22961 pub clear_values: *const ClearValue,
22962}
22963
22964impl Default for RenderPassBeginInfo {
22965 #[inline]
22966 fn default() -> Self {
22967 Self {
22968 s_type: StructureType::RENDER_PASS_BEGIN_INFO,
22969 next: ptr::null(),
22970 render_pass: RenderPass::default(),
22971 framebuffer: Framebuffer::default(),
22972 render_area: Rect2D::default(),
22973 clear_value_count: u32::default(),
22974 clear_values: ptr::null(),
22975 }
22976 }
22977}
22978
22979#[repr(C)]
22981#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22982pub struct RenderPassCreateInfo {
22983 pub s_type: StructureType,
22984 pub next: *const c_void,
22985 pub flags: RenderPassCreateFlags,
22986 pub attachment_count: u32,
22987 pub attachments: *const AttachmentDescription,
22988 pub subpass_count: u32,
22989 pub subpasses: *const SubpassDescription,
22990 pub dependency_count: u32,
22991 pub dependencies: *const SubpassDependency,
22992}
22993
22994impl Default for RenderPassCreateInfo {
22995 #[inline]
22996 fn default() -> Self {
22997 Self {
22998 s_type: StructureType::RENDER_PASS_CREATE_INFO,
22999 next: ptr::null(),
23000 flags: RenderPassCreateFlags::default(),
23001 attachment_count: u32::default(),
23002 attachments: ptr::null(),
23003 subpass_count: u32::default(),
23004 subpasses: ptr::null(),
23005 dependency_count: u32::default(),
23006 dependencies: ptr::null(),
23007 }
23008 }
23009}
23010
23011#[repr(C)]
23013#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23014pub struct RenderPassCreateInfo2 {
23015 pub s_type: StructureType,
23016 pub next: *const c_void,
23017 pub flags: RenderPassCreateFlags,
23018 pub attachment_count: u32,
23019 pub attachments: *const AttachmentDescription2,
23020 pub subpass_count: u32,
23021 pub subpasses: *const SubpassDescription2,
23022 pub dependency_count: u32,
23023 pub dependencies: *const SubpassDependency2,
23024 pub correlated_view_mask_count: u32,
23025 pub correlated_view_masks: *const u32,
23026}
23027
23028impl Default for RenderPassCreateInfo2 {
23029 #[inline]
23030 fn default() -> Self {
23031 Self {
23032 s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
23033 next: ptr::null(),
23034 flags: RenderPassCreateFlags::default(),
23035 attachment_count: u32::default(),
23036 attachments: ptr::null(),
23037 subpass_count: u32::default(),
23038 subpasses: ptr::null(),
23039 dependency_count: u32::default(),
23040 dependencies: ptr::null(),
23041 correlated_view_mask_count: u32::default(),
23042 correlated_view_masks: ptr::null(),
23043 }
23044 }
23045}
23046
23047#[repr(C)]
23049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23050pub struct RenderPassCreationControlEXT {
23051 pub s_type: StructureType,
23052 pub next: *const c_void,
23053 pub disallow_merging: Bool32,
23054}
23055
23056impl Default for RenderPassCreationControlEXT {
23057 #[inline]
23058 fn default() -> Self {
23059 Self {
23060 s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
23061 next: ptr::null(),
23062 disallow_merging: Bool32::default(),
23063 }
23064 }
23065}
23066
23067#[repr(C)]
23069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23070pub struct RenderPassCreationFeedbackCreateInfoEXT {
23071 pub s_type: StructureType,
23072 pub next: *const c_void,
23073 pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
23074}
23075
23076impl Default for RenderPassCreationFeedbackCreateInfoEXT {
23077 #[inline]
23078 fn default() -> Self {
23079 Self {
23080 s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
23081 next: ptr::null(),
23082 render_pass_feedback: ptr::null_mut(),
23083 }
23084 }
23085}
23086
23087#[repr(C)]
23089#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23090pub struct RenderPassCreationFeedbackInfoEXT {
23091 pub post_merge_subpass_count: u32,
23092}
23093
23094#[repr(C)]
23096#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23097pub struct RenderPassFragmentDensityMapCreateInfoEXT {
23098 pub s_type: StructureType,
23099 pub next: *const c_void,
23100 pub fragment_density_map_attachment: AttachmentReference,
23101}
23102
23103impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
23104 #[inline]
23105 fn default() -> Self {
23106 Self {
23107 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
23108 next: ptr::null(),
23109 fragment_density_map_attachment: AttachmentReference::default(),
23110 }
23111 }
23112}
23113
23114#[repr(C)]
23116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23117pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
23118 pub s_type: StructureType,
23119 pub next: *const c_void,
23120 pub fragment_density_offset_count: u32,
23121 pub fragment_density_offsets: *const Offset2D,
23122}
23123
23124impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
23125 #[inline]
23126 fn default() -> Self {
23127 Self {
23128 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
23129 next: ptr::null(),
23130 fragment_density_offset_count: u32::default(),
23131 fragment_density_offsets: ptr::null(),
23132 }
23133 }
23134}
23135
23136#[repr(C)]
23138#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23139pub struct RenderPassInputAttachmentAspectCreateInfo {
23140 pub s_type: StructureType,
23141 pub next: *const c_void,
23142 pub aspect_reference_count: u32,
23143 pub aspect_references: *const InputAttachmentAspectReference,
23144}
23145
23146impl Default for RenderPassInputAttachmentAspectCreateInfo {
23147 #[inline]
23148 fn default() -> Self {
23149 Self {
23150 s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
23151 next: ptr::null(),
23152 aspect_reference_count: u32::default(),
23153 aspect_references: ptr::null(),
23154 }
23155 }
23156}
23157
23158#[repr(C)]
23160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23161pub struct RenderPassMultiviewCreateInfo {
23162 pub s_type: StructureType,
23163 pub next: *const c_void,
23164 pub subpass_count: u32,
23165 pub view_masks: *const u32,
23166 pub dependency_count: u32,
23167 pub view_offsets: *const i32,
23168 pub correlation_mask_count: u32,
23169 pub correlation_masks: *const u32,
23170}
23171
23172impl Default for RenderPassMultiviewCreateInfo {
23173 #[inline]
23174 fn default() -> Self {
23175 Self {
23176 s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
23177 next: ptr::null(),
23178 subpass_count: u32::default(),
23179 view_masks: ptr::null(),
23180 dependency_count: u32::default(),
23181 view_offsets: ptr::null(),
23182 correlation_mask_count: u32::default(),
23183 correlation_masks: ptr::null(),
23184 }
23185 }
23186}
23187
23188#[repr(C)]
23190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23191pub struct RenderPassSampleLocationsBeginInfoEXT {
23192 pub s_type: StructureType,
23193 pub next: *const c_void,
23194 pub attachment_initial_sample_locations_count: u32,
23195 pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
23196 pub post_subpass_sample_locations_count: u32,
23197 pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
23198}
23199
23200impl Default for RenderPassSampleLocationsBeginInfoEXT {
23201 #[inline]
23202 fn default() -> Self {
23203 Self {
23204 s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
23205 next: ptr::null(),
23206 attachment_initial_sample_locations_count: u32::default(),
23207 attachment_initial_sample_locations: ptr::null(),
23208 post_subpass_sample_locations_count: u32::default(),
23209 post_subpass_sample_locations: ptr::null(),
23210 }
23211 }
23212}
23213
23214#[repr(C)]
23216#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23217pub struct RenderPassStripeBeginInfoARM {
23218 pub s_type: StructureType,
23219 pub next: *const c_void,
23220 pub stripe_info_count: u32,
23221 pub stripe_infos: *const RenderPassStripeInfoARM,
23222}
23223
23224impl Default for RenderPassStripeBeginInfoARM {
23225 #[inline]
23226 fn default() -> Self {
23227 Self {
23228 s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
23229 next: ptr::null(),
23230 stripe_info_count: u32::default(),
23231 stripe_infos: ptr::null(),
23232 }
23233 }
23234}
23235
23236#[repr(C)]
23238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23239pub struct RenderPassStripeInfoARM {
23240 pub s_type: StructureType,
23241 pub next: *const c_void,
23242 pub stripe_area: Rect2D,
23243}
23244
23245impl Default for RenderPassStripeInfoARM {
23246 #[inline]
23247 fn default() -> Self {
23248 Self {
23249 s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
23250 next: ptr::null(),
23251 stripe_area: Rect2D::default(),
23252 }
23253 }
23254}
23255
23256#[repr(C)]
23258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23259pub struct RenderPassStripeSubmitInfoARM {
23260 pub s_type: StructureType,
23261 pub next: *const c_void,
23262 pub stripe_semaphore_info_count: u32,
23263 pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
23264}
23265
23266impl Default for RenderPassStripeSubmitInfoARM {
23267 #[inline]
23268 fn default() -> Self {
23269 Self {
23270 s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
23271 next: ptr::null(),
23272 stripe_semaphore_info_count: u32::default(),
23273 stripe_semaphore_infos: ptr::null(),
23274 }
23275 }
23276}
23277
23278#[repr(C)]
23280#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23281pub struct RenderPassSubpassFeedbackCreateInfoEXT {
23282 pub s_type: StructureType,
23283 pub next: *const c_void,
23284 pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
23285}
23286
23287impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
23288 #[inline]
23289 fn default() -> Self {
23290 Self {
23291 s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
23292 next: ptr::null(),
23293 subpass_feedback: ptr::null_mut(),
23294 }
23295 }
23296}
23297
23298#[repr(C)]
23300#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23301pub struct RenderPassSubpassFeedbackInfoEXT {
23302 pub subpass_merge_status: SubpassMergeStatusEXT,
23303 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
23304 pub post_merge_index: u32,
23305}
23306
23307#[repr(C)]
23309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23310pub struct RenderPassTileShadingCreateInfoQCOM {
23311 pub s_type: StructureType,
23312 pub next: *const c_void,
23313 pub flags: TileShadingRenderPassFlagsQCOM,
23314 pub tile_apron_size: Extent2D,
23315}
23316
23317impl Default for RenderPassTileShadingCreateInfoQCOM {
23318 #[inline]
23319 fn default() -> Self {
23320 Self {
23321 s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
23322 next: ptr::null(),
23323 flags: TileShadingRenderPassFlagsQCOM::default(),
23324 tile_apron_size: Extent2D::default(),
23325 }
23326 }
23327}
23328
23329#[repr(C)]
23331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23332pub struct RenderPassTransformBeginInfoQCOM {
23333 pub s_type: StructureType,
23334 pub next: *const c_void,
23335 pub transform: SurfaceTransformFlagsKHR,
23336}
23337
23338impl Default for RenderPassTransformBeginInfoQCOM {
23339 #[inline]
23340 fn default() -> Self {
23341 Self {
23342 s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
23343 next: ptr::null(),
23344 transform: SurfaceTransformFlagsKHR::default(),
23345 }
23346 }
23347}
23348
23349#[repr(C)]
23351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23352pub struct RenderingAreaInfo {
23353 pub s_type: StructureType,
23354 pub next: *const c_void,
23355 pub view_mask: u32,
23356 pub color_attachment_count: u32,
23357 pub color_attachment_formats: *const Format,
23358 pub depth_attachment_format: Format,
23359 pub stencil_attachment_format: Format,
23360}
23361
23362impl Default for RenderingAreaInfo {
23363 #[inline]
23364 fn default() -> Self {
23365 Self {
23366 s_type: StructureType::RENDERING_AREA_INFO,
23367 next: ptr::null(),
23368 view_mask: u32::default(),
23369 color_attachment_count: u32::default(),
23370 color_attachment_formats: ptr::null(),
23371 depth_attachment_format: Format::default(),
23372 stencil_attachment_format: Format::default(),
23373 }
23374 }
23375}
23376
23377#[repr(C)]
23379#[derive(Copy, Clone, Debug)]
23380pub struct RenderingAttachmentInfo {
23381 pub s_type: StructureType,
23382 pub next: *const c_void,
23383 pub image_view: ImageView,
23384 pub image_layout: ImageLayout,
23385 pub resolve_mode: ResolveModeFlags,
23386 pub resolve_image_view: ImageView,
23387 pub resolve_image_layout: ImageLayout,
23388 pub load_op: AttachmentLoadOp,
23389 pub store_op: AttachmentStoreOp,
23390 pub clear_value: ClearValue,
23391}
23392
23393impl Default for RenderingAttachmentInfo {
23394 #[inline]
23395 fn default() -> Self {
23396 Self {
23397 s_type: StructureType::RENDERING_ATTACHMENT_INFO,
23398 next: ptr::null(),
23399 image_view: ImageView::default(),
23400 image_layout: ImageLayout::default(),
23401 resolve_mode: ResolveModeFlags::default(),
23402 resolve_image_view: ImageView::default(),
23403 resolve_image_layout: ImageLayout::default(),
23404 load_op: AttachmentLoadOp::default(),
23405 store_op: AttachmentStoreOp::default(),
23406 clear_value: ClearValue::default(),
23407 }
23408 }
23409}
23410
23411#[repr(C)]
23413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23414pub struct RenderingAttachmentLocationInfo {
23415 pub s_type: StructureType,
23416 pub next: *const c_void,
23417 pub color_attachment_count: u32,
23418 pub color_attachment_locations: *const u32,
23419}
23420
23421impl Default for RenderingAttachmentLocationInfo {
23422 #[inline]
23423 fn default() -> Self {
23424 Self {
23425 s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
23426 next: ptr::null(),
23427 color_attachment_count: u32::default(),
23428 color_attachment_locations: ptr::null(),
23429 }
23430 }
23431}
23432
23433#[repr(C)]
23435#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23436pub struct RenderingEndInfoEXT {
23437 pub s_type: StructureType,
23438 pub next: *const c_void,
23439}
23440
23441impl Default for RenderingEndInfoEXT {
23442 #[inline]
23443 fn default() -> Self {
23444 Self {
23445 s_type: StructureType::RENDERING_END_INFO_EXT,
23446 next: ptr::null(),
23447 }
23448 }
23449}
23450
23451#[repr(C)]
23453#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23454pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
23455 pub s_type: StructureType,
23456 pub next: *const c_void,
23457 pub image_view: ImageView,
23458 pub image_layout: ImageLayout,
23459}
23460
23461impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
23462 #[inline]
23463 fn default() -> Self {
23464 Self {
23465 s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
23466 next: ptr::null(),
23467 image_view: ImageView::default(),
23468 image_layout: ImageLayout::default(),
23469 }
23470 }
23471}
23472
23473#[repr(C)]
23475#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23476pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
23477 pub s_type: StructureType,
23478 pub next: *const c_void,
23479 pub image_view: ImageView,
23480 pub image_layout: ImageLayout,
23481 pub shading_rate_attachment_texel_size: Extent2D,
23482}
23483
23484impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
23485 #[inline]
23486 fn default() -> Self {
23487 Self {
23488 s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
23489 next: ptr::null(),
23490 image_view: ImageView::default(),
23491 image_layout: ImageLayout::default(),
23492 shading_rate_attachment_texel_size: Extent2D::default(),
23493 }
23494 }
23495}
23496
23497#[repr(C)]
23499#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23500pub struct RenderingInfo {
23501 pub s_type: StructureType,
23502 pub next: *const c_void,
23503 pub flags: RenderingFlags,
23504 pub render_area: Rect2D,
23505 pub layer_count: u32,
23506 pub view_mask: u32,
23507 pub color_attachment_count: u32,
23508 pub color_attachments: *const RenderingAttachmentInfo,
23509 pub depth_attachment: *const RenderingAttachmentInfo,
23510 pub stencil_attachment: *const RenderingAttachmentInfo,
23511}
23512
23513impl Default for RenderingInfo {
23514 #[inline]
23515 fn default() -> Self {
23516 Self {
23517 s_type: StructureType::RENDERING_INFO,
23518 next: ptr::null(),
23519 flags: RenderingFlags::default(),
23520 render_area: Rect2D::default(),
23521 layer_count: u32::default(),
23522 view_mask: u32::default(),
23523 color_attachment_count: u32::default(),
23524 color_attachments: ptr::null(),
23525 depth_attachment: ptr::null(),
23526 stencil_attachment: ptr::null(),
23527 }
23528 }
23529}
23530
23531#[repr(C)]
23533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23534pub struct RenderingInputAttachmentIndexInfo {
23535 pub s_type: StructureType,
23536 pub next: *const c_void,
23537 pub color_attachment_count: u32,
23538 pub color_attachment_input_indices: *const u32,
23539 pub depth_input_attachment_index: *const u32,
23540 pub stencil_input_attachment_index: *const u32,
23541}
23542
23543impl Default for RenderingInputAttachmentIndexInfo {
23544 #[inline]
23545 fn default() -> Self {
23546 Self {
23547 s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
23548 next: ptr::null(),
23549 color_attachment_count: u32::default(),
23550 color_attachment_input_indices: ptr::null(),
23551 depth_input_attachment_index: ptr::null(),
23552 stencil_input_attachment_index: ptr::null(),
23553 }
23554 }
23555}
23556
23557#[repr(C)]
23559#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23560pub struct ResolveImageInfo2 {
23561 pub s_type: StructureType,
23562 pub next: *const c_void,
23563 pub src_image: Image,
23564 pub src_image_layout: ImageLayout,
23565 pub dst_image: Image,
23566 pub dst_image_layout: ImageLayout,
23567 pub region_count: u32,
23568 pub regions: *const ImageResolve2,
23569}
23570
23571impl Default for ResolveImageInfo2 {
23572 #[inline]
23573 fn default() -> Self {
23574 Self {
23575 s_type: StructureType::RESOLVE_IMAGE_INFO_2,
23576 next: ptr::null(),
23577 src_image: Image::default(),
23578 src_image_layout: ImageLayout::default(),
23579 dst_image: Image::default(),
23580 dst_image_layout: ImageLayout::default(),
23581 region_count: u32::default(),
23582 regions: ptr::null(),
23583 }
23584 }
23585}
23586
23587#[repr(C)]
23589#[derive(Copy, Clone, Default, Debug, PartialEq)]
23590pub struct SRTDataNV {
23591 pub sx: f32,
23592 pub a: f32,
23593 pub b: f32,
23594 pub pvx: f32,
23595 pub sy: f32,
23596 pub c: f32,
23597 pub pvy: f32,
23598 pub sz: f32,
23599 pub pvz: f32,
23600 pub qx: f32,
23601 pub qy: f32,
23602 pub qz: f32,
23603 pub qw: f32,
23604 pub tx: f32,
23605 pub ty: f32,
23606 pub tz: f32,
23607}
23608
23609#[repr(C)]
23611#[derive(Copy, Clone, Default, Debug, PartialEq)]
23612pub struct SampleLocationEXT {
23613 pub x: f32,
23614 pub y: f32,
23615}
23616
23617#[repr(C)]
23619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23620pub struct SampleLocationsInfoEXT {
23621 pub s_type: StructureType,
23622 pub next: *const c_void,
23623 pub sample_locations_per_pixel: SampleCountFlags,
23624 pub sample_location_grid_size: Extent2D,
23625 pub sample_locations_count: u32,
23626 pub sample_locations: *const SampleLocationEXT,
23627}
23628
23629impl Default for SampleLocationsInfoEXT {
23630 #[inline]
23631 fn default() -> Self {
23632 Self {
23633 s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
23634 next: ptr::null(),
23635 sample_locations_per_pixel: SampleCountFlags::default(),
23636 sample_location_grid_size: Extent2D::default(),
23637 sample_locations_count: u32::default(),
23638 sample_locations: ptr::null(),
23639 }
23640 }
23641}
23642
23643#[repr(C)]
23645#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23646pub struct SamplerBlockMatchWindowCreateInfoQCOM {
23647 pub s_type: StructureType,
23648 pub next: *const c_void,
23649 pub window_extent: Extent2D,
23650 pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
23651}
23652
23653impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
23654 #[inline]
23655 fn default() -> Self {
23656 Self {
23657 s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
23658 next: ptr::null(),
23659 window_extent: Extent2D::default(),
23660 window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
23661 }
23662 }
23663}
23664
23665#[repr(C)]
23667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23668pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
23669 pub s_type: StructureType,
23670 pub next: *const c_void,
23671 pub components: ComponentMapping,
23672 pub srgb: Bool32,
23673}
23674
23675impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
23676 #[inline]
23677 fn default() -> Self {
23678 Self {
23679 s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
23680 next: ptr::null(),
23681 components: ComponentMapping::default(),
23682 srgb: Bool32::default(),
23683 }
23684 }
23685}
23686
23687#[repr(C)]
23689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23690pub struct SamplerCaptureDescriptorDataInfoEXT {
23691 pub s_type: StructureType,
23692 pub next: *const c_void,
23693 pub sampler: Sampler,
23694}
23695
23696impl Default for SamplerCaptureDescriptorDataInfoEXT {
23697 #[inline]
23698 fn default() -> Self {
23699 Self {
23700 s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
23701 next: ptr::null(),
23702 sampler: Sampler::default(),
23703 }
23704 }
23705}
23706
23707#[repr(C)]
23709#[derive(Copy, Clone, Debug, PartialEq)]
23710pub struct SamplerCreateInfo {
23711 pub s_type: StructureType,
23712 pub next: *const c_void,
23713 pub flags: SamplerCreateFlags,
23714 pub mag_filter: Filter,
23715 pub min_filter: Filter,
23716 pub mipmap_mode: SamplerMipmapMode,
23717 pub address_mode_u: SamplerAddressMode,
23718 pub address_mode_v: SamplerAddressMode,
23719 pub address_mode_w: SamplerAddressMode,
23720 pub mip_lod_bias: f32,
23721 pub anisotropy_enable: Bool32,
23722 pub max_anisotropy: f32,
23723 pub compare_enable: Bool32,
23724 pub compare_op: CompareOp,
23725 pub min_lod: f32,
23726 pub max_lod: f32,
23727 pub border_color: BorderColor,
23728 pub unnormalized_coordinates: Bool32,
23729}
23730
23731impl Default for SamplerCreateInfo {
23732 #[inline]
23733 fn default() -> Self {
23734 Self {
23735 s_type: StructureType::SAMPLER_CREATE_INFO,
23736 next: ptr::null(),
23737 flags: SamplerCreateFlags::default(),
23738 mag_filter: Filter::default(),
23739 min_filter: Filter::default(),
23740 mipmap_mode: SamplerMipmapMode::default(),
23741 address_mode_u: SamplerAddressMode::default(),
23742 address_mode_v: SamplerAddressMode::default(),
23743 address_mode_w: SamplerAddressMode::default(),
23744 mip_lod_bias: f32::default(),
23745 anisotropy_enable: Bool32::default(),
23746 max_anisotropy: f32::default(),
23747 compare_enable: Bool32::default(),
23748 compare_op: CompareOp::default(),
23749 min_lod: f32::default(),
23750 max_lod: f32::default(),
23751 border_color: BorderColor::default(),
23752 unnormalized_coordinates: Bool32::default(),
23753 }
23754 }
23755}
23756
23757#[repr(C)]
23759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23760pub struct SamplerCubicWeightsCreateInfoQCOM {
23761 pub s_type: StructureType,
23762 pub next: *const c_void,
23763 pub cubic_weights: CubicFilterWeightsQCOM,
23764}
23765
23766impl Default for SamplerCubicWeightsCreateInfoQCOM {
23767 #[inline]
23768 fn default() -> Self {
23769 Self {
23770 s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
23771 next: ptr::null(),
23772 cubic_weights: CubicFilterWeightsQCOM::default(),
23773 }
23774 }
23775}
23776
23777#[repr(C)]
23779#[derive(Copy, Clone, Debug)]
23780pub struct SamplerCustomBorderColorCreateInfoEXT {
23781 pub s_type: StructureType,
23782 pub next: *const c_void,
23783 pub custom_border_color: ClearColorValue,
23784 pub format: Format,
23785}
23786
23787impl Default for SamplerCustomBorderColorCreateInfoEXT {
23788 #[inline]
23789 fn default() -> Self {
23790 Self {
23791 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
23792 next: ptr::null(),
23793 custom_border_color: ClearColorValue::default(),
23794 format: Format::default(),
23795 }
23796 }
23797}
23798
23799#[repr(C)]
23801#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23802pub struct SamplerReductionModeCreateInfo {
23803 pub s_type: StructureType,
23804 pub next: *const c_void,
23805 pub reduction_mode: SamplerReductionMode,
23806}
23807
23808impl Default for SamplerReductionModeCreateInfo {
23809 #[inline]
23810 fn default() -> Self {
23811 Self {
23812 s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
23813 next: ptr::null(),
23814 reduction_mode: SamplerReductionMode::default(),
23815 }
23816 }
23817}
23818
23819#[repr(C)]
23821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23822pub struct SamplerYcbcrConversionCreateInfo {
23823 pub s_type: StructureType,
23824 pub next: *const c_void,
23825 pub format: Format,
23826 pub ycbcr_model: SamplerYcbcrModelConversion,
23827 pub ycbcr_range: SamplerYcbcrRange,
23828 pub components: ComponentMapping,
23829 pub x_chroma_offset: ChromaLocation,
23830 pub y_chroma_offset: ChromaLocation,
23831 pub chroma_filter: Filter,
23832 pub force_explicit_reconstruction: Bool32,
23833}
23834
23835impl Default for SamplerYcbcrConversionCreateInfo {
23836 #[inline]
23837 fn default() -> Self {
23838 Self {
23839 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
23840 next: ptr::null(),
23841 format: Format::default(),
23842 ycbcr_model: SamplerYcbcrModelConversion::default(),
23843 ycbcr_range: SamplerYcbcrRange::default(),
23844 components: ComponentMapping::default(),
23845 x_chroma_offset: ChromaLocation::default(),
23846 y_chroma_offset: ChromaLocation::default(),
23847 chroma_filter: Filter::default(),
23848 force_explicit_reconstruction: Bool32::default(),
23849 }
23850 }
23851}
23852
23853#[repr(C)]
23855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23856pub struct SamplerYcbcrConversionImageFormatProperties {
23857 pub s_type: StructureType,
23858 pub next: *mut c_void,
23859 pub combined_image_sampler_descriptor_count: u32,
23860}
23861
23862impl Default for SamplerYcbcrConversionImageFormatProperties {
23863 #[inline]
23864 fn default() -> Self {
23865 Self {
23866 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
23867 next: ptr::null_mut(),
23868 combined_image_sampler_descriptor_count: u32::default(),
23869 }
23870 }
23871}
23872
23873#[repr(C)]
23875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23876pub struct SamplerYcbcrConversionInfo {
23877 pub s_type: StructureType,
23878 pub next: *const c_void,
23879 pub conversion: SamplerYcbcrConversion,
23880}
23881
23882impl Default for SamplerYcbcrConversionInfo {
23883 #[inline]
23884 fn default() -> Self {
23885 Self {
23886 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
23887 next: ptr::null(),
23888 conversion: SamplerYcbcrConversion::default(),
23889 }
23890 }
23891}
23892
23893#[repr(C)]
23895#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23896pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
23897 pub s_type: StructureType,
23898 pub next: *mut c_void,
23899 pub enable_y_degamma: Bool32,
23900 pub enable_cb_cr_degamma: Bool32,
23901}
23902
23903impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
23904 #[inline]
23905 fn default() -> Self {
23906 Self {
23907 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
23908 next: ptr::null_mut(),
23909 enable_y_degamma: Bool32::default(),
23910 enable_cb_cr_degamma: Bool32::default(),
23911 }
23912 }
23913}
23914
23915#[repr(C)]
23917#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23918pub struct SciSyncAttributesInfoNV {
23919 pub s_type: StructureType,
23920 pub next: *const c_void,
23921 pub client_type: SciSyncClientTypeNV,
23922 pub primitive_type: SciSyncPrimitiveTypeNV,
23923}
23924
23925impl Default for SciSyncAttributesInfoNV {
23926 #[inline]
23927 fn default() -> Self {
23928 Self {
23929 s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
23930 next: ptr::null(),
23931 client_type: SciSyncClientTypeNV::default(),
23932 primitive_type: SciSyncPrimitiveTypeNV::default(),
23933 }
23934 }
23935}
23936
23937#[repr(C)]
23939#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23940pub struct ScreenBufferFormatPropertiesQNX {
23941 pub s_type: StructureType,
23942 pub next: *mut c_void,
23943 pub format: Format,
23944 pub external_format: u64,
23945 pub screen_usage: u64,
23946 pub format_features: FormatFeatureFlags,
23947 pub sampler_ycbcr_conversion_components: ComponentMapping,
23948 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
23949 pub suggested_ycbcr_range: SamplerYcbcrRange,
23950 pub suggested_x_chroma_offset: ChromaLocation,
23951 pub suggested_y_chroma_offset: ChromaLocation,
23952}
23953
23954impl Default for ScreenBufferFormatPropertiesQNX {
23955 #[inline]
23956 fn default() -> Self {
23957 Self {
23958 s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
23959 next: ptr::null_mut(),
23960 format: Format::default(),
23961 external_format: u64::default(),
23962 screen_usage: u64::default(),
23963 format_features: FormatFeatureFlags::default(),
23964 sampler_ycbcr_conversion_components: ComponentMapping::default(),
23965 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
23966 suggested_ycbcr_range: SamplerYcbcrRange::default(),
23967 suggested_x_chroma_offset: ChromaLocation::default(),
23968 suggested_y_chroma_offset: ChromaLocation::default(),
23969 }
23970 }
23971}
23972
23973#[repr(C)]
23975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23976pub struct ScreenBufferPropertiesQNX {
23977 pub s_type: StructureType,
23978 pub next: *mut c_void,
23979 pub allocation_size: DeviceSize,
23980 pub memory_type_bits: u32,
23981}
23982
23983impl Default for ScreenBufferPropertiesQNX {
23984 #[inline]
23985 fn default() -> Self {
23986 Self {
23987 s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
23988 next: ptr::null_mut(),
23989 allocation_size: DeviceSize::default(),
23990 memory_type_bits: u32::default(),
23991 }
23992 }
23993}
23994
23995#[repr(C)]
23997#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23998pub struct ScreenSurfaceCreateInfoQNX {
23999 pub s_type: StructureType,
24000 pub next: *const c_void,
24001 pub flags: ScreenSurfaceCreateFlagsQNX,
24002 pub context: *mut _screen_context,
24003 pub window: *mut _screen_window,
24004}
24005
24006impl Default for ScreenSurfaceCreateInfoQNX {
24007 #[inline]
24008 fn default() -> Self {
24009 Self {
24010 s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
24011 next: ptr::null(),
24012 flags: ScreenSurfaceCreateFlagsQNX::default(),
24013 context: ptr::null_mut(),
24014 window: ptr::null_mut(),
24015 }
24016 }
24017}
24018
24019#[repr(C)]
24021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24022pub struct SemaphoreCreateInfo {
24023 pub s_type: StructureType,
24024 pub next: *const c_void,
24025 pub flags: SemaphoreCreateFlags,
24026}
24027
24028impl Default for SemaphoreCreateInfo {
24029 #[inline]
24030 fn default() -> Self {
24031 Self {
24032 s_type: StructureType::SEMAPHORE_CREATE_INFO,
24033 next: ptr::null(),
24034 flags: SemaphoreCreateFlags::default(),
24035 }
24036 }
24037}
24038
24039#[repr(C)]
24041#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24042pub struct SemaphoreGetFdInfoKHR {
24043 pub s_type: StructureType,
24044 pub next: *const c_void,
24045 pub semaphore: Semaphore,
24046 pub handle_type: ExternalSemaphoreHandleTypeFlags,
24047}
24048
24049impl Default for SemaphoreGetFdInfoKHR {
24050 #[inline]
24051 fn default() -> Self {
24052 Self {
24053 s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
24054 next: ptr::null(),
24055 semaphore: Semaphore::default(),
24056 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
24057 }
24058 }
24059}
24060
24061#[repr(C)]
24063#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24064pub struct SemaphoreGetSciSyncInfoNV {
24065 pub s_type: StructureType,
24066 pub next: *const c_void,
24067 pub semaphore: Semaphore,
24068 pub handle_type: ExternalSemaphoreHandleTypeFlags,
24069}
24070
24071impl Default for SemaphoreGetSciSyncInfoNV {
24072 #[inline]
24073 fn default() -> Self {
24074 Self {
24075 s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
24076 next: ptr::null(),
24077 semaphore: Semaphore::default(),
24078 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
24079 }
24080 }
24081}
24082
24083#[repr(C)]
24085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24086pub struct SemaphoreGetWin32HandleInfoKHR {
24087 pub s_type: StructureType,
24088 pub next: *const c_void,
24089 pub semaphore: Semaphore,
24090 pub handle_type: ExternalSemaphoreHandleTypeFlags,
24091}
24092
24093impl Default for SemaphoreGetWin32HandleInfoKHR {
24094 #[inline]
24095 fn default() -> Self {
24096 Self {
24097 s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
24098 next: ptr::null(),
24099 semaphore: Semaphore::default(),
24100 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
24101 }
24102 }
24103}
24104
24105#[repr(C)]
24107#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24108pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
24109 pub s_type: StructureType,
24110 pub next: *const c_void,
24111 pub semaphore: Semaphore,
24112 pub handle_type: ExternalSemaphoreHandleTypeFlags,
24113}
24114
24115impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
24116 #[inline]
24117 fn default() -> Self {
24118 Self {
24119 s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
24120 next: ptr::null(),
24121 semaphore: Semaphore::default(),
24122 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
24123 }
24124 }
24125}
24126
24127#[repr(C)]
24129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24130pub struct SemaphoreSciSyncCreateInfoNV {
24131 pub s_type: StructureType,
24132 pub next: *const c_void,
24133 pub semaphore_pool: SemaphoreSciSyncPoolNV,
24134 pub fence: *const NvSciSyncFence,
24135}
24136
24137impl Default for SemaphoreSciSyncCreateInfoNV {
24138 #[inline]
24139 fn default() -> Self {
24140 Self {
24141 s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
24142 next: ptr::null(),
24143 semaphore_pool: SemaphoreSciSyncPoolNV::default(),
24144 fence: ptr::null(),
24145 }
24146 }
24147}
24148
24149#[repr(C)]
24151#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24152pub struct SemaphoreSciSyncPoolCreateInfoNV {
24153 pub s_type: StructureType,
24154 pub next: *const c_void,
24155 pub handle: NvSciSyncObj,
24156}
24157
24158impl Default for SemaphoreSciSyncPoolCreateInfoNV {
24159 #[inline]
24160 fn default() -> Self {
24161 Self {
24162 s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
24163 next: ptr::null(),
24164 handle: ptr::null_mut(),
24165 }
24166 }
24167}
24168
24169#[repr(C)]
24171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24172pub struct SemaphoreSignalInfo {
24173 pub s_type: StructureType,
24174 pub next: *const c_void,
24175 pub semaphore: Semaphore,
24176 pub value: u64,
24177}
24178
24179impl Default for SemaphoreSignalInfo {
24180 #[inline]
24181 fn default() -> Self {
24182 Self {
24183 s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
24184 next: ptr::null(),
24185 semaphore: Semaphore::default(),
24186 value: u64::default(),
24187 }
24188 }
24189}
24190
24191#[repr(C)]
24193#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24194pub struct SemaphoreSubmitInfo {
24195 pub s_type: StructureType,
24196 pub next: *const c_void,
24197 pub semaphore: Semaphore,
24198 pub value: u64,
24199 pub stage_mask: PipelineStageFlags2,
24200 pub device_index: u32,
24201}
24202
24203impl Default for SemaphoreSubmitInfo {
24204 #[inline]
24205 fn default() -> Self {
24206 Self {
24207 s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
24208 next: ptr::null(),
24209 semaphore: Semaphore::default(),
24210 value: u64::default(),
24211 stage_mask: PipelineStageFlags2::default(),
24212 device_index: u32::default(),
24213 }
24214 }
24215}
24216
24217#[repr(C)]
24219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24220pub struct SemaphoreTypeCreateInfo {
24221 pub s_type: StructureType,
24222 pub next: *const c_void,
24223 pub semaphore_type: SemaphoreType,
24224 pub initial_value: u64,
24225}
24226
24227impl Default for SemaphoreTypeCreateInfo {
24228 #[inline]
24229 fn default() -> Self {
24230 Self {
24231 s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
24232 next: ptr::null(),
24233 semaphore_type: SemaphoreType::default(),
24234 initial_value: u64::default(),
24235 }
24236 }
24237}
24238
24239#[repr(C)]
24241#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24242pub struct SemaphoreWaitInfo {
24243 pub s_type: StructureType,
24244 pub next: *const c_void,
24245 pub flags: SemaphoreWaitFlags,
24246 pub semaphore_count: u32,
24247 pub semaphores: *const Semaphore,
24248 pub values: *const u64,
24249}
24250
24251impl Default for SemaphoreWaitInfo {
24252 #[inline]
24253 fn default() -> Self {
24254 Self {
24255 s_type: StructureType::SEMAPHORE_WAIT_INFO,
24256 next: ptr::null(),
24257 flags: SemaphoreWaitFlags::default(),
24258 semaphore_count: u32::default(),
24259 semaphores: ptr::null(),
24260 values: ptr::null(),
24261 }
24262 }
24263}
24264
24265#[repr(C)]
24267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24268pub struct SetDescriptorBufferOffsetsInfoEXT {
24269 pub s_type: StructureType,
24270 pub next: *const c_void,
24271 pub stage_flags: ShaderStageFlags,
24272 pub layout: PipelineLayout,
24273 pub first_set: u32,
24274 pub set_count: u32,
24275 pub buffer_indices: *const u32,
24276 pub offsets: *const DeviceSize,
24277}
24278
24279impl Default for SetDescriptorBufferOffsetsInfoEXT {
24280 #[inline]
24281 fn default() -> Self {
24282 Self {
24283 s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
24284 next: ptr::null(),
24285 stage_flags: ShaderStageFlags::default(),
24286 layout: PipelineLayout::default(),
24287 first_set: u32::default(),
24288 set_count: u32::default(),
24289 buffer_indices: ptr::null(),
24290 offsets: ptr::null(),
24291 }
24292 }
24293}
24294
24295#[repr(C)]
24297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24298pub struct SetLatencyMarkerInfoNV {
24299 pub s_type: StructureType,
24300 pub next: *const c_void,
24301 pub present_id: u64,
24302 pub marker: LatencyMarkerNV,
24303}
24304
24305impl Default for SetLatencyMarkerInfoNV {
24306 #[inline]
24307 fn default() -> Self {
24308 Self {
24309 s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
24310 next: ptr::null(),
24311 present_id: u64::default(),
24312 marker: LatencyMarkerNV::default(),
24313 }
24314 }
24315}
24316
24317#[repr(C)]
24319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24320pub struct SetPresentConfigNV {
24321 pub s_type: StructureType,
24322 pub next: *const c_void,
24323 pub num_frames_per_batch: u32,
24324 pub present_config_feedback: u32,
24325}
24326
24327impl Default for SetPresentConfigNV {
24328 #[inline]
24329 fn default() -> Self {
24330 Self {
24331 s_type: StructureType::SET_PRESENT_CONFIG_NV,
24332 next: ptr::null(),
24333 num_frames_per_batch: u32::default(),
24334 present_config_feedback: u32::default(),
24335 }
24336 }
24337}
24338
24339#[repr(C)]
24341#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24342pub struct SetStateFlagsIndirectCommandNV {
24343 pub data: u32,
24344}
24345
24346#[repr(C)]
24348#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24349pub struct ShaderCreateInfoEXT {
24350 pub s_type: StructureType,
24351 pub next: *const c_void,
24352 pub flags: ShaderCreateFlagsEXT,
24353 pub stage: ShaderStageFlags,
24354 pub next_stage: ShaderStageFlags,
24355 pub code_type: ShaderCodeTypeEXT,
24356 pub code_size: usize,
24357 pub code: *const c_void,
24358 pub name: *const c_char,
24359 pub set_layout_count: u32,
24360 pub set_layouts: *const DescriptorSetLayout,
24361 pub push_constant_range_count: u32,
24362 pub push_constant_ranges: *const PushConstantRange,
24363 pub specialization_info: *const SpecializationInfo,
24364}
24365
24366impl Default for ShaderCreateInfoEXT {
24367 #[inline]
24368 fn default() -> Self {
24369 Self {
24370 s_type: StructureType::SHADER_CREATE_INFO_EXT,
24371 next: ptr::null(),
24372 flags: ShaderCreateFlagsEXT::default(),
24373 stage: ShaderStageFlags::default(),
24374 next_stage: ShaderStageFlags::default(),
24375 code_type: ShaderCodeTypeEXT::default(),
24376 code_size: usize::default(),
24377 code: ptr::null(),
24378 name: ptr::null(),
24379 set_layout_count: u32::default(),
24380 set_layouts: ptr::null(),
24381 push_constant_range_count: u32::default(),
24382 push_constant_ranges: ptr::null(),
24383 specialization_info: ptr::null(),
24384 }
24385 }
24386}
24387
24388#[repr(C)]
24390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24391pub struct ShaderModuleCreateInfo {
24392 pub s_type: StructureType,
24393 pub next: *const c_void,
24394 pub flags: ShaderModuleCreateFlags,
24395 pub code_size: usize,
24396 pub code: *const u32,
24397}
24398
24399impl Default for ShaderModuleCreateInfo {
24400 #[inline]
24401 fn default() -> Self {
24402 Self {
24403 s_type: StructureType::SHADER_MODULE_CREATE_INFO,
24404 next: ptr::null(),
24405 flags: ShaderModuleCreateFlags::default(),
24406 code_size: usize::default(),
24407 code: ptr::null(),
24408 }
24409 }
24410}
24411
24412#[repr(C)]
24414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24415pub struct ShaderModuleIdentifierEXT {
24416 pub s_type: StructureType,
24417 pub next: *mut c_void,
24418 pub identifier_size: u32,
24419 pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
24420}
24421
24422impl Default for ShaderModuleIdentifierEXT {
24423 #[inline]
24424 fn default() -> Self {
24425 Self {
24426 s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
24427 next: ptr::null_mut(),
24428 identifier_size: u32::default(),
24429 identifier: ByteArray::default(),
24430 }
24431 }
24432}
24433
24434#[repr(C)]
24436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24437pub struct ShaderModuleValidationCacheCreateInfoEXT {
24438 pub s_type: StructureType,
24439 pub next: *const c_void,
24440 pub validation_cache: ValidationCacheEXT,
24441}
24442
24443impl Default for ShaderModuleValidationCacheCreateInfoEXT {
24444 #[inline]
24445 fn default() -> Self {
24446 Self {
24447 s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
24448 next: ptr::null(),
24449 validation_cache: ValidationCacheEXT::default(),
24450 }
24451 }
24452}
24453
24454#[repr(C)]
24456#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24457pub struct ShaderResourceUsageAMD {
24458 pub num_used_vgprs: u32,
24459 pub num_used_sgprs: u32,
24460 pub lds_size_per_local_work_group: u32,
24461 pub lds_usage_size_in_bytes: usize,
24462 pub scratch_mem_usage_in_bytes: usize,
24463}
24464
24465#[repr(C)]
24467#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24468pub struct ShaderStatisticsInfoAMD {
24469 pub shader_stage_mask: ShaderStageFlags,
24470 pub resource_usage: ShaderResourceUsageAMD,
24471 pub num_physical_vgprs: u32,
24472 pub num_physical_sgprs: u32,
24473 pub num_available_vgprs: u32,
24474 pub num_available_sgprs: u32,
24475 pub compute_work_group_size: [u32; 3],
24476}
24477
24478#[repr(C)]
24480#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24481pub struct ShadingRatePaletteNV {
24482 pub shading_rate_palette_entry_count: u32,
24483 pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
24484}
24485
24486impl Default for ShadingRatePaletteNV {
24487 #[inline]
24488 fn default() -> Self {
24489 Self {
24490 shading_rate_palette_entry_count: u32::default(),
24491 shading_rate_palette_entries: ptr::null(),
24492 }
24493 }
24494}
24495
24496#[repr(C)]
24498#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24499pub struct SharedPresentSurfaceCapabilitiesKHR {
24500 pub s_type: StructureType,
24501 pub next: *mut c_void,
24502 pub shared_present_supported_usage_flags: ImageUsageFlags,
24503}
24504
24505impl Default for SharedPresentSurfaceCapabilitiesKHR {
24506 #[inline]
24507 fn default() -> Self {
24508 Self {
24509 s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
24510 next: ptr::null_mut(),
24511 shared_present_supported_usage_flags: ImageUsageFlags::default(),
24512 }
24513 }
24514}
24515
24516#[repr(C)]
24518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24519pub struct SparseBufferMemoryBindInfo {
24520 pub buffer: Buffer,
24521 pub bind_count: u32,
24522 pub binds: *const SparseMemoryBind,
24523}
24524
24525impl Default for SparseBufferMemoryBindInfo {
24526 #[inline]
24527 fn default() -> Self {
24528 Self {
24529 buffer: Buffer::default(),
24530 bind_count: u32::default(),
24531 binds: ptr::null(),
24532 }
24533 }
24534}
24535
24536#[repr(C)]
24538#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24539pub struct SparseImageFormatProperties {
24540 pub aspect_mask: ImageAspectFlags,
24541 pub image_granularity: Extent3D,
24542 pub flags: SparseImageFormatFlags,
24543}
24544
24545#[repr(C)]
24547#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24548pub struct SparseImageFormatProperties2 {
24549 pub s_type: StructureType,
24550 pub next: *mut c_void,
24551 pub properties: SparseImageFormatProperties,
24552}
24553
24554impl Default for SparseImageFormatProperties2 {
24555 #[inline]
24556 fn default() -> Self {
24557 Self {
24558 s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
24559 next: ptr::null_mut(),
24560 properties: SparseImageFormatProperties::default(),
24561 }
24562 }
24563}
24564
24565#[repr(C)]
24567#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24568pub struct SparseImageMemoryBind {
24569 pub subresource: ImageSubresource,
24570 pub offset: Offset3D,
24571 pub extent: Extent3D,
24572 pub memory: DeviceMemory,
24573 pub memory_offset: DeviceSize,
24574 pub flags: SparseMemoryBindFlags,
24575}
24576
24577#[repr(C)]
24579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24580pub struct SparseImageMemoryBindInfo {
24581 pub image: Image,
24582 pub bind_count: u32,
24583 pub binds: *const SparseImageMemoryBind,
24584}
24585
24586impl Default for SparseImageMemoryBindInfo {
24587 #[inline]
24588 fn default() -> Self {
24589 Self {
24590 image: Image::default(),
24591 bind_count: u32::default(),
24592 binds: ptr::null(),
24593 }
24594 }
24595}
24596
24597#[repr(C)]
24599#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24600pub struct SparseImageMemoryRequirements {
24601 pub format_properties: SparseImageFormatProperties,
24602 pub image_mip_tail_first_lod: u32,
24603 pub image_mip_tail_size: DeviceSize,
24604 pub image_mip_tail_offset: DeviceSize,
24605 pub image_mip_tail_stride: DeviceSize,
24606}
24607
24608#[repr(C)]
24610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24611pub struct SparseImageMemoryRequirements2 {
24612 pub s_type: StructureType,
24613 pub next: *mut c_void,
24614 pub memory_requirements: SparseImageMemoryRequirements,
24615}
24616
24617impl Default for SparseImageMemoryRequirements2 {
24618 #[inline]
24619 fn default() -> Self {
24620 Self {
24621 s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
24622 next: ptr::null_mut(),
24623 memory_requirements: SparseImageMemoryRequirements::default(),
24624 }
24625 }
24626}
24627
24628#[repr(C)]
24630#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24631pub struct SparseImageOpaqueMemoryBindInfo {
24632 pub image: Image,
24633 pub bind_count: u32,
24634 pub binds: *const SparseMemoryBind,
24635}
24636
24637impl Default for SparseImageOpaqueMemoryBindInfo {
24638 #[inline]
24639 fn default() -> Self {
24640 Self {
24641 image: Image::default(),
24642 bind_count: u32::default(),
24643 binds: ptr::null(),
24644 }
24645 }
24646}
24647
24648#[repr(C)]
24650#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24651pub struct SparseMemoryBind {
24652 pub resource_offset: DeviceSize,
24653 pub size: DeviceSize,
24654 pub memory: DeviceMemory,
24655 pub memory_offset: DeviceSize,
24656 pub flags: SparseMemoryBindFlags,
24657}
24658
24659#[repr(C)]
24661#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24662pub struct SpecializationInfo {
24663 pub map_entry_count: u32,
24664 pub map_entries: *const SpecializationMapEntry,
24665 pub data_size: usize,
24666 pub data: *const c_void,
24667}
24668
24669impl Default for SpecializationInfo {
24670 #[inline]
24671 fn default() -> Self {
24672 Self {
24673 map_entry_count: u32::default(),
24674 map_entries: ptr::null(),
24675 data_size: usize::default(),
24676 data: ptr::null(),
24677 }
24678 }
24679}
24680
24681#[repr(C)]
24683#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24684pub struct SpecializationMapEntry {
24685 pub constant_id: u32,
24686 pub offset: u32,
24687 pub size: usize,
24688}
24689
24690#[repr(C)]
24692#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24693pub struct StencilOpState {
24694 pub fail_op: StencilOp,
24695 pub pass_op: StencilOp,
24696 pub depth_fail_op: StencilOp,
24697 pub compare_op: CompareOp,
24698 pub compare_mask: u32,
24699 pub write_mask: u32,
24700 pub reference: u32,
24701}
24702
24703#[repr(C)]
24705#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24706pub struct StreamDescriptorSurfaceCreateInfoGGP {
24707 pub s_type: StructureType,
24708 pub next: *const c_void,
24709 pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
24710 pub stream_descriptor: GgpStreamDescriptor,
24711}
24712
24713impl Default for StreamDescriptorSurfaceCreateInfoGGP {
24714 #[inline]
24715 fn default() -> Self {
24716 Self {
24717 s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
24718 next: ptr::null(),
24719 flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
24720 stream_descriptor: GgpStreamDescriptor::default(),
24721 }
24722 }
24723}
24724
24725#[repr(C)]
24727#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24728pub struct StridedDeviceAddressNV {
24729 pub start_address: DeviceAddress,
24730 pub stride_in_bytes: DeviceSize,
24731}
24732
24733#[repr(C)]
24735#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24736pub struct StridedDeviceAddressRegionKHR {
24737 pub device_address: DeviceAddress,
24738 pub stride: DeviceSize,
24739 pub size: DeviceSize,
24740}
24741
24742#[repr(C)]
24744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24745pub struct SubmitInfo {
24746 pub s_type: StructureType,
24747 pub next: *const c_void,
24748 pub wait_semaphore_count: u32,
24749 pub wait_semaphores: *const Semaphore,
24750 pub wait_dst_stage_mask: *const PipelineStageFlags,
24751 pub command_buffer_count: u32,
24752 pub command_buffers: *const CommandBuffer,
24753 pub signal_semaphore_count: u32,
24754 pub signal_semaphores: *const Semaphore,
24755}
24756
24757impl Default for SubmitInfo {
24758 #[inline]
24759 fn default() -> Self {
24760 Self {
24761 s_type: StructureType::SUBMIT_INFO,
24762 next: ptr::null(),
24763 wait_semaphore_count: u32::default(),
24764 wait_semaphores: ptr::null(),
24765 wait_dst_stage_mask: ptr::null(),
24766 command_buffer_count: u32::default(),
24767 command_buffers: ptr::null(),
24768 signal_semaphore_count: u32::default(),
24769 signal_semaphores: ptr::null(),
24770 }
24771 }
24772}
24773
24774#[repr(C)]
24776#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24777pub struct SubmitInfo2 {
24778 pub s_type: StructureType,
24779 pub next: *const c_void,
24780 pub flags: SubmitFlags,
24781 pub wait_semaphore_info_count: u32,
24782 pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
24783 pub command_buffer_info_count: u32,
24784 pub command_buffer_infos: *const CommandBufferSubmitInfo,
24785 pub signal_semaphore_info_count: u32,
24786 pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
24787}
24788
24789impl Default for SubmitInfo2 {
24790 #[inline]
24791 fn default() -> Self {
24792 Self {
24793 s_type: StructureType::SUBMIT_INFO_2,
24794 next: ptr::null(),
24795 flags: SubmitFlags::default(),
24796 wait_semaphore_info_count: u32::default(),
24797 wait_semaphore_infos: ptr::null(),
24798 command_buffer_info_count: u32::default(),
24799 command_buffer_infos: ptr::null(),
24800 signal_semaphore_info_count: u32::default(),
24801 signal_semaphore_infos: ptr::null(),
24802 }
24803 }
24804}
24805
24806#[repr(C)]
24808#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24809pub struct SubpassBeginInfo {
24810 pub s_type: StructureType,
24811 pub next: *const c_void,
24812 pub contents: SubpassContents,
24813}
24814
24815impl Default for SubpassBeginInfo {
24816 #[inline]
24817 fn default() -> Self {
24818 Self {
24819 s_type: StructureType::SUBPASS_BEGIN_INFO,
24820 next: ptr::null(),
24821 contents: SubpassContents::default(),
24822 }
24823 }
24824}
24825
24826#[repr(C)]
24828#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24829pub struct SubpassDependency {
24830 pub src_subpass: u32,
24831 pub dst_subpass: u32,
24832 pub src_stage_mask: PipelineStageFlags,
24833 pub dst_stage_mask: PipelineStageFlags,
24834 pub src_access_mask: AccessFlags,
24835 pub dst_access_mask: AccessFlags,
24836 pub dependency_flags: DependencyFlags,
24837}
24838
24839#[repr(C)]
24841#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24842pub struct SubpassDependency2 {
24843 pub s_type: StructureType,
24844 pub next: *const c_void,
24845 pub src_subpass: u32,
24846 pub dst_subpass: u32,
24847 pub src_stage_mask: PipelineStageFlags,
24848 pub dst_stage_mask: PipelineStageFlags,
24849 pub src_access_mask: AccessFlags,
24850 pub dst_access_mask: AccessFlags,
24851 pub dependency_flags: DependencyFlags,
24852 pub view_offset: i32,
24853}
24854
24855impl Default for SubpassDependency2 {
24856 #[inline]
24857 fn default() -> Self {
24858 Self {
24859 s_type: StructureType::SUBPASS_DEPENDENCY_2,
24860 next: ptr::null(),
24861 src_subpass: u32::default(),
24862 dst_subpass: u32::default(),
24863 src_stage_mask: PipelineStageFlags::default(),
24864 dst_stage_mask: PipelineStageFlags::default(),
24865 src_access_mask: AccessFlags::default(),
24866 dst_access_mask: AccessFlags::default(),
24867 dependency_flags: DependencyFlags::default(),
24868 view_offset: i32::default(),
24869 }
24870 }
24871}
24872
24873#[repr(C)]
24875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24876pub struct SubpassDescription {
24877 pub flags: SubpassDescriptionFlags,
24878 pub pipeline_bind_point: PipelineBindPoint,
24879 pub input_attachment_count: u32,
24880 pub input_attachments: *const AttachmentReference,
24881 pub color_attachment_count: u32,
24882 pub color_attachments: *const AttachmentReference,
24883 pub resolve_attachments: *const AttachmentReference,
24884 pub depth_stencil_attachment: *const AttachmentReference,
24885 pub preserve_attachment_count: u32,
24886 pub preserve_attachments: *const u32,
24887}
24888
24889impl Default for SubpassDescription {
24890 #[inline]
24891 fn default() -> Self {
24892 Self {
24893 flags: SubpassDescriptionFlags::default(),
24894 pipeline_bind_point: PipelineBindPoint::default(),
24895 input_attachment_count: u32::default(),
24896 input_attachments: ptr::null(),
24897 color_attachment_count: u32::default(),
24898 color_attachments: ptr::null(),
24899 resolve_attachments: ptr::null(),
24900 depth_stencil_attachment: ptr::null(),
24901 preserve_attachment_count: u32::default(),
24902 preserve_attachments: ptr::null(),
24903 }
24904 }
24905}
24906
24907#[repr(C)]
24909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24910pub struct SubpassDescription2 {
24911 pub s_type: StructureType,
24912 pub next: *const c_void,
24913 pub flags: SubpassDescriptionFlags,
24914 pub pipeline_bind_point: PipelineBindPoint,
24915 pub view_mask: u32,
24916 pub input_attachment_count: u32,
24917 pub input_attachments: *const AttachmentReference2,
24918 pub color_attachment_count: u32,
24919 pub color_attachments: *const AttachmentReference2,
24920 pub resolve_attachments: *const AttachmentReference2,
24921 pub depth_stencil_attachment: *const AttachmentReference2,
24922 pub preserve_attachment_count: u32,
24923 pub preserve_attachments: *const u32,
24924}
24925
24926impl Default for SubpassDescription2 {
24927 #[inline]
24928 fn default() -> Self {
24929 Self {
24930 s_type: StructureType::SUBPASS_DESCRIPTION_2,
24931 next: ptr::null(),
24932 flags: SubpassDescriptionFlags::default(),
24933 pipeline_bind_point: PipelineBindPoint::default(),
24934 view_mask: u32::default(),
24935 input_attachment_count: u32::default(),
24936 input_attachments: ptr::null(),
24937 color_attachment_count: u32::default(),
24938 color_attachments: ptr::null(),
24939 resolve_attachments: ptr::null(),
24940 depth_stencil_attachment: ptr::null(),
24941 preserve_attachment_count: u32::default(),
24942 preserve_attachments: ptr::null(),
24943 }
24944 }
24945}
24946
24947#[repr(C)]
24949#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24950pub struct SubpassDescriptionDepthStencilResolve {
24951 pub s_type: StructureType,
24952 pub next: *const c_void,
24953 pub depth_resolve_mode: ResolveModeFlags,
24954 pub stencil_resolve_mode: ResolveModeFlags,
24955 pub depth_stencil_resolve_attachment: *const AttachmentReference2,
24956}
24957
24958impl Default for SubpassDescriptionDepthStencilResolve {
24959 #[inline]
24960 fn default() -> Self {
24961 Self {
24962 s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
24963 next: ptr::null(),
24964 depth_resolve_mode: ResolveModeFlags::default(),
24965 stencil_resolve_mode: ResolveModeFlags::default(),
24966 depth_stencil_resolve_attachment: ptr::null(),
24967 }
24968 }
24969}
24970
24971#[repr(C)]
24973#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24974pub struct SubpassEndInfo {
24975 pub s_type: StructureType,
24976 pub next: *const c_void,
24977}
24978
24979impl Default for SubpassEndInfo {
24980 #[inline]
24981 fn default() -> Self {
24982 Self {
24983 s_type: StructureType::SUBPASS_END_INFO,
24984 next: ptr::null(),
24985 }
24986 }
24987}
24988
24989#[repr(C)]
24991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24992pub struct SubpassResolvePerformanceQueryEXT {
24993 pub s_type: StructureType,
24994 pub next: *mut c_void,
24995 pub optimal: Bool32,
24996}
24997
24998impl Default for SubpassResolvePerformanceQueryEXT {
24999 #[inline]
25000 fn default() -> Self {
25001 Self {
25002 s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
25003 next: ptr::null_mut(),
25004 optimal: Bool32::default(),
25005 }
25006 }
25007}
25008
25009#[repr(C)]
25011#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25012pub struct SubpassSampleLocationsEXT {
25013 pub subpass_index: u32,
25014 pub sample_locations_info: SampleLocationsInfoEXT,
25015}
25016
25017#[repr(C)]
25019#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25020pub struct SubpassShadingPipelineCreateInfoHUAWEI {
25021 pub s_type: StructureType,
25022 pub next: *mut c_void,
25023 pub render_pass: RenderPass,
25024 pub subpass: u32,
25025}
25026
25027impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
25028 #[inline]
25029 fn default() -> Self {
25030 Self {
25031 s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
25032 next: ptr::null_mut(),
25033 render_pass: RenderPass::default(),
25034 subpass: u32::default(),
25035 }
25036 }
25037}
25038
25039#[repr(C)]
25041#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25042pub struct SubresourceHostMemcpySize {
25043 pub s_type: StructureType,
25044 pub next: *mut c_void,
25045 pub size: DeviceSize,
25046}
25047
25048impl Default for SubresourceHostMemcpySize {
25049 #[inline]
25050 fn default() -> Self {
25051 Self {
25052 s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
25053 next: ptr::null_mut(),
25054 size: DeviceSize::default(),
25055 }
25056 }
25057}
25058
25059#[repr(C)]
25061#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25062pub struct SubresourceLayout {
25063 pub offset: DeviceSize,
25064 pub size: DeviceSize,
25065 pub row_pitch: DeviceSize,
25066 pub array_pitch: DeviceSize,
25067 pub depth_pitch: DeviceSize,
25068}
25069
25070#[repr(C)]
25072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25073pub struct SubresourceLayout2 {
25074 pub s_type: StructureType,
25075 pub next: *mut c_void,
25076 pub subresource_layout: SubresourceLayout,
25077}
25078
25079impl Default for SubresourceLayout2 {
25080 #[inline]
25081 fn default() -> Self {
25082 Self {
25083 s_type: StructureType::SUBRESOURCE_LAYOUT_2,
25084 next: ptr::null_mut(),
25085 subresource_layout: SubresourceLayout::default(),
25086 }
25087 }
25088}
25089
25090#[repr(C)]
25092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25093pub struct SurfaceCapabilities2EXT {
25094 pub s_type: StructureType,
25095 pub next: *mut c_void,
25096 pub min_image_count: u32,
25097 pub max_image_count: u32,
25098 pub current_extent: Extent2D,
25099 pub min_image_extent: Extent2D,
25100 pub max_image_extent: Extent2D,
25101 pub max_image_array_layers: u32,
25102 pub supported_transforms: SurfaceTransformFlagsKHR,
25103 pub current_transform: SurfaceTransformFlagsKHR,
25104 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
25105 pub supported_usage_flags: ImageUsageFlags,
25106 pub supported_surface_counters: SurfaceCounterFlagsEXT,
25107}
25108
25109impl Default for SurfaceCapabilities2EXT {
25110 #[inline]
25111 fn default() -> Self {
25112 Self {
25113 s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
25114 next: ptr::null_mut(),
25115 min_image_count: u32::default(),
25116 max_image_count: u32::default(),
25117 current_extent: Extent2D::default(),
25118 min_image_extent: Extent2D::default(),
25119 max_image_extent: Extent2D::default(),
25120 max_image_array_layers: u32::default(),
25121 supported_transforms: SurfaceTransformFlagsKHR::default(),
25122 current_transform: SurfaceTransformFlagsKHR::default(),
25123 supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
25124 supported_usage_flags: ImageUsageFlags::default(),
25125 supported_surface_counters: SurfaceCounterFlagsEXT::default(),
25126 }
25127 }
25128}
25129
25130#[repr(C)]
25132#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25133pub struct SurfaceCapabilities2KHR {
25134 pub s_type: StructureType,
25135 pub next: *mut c_void,
25136 pub surface_capabilities: SurfaceCapabilitiesKHR,
25137}
25138
25139impl Default for SurfaceCapabilities2KHR {
25140 #[inline]
25141 fn default() -> Self {
25142 Self {
25143 s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
25144 next: ptr::null_mut(),
25145 surface_capabilities: SurfaceCapabilitiesKHR::default(),
25146 }
25147 }
25148}
25149
25150#[repr(C)]
25152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25153pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
25154 pub s_type: StructureType,
25155 pub next: *mut c_void,
25156 pub full_screen_exclusive_supported: Bool32,
25157}
25158
25159impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
25160 #[inline]
25161 fn default() -> Self {
25162 Self {
25163 s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
25164 next: ptr::null_mut(),
25165 full_screen_exclusive_supported: Bool32::default(),
25166 }
25167 }
25168}
25169
25170#[repr(C)]
25172#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25173pub struct SurfaceCapabilitiesKHR {
25174 pub min_image_count: u32,
25175 pub max_image_count: u32,
25176 pub current_extent: Extent2D,
25177 pub min_image_extent: Extent2D,
25178 pub max_image_extent: Extent2D,
25179 pub max_image_array_layers: u32,
25180 pub supported_transforms: SurfaceTransformFlagsKHR,
25181 pub current_transform: SurfaceTransformFlagsKHR,
25182 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
25183 pub supported_usage_flags: ImageUsageFlags,
25184}
25185
25186#[repr(C)]
25188#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25189pub struct SurfaceCapabilitiesPresentBarrierNV {
25190 pub s_type: StructureType,
25191 pub next: *mut c_void,
25192 pub present_barrier_supported: Bool32,
25193}
25194
25195impl Default for SurfaceCapabilitiesPresentBarrierNV {
25196 #[inline]
25197 fn default() -> Self {
25198 Self {
25199 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
25200 next: ptr::null_mut(),
25201 present_barrier_supported: Bool32::default(),
25202 }
25203 }
25204}
25205
25206#[repr(C)]
25208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25209pub struct SurfaceCapabilitiesPresentId2KHR {
25210 pub s_type: StructureType,
25211 pub next: *mut c_void,
25212 pub present_id2_supported: Bool32,
25213}
25214
25215impl Default for SurfaceCapabilitiesPresentId2KHR {
25216 #[inline]
25217 fn default() -> Self {
25218 Self {
25219 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
25220 next: ptr::null_mut(),
25221 present_id2_supported: Bool32::default(),
25222 }
25223 }
25224}
25225
25226#[repr(C)]
25228#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25229pub struct SurfaceCapabilitiesPresentWait2KHR {
25230 pub s_type: StructureType,
25231 pub next: *mut c_void,
25232 pub present_wait2_supported: Bool32,
25233}
25234
25235impl Default for SurfaceCapabilitiesPresentWait2KHR {
25236 #[inline]
25237 fn default() -> Self {
25238 Self {
25239 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
25240 next: ptr::null_mut(),
25241 present_wait2_supported: Bool32::default(),
25242 }
25243 }
25244}
25245
25246#[repr(C)]
25248#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25249pub struct SurfaceFormat2KHR {
25250 pub s_type: StructureType,
25251 pub next: *mut c_void,
25252 pub surface_format: SurfaceFormatKHR,
25253}
25254
25255impl Default for SurfaceFormat2KHR {
25256 #[inline]
25257 fn default() -> Self {
25258 Self {
25259 s_type: StructureType::SURFACE_FORMAT_2_KHR,
25260 next: ptr::null_mut(),
25261 surface_format: SurfaceFormatKHR::default(),
25262 }
25263 }
25264}
25265
25266#[repr(C)]
25268#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25269pub struct SurfaceFormatKHR {
25270 pub format: Format,
25271 pub color_space: ColorSpaceKHR,
25272}
25273
25274#[repr(C)]
25276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25277pub struct SurfaceFullScreenExclusiveInfoEXT {
25278 pub s_type: StructureType,
25279 pub next: *mut c_void,
25280 pub full_screen_exclusive: FullScreenExclusiveEXT,
25281}
25282
25283impl Default for SurfaceFullScreenExclusiveInfoEXT {
25284 #[inline]
25285 fn default() -> Self {
25286 Self {
25287 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
25288 next: ptr::null_mut(),
25289 full_screen_exclusive: FullScreenExclusiveEXT::default(),
25290 }
25291 }
25292}
25293
25294#[repr(C)]
25296#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25297pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
25298 pub s_type: StructureType,
25299 pub next: *const c_void,
25300 pub hmonitor: HMONITOR,
25301}
25302
25303impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
25304 #[inline]
25305 fn default() -> Self {
25306 Self {
25307 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
25308 next: ptr::null(),
25309 hmonitor: ptr::null_mut(),
25310 }
25311 }
25312}
25313
25314#[repr(C)]
25316#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25317pub struct SurfacePresentModeCompatibilityKHR {
25318 pub s_type: StructureType,
25319 pub next: *mut c_void,
25320 pub present_mode_count: u32,
25321 pub present_modes: *mut PresentModeKHR,
25322}
25323
25324impl Default for SurfacePresentModeCompatibilityKHR {
25325 #[inline]
25326 fn default() -> Self {
25327 Self {
25328 s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
25329 next: ptr::null_mut(),
25330 present_mode_count: u32::default(),
25331 present_modes: ptr::null_mut(),
25332 }
25333 }
25334}
25335
25336#[repr(C)]
25338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25339pub struct SurfacePresentModeKHR {
25340 pub s_type: StructureType,
25341 pub next: *mut c_void,
25342 pub present_mode: PresentModeKHR,
25343}
25344
25345impl Default for SurfacePresentModeKHR {
25346 #[inline]
25347 fn default() -> Self {
25348 Self {
25349 s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
25350 next: ptr::null_mut(),
25351 present_mode: PresentModeKHR::default(),
25352 }
25353 }
25354}
25355
25356#[repr(C)]
25358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25359pub struct SurfacePresentScalingCapabilitiesKHR {
25360 pub s_type: StructureType,
25361 pub next: *mut c_void,
25362 pub supported_present_scaling: PresentScalingFlagsKHR,
25363 pub supported_present_gravity_x: PresentGravityFlagsKHR,
25364 pub supported_present_gravity_y: PresentGravityFlagsKHR,
25365 pub min_scaled_image_extent: Extent2D,
25366 pub max_scaled_image_extent: Extent2D,
25367}
25368
25369impl Default for SurfacePresentScalingCapabilitiesKHR {
25370 #[inline]
25371 fn default() -> Self {
25372 Self {
25373 s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
25374 next: ptr::null_mut(),
25375 supported_present_scaling: PresentScalingFlagsKHR::default(),
25376 supported_present_gravity_x: PresentGravityFlagsKHR::default(),
25377 supported_present_gravity_y: PresentGravityFlagsKHR::default(),
25378 min_scaled_image_extent: Extent2D::default(),
25379 max_scaled_image_extent: Extent2D::default(),
25380 }
25381 }
25382}
25383
25384#[repr(C)]
25386#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25387pub struct SurfaceProtectedCapabilitiesKHR {
25388 pub s_type: StructureType,
25389 pub next: *const c_void,
25390 pub supports_protected: Bool32,
25391}
25392
25393impl Default for SurfaceProtectedCapabilitiesKHR {
25394 #[inline]
25395 fn default() -> Self {
25396 Self {
25397 s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
25398 next: ptr::null(),
25399 supports_protected: Bool32::default(),
25400 }
25401 }
25402}
25403
25404#[repr(C)]
25406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25407pub struct SwapchainCounterCreateInfoEXT {
25408 pub s_type: StructureType,
25409 pub next: *const c_void,
25410 pub surface_counters: SurfaceCounterFlagsEXT,
25411}
25412
25413impl Default for SwapchainCounterCreateInfoEXT {
25414 #[inline]
25415 fn default() -> Self {
25416 Self {
25417 s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
25418 next: ptr::null(),
25419 surface_counters: SurfaceCounterFlagsEXT::default(),
25420 }
25421 }
25422}
25423
25424#[repr(C)]
25426#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25427pub struct SwapchainCreateInfoKHR {
25428 pub s_type: StructureType,
25429 pub next: *const c_void,
25430 pub flags: SwapchainCreateFlagsKHR,
25431 pub surface: SurfaceKHR,
25432 pub min_image_count: u32,
25433 pub image_format: Format,
25434 pub image_color_space: ColorSpaceKHR,
25435 pub image_extent: Extent2D,
25436 pub image_array_layers: u32,
25437 pub image_usage: ImageUsageFlags,
25438 pub image_sharing_mode: SharingMode,
25439 pub queue_family_index_count: u32,
25440 pub queue_family_indices: *const u32,
25441 pub pre_transform: SurfaceTransformFlagsKHR,
25442 pub composite_alpha: CompositeAlphaFlagsKHR,
25443 pub present_mode: PresentModeKHR,
25444 pub clipped: Bool32,
25445 pub old_swapchain: SwapchainKHR,
25446}
25447
25448impl Default for SwapchainCreateInfoKHR {
25449 #[inline]
25450 fn default() -> Self {
25451 Self {
25452 s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
25453 next: ptr::null(),
25454 flags: SwapchainCreateFlagsKHR::default(),
25455 surface: SurfaceKHR::default(),
25456 min_image_count: u32::default(),
25457 image_format: Format::default(),
25458 image_color_space: ColorSpaceKHR::default(),
25459 image_extent: Extent2D::default(),
25460 image_array_layers: u32::default(),
25461 image_usage: ImageUsageFlags::default(),
25462 image_sharing_mode: SharingMode::default(),
25463 queue_family_index_count: u32::default(),
25464 queue_family_indices: ptr::null(),
25465 pre_transform: SurfaceTransformFlagsKHR::default(),
25466 composite_alpha: CompositeAlphaFlagsKHR::default(),
25467 present_mode: PresentModeKHR::default(),
25468 clipped: Bool32::default(),
25469 old_swapchain: SwapchainKHR::default(),
25470 }
25471 }
25472}
25473
25474#[repr(C)]
25476#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25477pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
25478 pub s_type: StructureType,
25479 pub next: *const c_void,
25480 pub local_dimming_enable: Bool32,
25481}
25482
25483impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
25484 #[inline]
25485 fn default() -> Self {
25486 Self {
25487 s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
25488 next: ptr::null(),
25489 local_dimming_enable: Bool32::default(),
25490 }
25491 }
25492}
25493
25494#[repr(C)]
25496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25497pub struct SwapchainLatencyCreateInfoNV {
25498 pub s_type: StructureType,
25499 pub next: *const c_void,
25500 pub latency_mode_enable: Bool32,
25501}
25502
25503impl Default for SwapchainLatencyCreateInfoNV {
25504 #[inline]
25505 fn default() -> Self {
25506 Self {
25507 s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
25508 next: ptr::null(),
25509 latency_mode_enable: Bool32::default(),
25510 }
25511 }
25512}
25513
25514#[repr(C)]
25516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25517pub struct SwapchainPresentBarrierCreateInfoNV {
25518 pub s_type: StructureType,
25519 pub next: *mut c_void,
25520 pub present_barrier_enable: Bool32,
25521}
25522
25523impl Default for SwapchainPresentBarrierCreateInfoNV {
25524 #[inline]
25525 fn default() -> Self {
25526 Self {
25527 s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
25528 next: ptr::null_mut(),
25529 present_barrier_enable: Bool32::default(),
25530 }
25531 }
25532}
25533
25534#[repr(C)]
25536#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25537pub struct SwapchainPresentFenceInfoKHR {
25538 pub s_type: StructureType,
25539 pub next: *const c_void,
25540 pub swapchain_count: u32,
25541 pub fences: *const Fence,
25542}
25543
25544impl Default for SwapchainPresentFenceInfoKHR {
25545 #[inline]
25546 fn default() -> Self {
25547 Self {
25548 s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
25549 next: ptr::null(),
25550 swapchain_count: u32::default(),
25551 fences: ptr::null(),
25552 }
25553 }
25554}
25555
25556#[repr(C)]
25558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25559pub struct SwapchainPresentModeInfoKHR {
25560 pub s_type: StructureType,
25561 pub next: *const c_void,
25562 pub swapchain_count: u32,
25563 pub present_modes: *const PresentModeKHR,
25564}
25565
25566impl Default for SwapchainPresentModeInfoKHR {
25567 #[inline]
25568 fn default() -> Self {
25569 Self {
25570 s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
25571 next: ptr::null(),
25572 swapchain_count: u32::default(),
25573 present_modes: ptr::null(),
25574 }
25575 }
25576}
25577
25578#[repr(C)]
25580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25581pub struct SwapchainPresentModesCreateInfoKHR {
25582 pub s_type: StructureType,
25583 pub next: *const c_void,
25584 pub present_mode_count: u32,
25585 pub present_modes: *const PresentModeKHR,
25586}
25587
25588impl Default for SwapchainPresentModesCreateInfoKHR {
25589 #[inline]
25590 fn default() -> Self {
25591 Self {
25592 s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
25593 next: ptr::null(),
25594 present_mode_count: u32::default(),
25595 present_modes: ptr::null(),
25596 }
25597 }
25598}
25599
25600#[repr(C)]
25602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25603pub struct SwapchainPresentScalingCreateInfoKHR {
25604 pub s_type: StructureType,
25605 pub next: *const c_void,
25606 pub scaling_behavior: PresentScalingFlagsKHR,
25607 pub present_gravity_x: PresentGravityFlagsKHR,
25608 pub present_gravity_y: PresentGravityFlagsKHR,
25609}
25610
25611impl Default for SwapchainPresentScalingCreateInfoKHR {
25612 #[inline]
25613 fn default() -> Self {
25614 Self {
25615 s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
25616 next: ptr::null(),
25617 scaling_behavior: PresentScalingFlagsKHR::default(),
25618 present_gravity_x: PresentGravityFlagsKHR::default(),
25619 present_gravity_y: PresentGravityFlagsKHR::default(),
25620 }
25621 }
25622}
25623
25624#[repr(C)]
25626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25627pub struct SysmemColorSpaceFUCHSIA {
25628 pub s_type: StructureType,
25629 pub next: *const c_void,
25630 pub color_space: u32,
25631}
25632
25633impl Default for SysmemColorSpaceFUCHSIA {
25634 #[inline]
25635 fn default() -> Self {
25636 Self {
25637 s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
25638 next: ptr::null(),
25639 color_space: u32::default(),
25640 }
25641 }
25642}
25643
25644#[repr(C)]
25646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25647pub struct TensorCaptureDescriptorDataInfoARM {
25648 pub s_type: StructureType,
25649 pub next: *const c_void,
25650 pub tensor: TensorARM,
25651}
25652
25653impl Default for TensorCaptureDescriptorDataInfoARM {
25654 #[inline]
25655 fn default() -> Self {
25656 Self {
25657 s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
25658 next: ptr::null(),
25659 tensor: TensorARM::default(),
25660 }
25661 }
25662}
25663
25664#[repr(C)]
25666#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25667pub struct TensorCopyARM {
25668 pub s_type: StructureType,
25669 pub next: *const c_void,
25670 pub dimension_count: u32,
25671 pub src_offset: *const u64,
25672 pub dst_offset: *const u64,
25673 pub extent: *const u64,
25674}
25675
25676impl Default for TensorCopyARM {
25677 #[inline]
25678 fn default() -> Self {
25679 Self {
25680 s_type: StructureType::TENSOR_COPY_ARM,
25681 next: ptr::null(),
25682 dimension_count: u32::default(),
25683 src_offset: ptr::null(),
25684 dst_offset: ptr::null(),
25685 extent: ptr::null(),
25686 }
25687 }
25688}
25689
25690#[repr(C)]
25692#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25693pub struct TensorCreateInfoARM {
25694 pub s_type: StructureType,
25695 pub next: *const c_void,
25696 pub flags: TensorCreateFlagsARM,
25697 pub description: *const TensorDescriptionARM,
25698 pub sharing_mode: SharingMode,
25699 pub queue_family_index_count: u32,
25700 pub queue_family_indices: *const u32,
25701}
25702
25703impl Default for TensorCreateInfoARM {
25704 #[inline]
25705 fn default() -> Self {
25706 Self {
25707 s_type: StructureType::TENSOR_CREATE_INFO_ARM,
25708 next: ptr::null(),
25709 flags: TensorCreateFlagsARM::default(),
25710 description: ptr::null(),
25711 sharing_mode: SharingMode::default(),
25712 queue_family_index_count: u32::default(),
25713 queue_family_indices: ptr::null(),
25714 }
25715 }
25716}
25717
25718#[repr(C)]
25720#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25721pub struct TensorDependencyInfoARM {
25722 pub s_type: StructureType,
25723 pub next: *const c_void,
25724 pub tensor_memory_barrier_count: u32,
25725 pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
25726}
25727
25728impl Default for TensorDependencyInfoARM {
25729 #[inline]
25730 fn default() -> Self {
25731 Self {
25732 s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
25733 next: ptr::null(),
25734 tensor_memory_barrier_count: u32::default(),
25735 tensor_memory_barriers: ptr::null(),
25736 }
25737 }
25738}
25739
25740#[repr(C)]
25742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25743pub struct TensorDescriptionARM {
25744 pub s_type: StructureType,
25745 pub next: *const c_void,
25746 pub tiling: TensorTilingARM,
25747 pub format: Format,
25748 pub dimension_count: u32,
25749 pub dimensions: *const i64,
25750 pub strides: *const i64,
25751 pub usage: TensorUsageFlagsARM,
25752}
25753
25754impl Default for TensorDescriptionARM {
25755 #[inline]
25756 fn default() -> Self {
25757 Self {
25758 s_type: StructureType::TENSOR_DESCRIPTION_ARM,
25759 next: ptr::null(),
25760 tiling: TensorTilingARM::default(),
25761 format: Format::default(),
25762 dimension_count: u32::default(),
25763 dimensions: ptr::null(),
25764 strides: ptr::null(),
25765 usage: TensorUsageFlagsARM::default(),
25766 }
25767 }
25768}
25769
25770#[repr(C)]
25772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25773pub struct TensorFormatPropertiesARM {
25774 pub s_type: StructureType,
25775 pub next: *const c_void,
25776 pub optimal_tiling_tensor_features: FormatFeatureFlags2,
25777 pub linear_tiling_tensor_features: FormatFeatureFlags2,
25778}
25779
25780impl Default for TensorFormatPropertiesARM {
25781 #[inline]
25782 fn default() -> Self {
25783 Self {
25784 s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
25785 next: ptr::null(),
25786 optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
25787 linear_tiling_tensor_features: FormatFeatureFlags2::default(),
25788 }
25789 }
25790}
25791
25792#[repr(C)]
25794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25795pub struct TensorMemoryBarrierARM {
25796 pub s_type: StructureType,
25797 pub next: *const c_void,
25798 pub src_stage_mask: PipelineStageFlags2,
25799 pub src_access_mask: AccessFlags2,
25800 pub dst_stage_mask: PipelineStageFlags2,
25801 pub dst_access_mask: AccessFlags2,
25802 pub src_queue_family_index: u32,
25803 pub dst_queue_family_index: u32,
25804 pub tensor: TensorARM,
25805}
25806
25807impl Default for TensorMemoryBarrierARM {
25808 #[inline]
25809 fn default() -> Self {
25810 Self {
25811 s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
25812 next: ptr::null(),
25813 src_stage_mask: PipelineStageFlags2::default(),
25814 src_access_mask: AccessFlags2::default(),
25815 dst_stage_mask: PipelineStageFlags2::default(),
25816 dst_access_mask: AccessFlags2::default(),
25817 src_queue_family_index: u32::default(),
25818 dst_queue_family_index: u32::default(),
25819 tensor: TensorARM::default(),
25820 }
25821 }
25822}
25823
25824#[repr(C)]
25826#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25827pub struct TensorMemoryRequirementsInfoARM {
25828 pub s_type: StructureType,
25829 pub next: *const c_void,
25830 pub tensor: TensorARM,
25831}
25832
25833impl Default for TensorMemoryRequirementsInfoARM {
25834 #[inline]
25835 fn default() -> Self {
25836 Self {
25837 s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
25838 next: ptr::null(),
25839 tensor: TensorARM::default(),
25840 }
25841 }
25842}
25843
25844#[repr(C)]
25846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25847pub struct TensorViewCaptureDescriptorDataInfoARM {
25848 pub s_type: StructureType,
25849 pub next: *const c_void,
25850 pub tensor_view: TensorViewARM,
25851}
25852
25853impl Default for TensorViewCaptureDescriptorDataInfoARM {
25854 #[inline]
25855 fn default() -> Self {
25856 Self {
25857 s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
25858 next: ptr::null(),
25859 tensor_view: TensorViewARM::default(),
25860 }
25861 }
25862}
25863
25864#[repr(C)]
25866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25867pub struct TensorViewCreateInfoARM {
25868 pub s_type: StructureType,
25869 pub next: *const c_void,
25870 pub flags: TensorViewCreateFlagsARM,
25871 pub tensor: TensorARM,
25872 pub format: Format,
25873}
25874
25875impl Default for TensorViewCreateInfoARM {
25876 #[inline]
25877 fn default() -> Self {
25878 Self {
25879 s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
25880 next: ptr::null(),
25881 flags: TensorViewCreateFlagsARM::default(),
25882 tensor: TensorARM::default(),
25883 format: Format::default(),
25884 }
25885 }
25886}
25887
25888#[repr(C)]
25890#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25891pub struct TextureLODGatherFormatPropertiesAMD {
25892 pub s_type: StructureType,
25893 pub next: *mut c_void,
25894 pub supports_texture_gather_lod_bias_amd: Bool32,
25895}
25896
25897impl Default for TextureLODGatherFormatPropertiesAMD {
25898 #[inline]
25899 fn default() -> Self {
25900 Self {
25901 s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
25902 next: ptr::null_mut(),
25903 supports_texture_gather_lod_bias_amd: Bool32::default(),
25904 }
25905 }
25906}
25907
25908#[repr(C)]
25910#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25911pub struct TileMemoryBindInfoQCOM {
25912 pub s_type: StructureType,
25913 pub next: *const c_void,
25914 pub memory: DeviceMemory,
25915}
25916
25917impl Default for TileMemoryBindInfoQCOM {
25918 #[inline]
25919 fn default() -> Self {
25920 Self {
25921 s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
25922 next: ptr::null(),
25923 memory: DeviceMemory::default(),
25924 }
25925 }
25926}
25927
25928#[repr(C)]
25930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25931pub struct TileMemoryRequirementsQCOM {
25932 pub s_type: StructureType,
25933 pub next: *mut c_void,
25934 pub size: DeviceSize,
25935 pub alignment: DeviceSize,
25936}
25937
25938impl Default for TileMemoryRequirementsQCOM {
25939 #[inline]
25940 fn default() -> Self {
25941 Self {
25942 s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
25943 next: ptr::null_mut(),
25944 size: DeviceSize::default(),
25945 alignment: DeviceSize::default(),
25946 }
25947 }
25948}
25949
25950#[repr(C)]
25952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25953pub struct TileMemorySizeInfoQCOM {
25954 pub s_type: StructureType,
25955 pub next: *const c_void,
25956 pub size: DeviceSize,
25957}
25958
25959impl Default for TileMemorySizeInfoQCOM {
25960 #[inline]
25961 fn default() -> Self {
25962 Self {
25963 s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
25964 next: ptr::null(),
25965 size: DeviceSize::default(),
25966 }
25967 }
25968}
25969
25970#[repr(C)]
25972#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25973pub struct TilePropertiesQCOM {
25974 pub s_type: StructureType,
25975 pub next: *mut c_void,
25976 pub tile_size: Extent3D,
25977 pub apron_size: Extent2D,
25978 pub origin: Offset2D,
25979}
25980
25981impl Default for TilePropertiesQCOM {
25982 #[inline]
25983 fn default() -> Self {
25984 Self {
25985 s_type: StructureType::TILE_PROPERTIES_QCOM,
25986 next: ptr::null_mut(),
25987 tile_size: Extent3D::default(),
25988 apron_size: Extent2D::default(),
25989 origin: Offset2D::default(),
25990 }
25991 }
25992}
25993
25994#[repr(C)]
25996#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25997pub struct TimelineSemaphoreSubmitInfo {
25998 pub s_type: StructureType,
25999 pub next: *const c_void,
26000 pub wait_semaphore_value_count: u32,
26001 pub wait_semaphore_values: *const u64,
26002 pub signal_semaphore_value_count: u32,
26003 pub signal_semaphore_values: *const u64,
26004}
26005
26006impl Default for TimelineSemaphoreSubmitInfo {
26007 #[inline]
26008 fn default() -> Self {
26009 Self {
26010 s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
26011 next: ptr::null(),
26012 wait_semaphore_value_count: u32::default(),
26013 wait_semaphore_values: ptr::null(),
26014 signal_semaphore_value_count: u32::default(),
26015 signal_semaphore_values: ptr::null(),
26016 }
26017 }
26018}
26019
26020#[repr(C)]
26022#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26023pub struct TraceRaysIndirectCommand2KHR {
26024 pub raygen_shader_record_address: DeviceAddress,
26025 pub raygen_shader_record_size: DeviceSize,
26026 pub miss_shader_binding_table_address: DeviceAddress,
26027 pub miss_shader_binding_table_size: DeviceSize,
26028 pub miss_shader_binding_table_stride: DeviceSize,
26029 pub hit_shader_binding_table_address: DeviceAddress,
26030 pub hit_shader_binding_table_size: DeviceSize,
26031 pub hit_shader_binding_table_stride: DeviceSize,
26032 pub callable_shader_binding_table_address: DeviceAddress,
26033 pub callable_shader_binding_table_size: DeviceSize,
26034 pub callable_shader_binding_table_stride: DeviceSize,
26035 pub width: u32,
26036 pub height: u32,
26037 pub depth: u32,
26038}
26039
26040#[repr(C)]
26042#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26043pub struct TraceRaysIndirectCommandKHR {
26044 pub width: u32,
26045 pub height: u32,
26046 pub depth: u32,
26047}
26048
26049#[repr(C)]
26051#[derive(Copy, Clone, Default, Debug, PartialEq)]
26052pub struct TransformMatrixKHR {
26053 pub matrix: [[f32; 4]; 3],
26054}
26055
26056#[repr(C)]
26058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26059pub struct ValidationCacheCreateInfoEXT {
26060 pub s_type: StructureType,
26061 pub next: *const c_void,
26062 pub flags: ValidationCacheCreateFlagsEXT,
26063 pub initial_data_size: usize,
26064 pub initial_data: *const c_void,
26065}
26066
26067impl Default for ValidationCacheCreateInfoEXT {
26068 #[inline]
26069 fn default() -> Self {
26070 Self {
26071 s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
26072 next: ptr::null(),
26073 flags: ValidationCacheCreateFlagsEXT::default(),
26074 initial_data_size: usize::default(),
26075 initial_data: ptr::null(),
26076 }
26077 }
26078}
26079
26080#[repr(C)]
26082#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26083pub struct ValidationFeaturesEXT {
26084 pub s_type: StructureType,
26085 pub next: *const c_void,
26086 pub enabled_validation_feature_count: u32,
26087 pub enabled_validation_features: *const ValidationFeatureEnableEXT,
26088 pub disabled_validation_feature_count: u32,
26089 pub disabled_validation_features: *const ValidationFeatureDisableEXT,
26090}
26091
26092impl Default for ValidationFeaturesEXT {
26093 #[inline]
26094 fn default() -> Self {
26095 Self {
26096 s_type: StructureType::VALIDATION_FEATURES_EXT,
26097 next: ptr::null(),
26098 enabled_validation_feature_count: u32::default(),
26099 enabled_validation_features: ptr::null(),
26100 disabled_validation_feature_count: u32::default(),
26101 disabled_validation_features: ptr::null(),
26102 }
26103 }
26104}
26105
26106#[repr(C)]
26108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26109pub struct ValidationFlagsEXT {
26110 pub s_type: StructureType,
26111 pub next: *const c_void,
26112 pub disabled_validation_check_count: u32,
26113 pub disabled_validation_checks: *const ValidationCheckEXT,
26114}
26115
26116impl Default for ValidationFlagsEXT {
26117 #[inline]
26118 fn default() -> Self {
26119 Self {
26120 s_type: StructureType::VALIDATION_FLAGS_EXT,
26121 next: ptr::null(),
26122 disabled_validation_check_count: u32::default(),
26123 disabled_validation_checks: ptr::null(),
26124 }
26125 }
26126}
26127
26128#[repr(C)]
26130#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26131pub struct VertexInputAttributeDescription {
26132 pub location: u32,
26133 pub binding: u32,
26134 pub format: Format,
26135 pub offset: u32,
26136}
26137
26138#[repr(C)]
26140#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26141pub struct VertexInputAttributeDescription2EXT {
26142 pub s_type: StructureType,
26143 pub next: *mut c_void,
26144 pub location: u32,
26145 pub binding: u32,
26146 pub format: Format,
26147 pub offset: u32,
26148}
26149
26150impl Default for VertexInputAttributeDescription2EXT {
26151 #[inline]
26152 fn default() -> Self {
26153 Self {
26154 s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
26155 next: ptr::null_mut(),
26156 location: u32::default(),
26157 binding: u32::default(),
26158 format: Format::default(),
26159 offset: u32::default(),
26160 }
26161 }
26162}
26163
26164#[repr(C)]
26166#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26167pub struct VertexInputBindingDescription {
26168 pub binding: u32,
26169 pub stride: u32,
26170 pub input_rate: VertexInputRate,
26171}
26172
26173#[repr(C)]
26175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26176pub struct VertexInputBindingDescription2EXT {
26177 pub s_type: StructureType,
26178 pub next: *mut c_void,
26179 pub binding: u32,
26180 pub stride: u32,
26181 pub input_rate: VertexInputRate,
26182 pub divisor: u32,
26183}
26184
26185impl Default for VertexInputBindingDescription2EXT {
26186 #[inline]
26187 fn default() -> Self {
26188 Self {
26189 s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
26190 next: ptr::null_mut(),
26191 binding: u32::default(),
26192 stride: u32::default(),
26193 input_rate: VertexInputRate::default(),
26194 divisor: u32::default(),
26195 }
26196 }
26197}
26198
26199#[repr(C)]
26201#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26202pub struct VertexInputBindingDivisorDescription {
26203 pub binding: u32,
26204 pub divisor: u32,
26205}
26206
26207#[repr(C)]
26209#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26210pub struct ViSurfaceCreateInfoNN {
26211 pub s_type: StructureType,
26212 pub next: *const c_void,
26213 pub flags: ViSurfaceCreateFlagsNN,
26214 pub window: *mut c_void,
26215}
26216
26217impl Default for ViSurfaceCreateInfoNN {
26218 #[inline]
26219 fn default() -> Self {
26220 Self {
26221 s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
26222 next: ptr::null(),
26223 flags: ViSurfaceCreateFlagsNN::default(),
26224 window: ptr::null_mut(),
26225 }
26226 }
26227}
26228
26229#[repr(C)]
26231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26232pub struct VideoBeginCodingInfoKHR {
26233 pub s_type: StructureType,
26234 pub next: *const c_void,
26235 pub flags: VideoBeginCodingFlagsKHR,
26236 pub video_session: VideoSessionKHR,
26237 pub video_session_parameters: VideoSessionParametersKHR,
26238 pub reference_slot_count: u32,
26239 pub reference_slots: *const VideoReferenceSlotInfoKHR,
26240}
26241
26242impl Default for VideoBeginCodingInfoKHR {
26243 #[inline]
26244 fn default() -> Self {
26245 Self {
26246 s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
26247 next: ptr::null(),
26248 flags: VideoBeginCodingFlagsKHR::default(),
26249 video_session: VideoSessionKHR::default(),
26250 video_session_parameters: VideoSessionParametersKHR::default(),
26251 reference_slot_count: u32::default(),
26252 reference_slots: ptr::null(),
26253 }
26254 }
26255}
26256
26257#[repr(C)]
26259#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26260pub struct VideoCapabilitiesKHR {
26261 pub s_type: StructureType,
26262 pub next: *mut c_void,
26263 pub flags: VideoCapabilityFlagsKHR,
26264 pub min_bitstream_buffer_offset_alignment: DeviceSize,
26265 pub min_bitstream_buffer_size_alignment: DeviceSize,
26266 pub picture_access_granularity: Extent2D,
26267 pub min_coded_extent: Extent2D,
26268 pub max_coded_extent: Extent2D,
26269 pub max_dpb_slots: u32,
26270 pub max_active_reference_pictures: u32,
26271 pub std_header_version: ExtensionProperties,
26272}
26273
26274impl Default for VideoCapabilitiesKHR {
26275 #[inline]
26276 fn default() -> Self {
26277 Self {
26278 s_type: StructureType::VIDEO_CAPABILITIES_KHR,
26279 next: ptr::null_mut(),
26280 flags: VideoCapabilityFlagsKHR::default(),
26281 min_bitstream_buffer_offset_alignment: DeviceSize::default(),
26282 min_bitstream_buffer_size_alignment: DeviceSize::default(),
26283 picture_access_granularity: Extent2D::default(),
26284 min_coded_extent: Extent2D::default(),
26285 max_coded_extent: Extent2D::default(),
26286 max_dpb_slots: u32::default(),
26287 max_active_reference_pictures: u32::default(),
26288 std_header_version: ExtensionProperties::default(),
26289 }
26290 }
26291}
26292
26293#[repr(C)]
26295#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26296pub struct VideoCodingControlInfoKHR {
26297 pub s_type: StructureType,
26298 pub next: *const c_void,
26299 pub flags: VideoCodingControlFlagsKHR,
26300}
26301
26302impl Default for VideoCodingControlInfoKHR {
26303 #[inline]
26304 fn default() -> Self {
26305 Self {
26306 s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
26307 next: ptr::null(),
26308 flags: VideoCodingControlFlagsKHR::default(),
26309 }
26310 }
26311}
26312
26313#[repr(C)]
26315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26316pub struct VideoDecodeAV1CapabilitiesKHR {
26317 pub s_type: StructureType,
26318 pub next: *mut c_void,
26319 pub max_level: video::StdVideoAV1Level,
26320}
26321
26322impl Default for VideoDecodeAV1CapabilitiesKHR {
26323 #[inline]
26324 fn default() -> Self {
26325 Self {
26326 s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
26327 next: ptr::null_mut(),
26328 max_level: video::StdVideoAV1Level::default(),
26329 }
26330 }
26331}
26332
26333#[repr(C)]
26335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26336pub struct VideoDecodeAV1DpbSlotInfoKHR {
26337 pub s_type: StructureType,
26338 pub next: *const c_void,
26339 pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
26340}
26341
26342impl Default for VideoDecodeAV1DpbSlotInfoKHR {
26343 #[inline]
26344 fn default() -> Self {
26345 Self {
26346 s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
26347 next: ptr::null(),
26348 std_reference_info: ptr::null(),
26349 }
26350 }
26351}
26352
26353#[repr(C)]
26355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26356pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
26357 pub s_type: StructureType,
26358 pub next: *const c_void,
26359 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
26360}
26361
26362impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
26363 #[inline]
26364 fn default() -> Self {
26365 Self {
26366 s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
26367 next: ptr::null(),
26368 std_sequence_header: ptr::null(),
26369 }
26370 }
26371}
26372
26373#[repr(C)]
26375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26376pub struct VideoDecodeAV1PictureInfoKHR {
26377 pub s_type: StructureType,
26378 pub next: *const c_void,
26379 pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
26380 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
26381 pub frame_header_offset: u32,
26382 pub tile_count: u32,
26383 pub tile_offsets: *const u32,
26384 pub tile_sizes: *const u32,
26385}
26386
26387impl Default for VideoDecodeAV1PictureInfoKHR {
26388 #[inline]
26389 fn default() -> Self {
26390 Self {
26391 s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
26392 next: ptr::null(),
26393 std_picture_info: ptr::null(),
26394 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
26395 frame_header_offset: u32::default(),
26396 tile_count: u32::default(),
26397 tile_offsets: ptr::null(),
26398 tile_sizes: ptr::null(),
26399 }
26400 }
26401}
26402
26403#[repr(C)]
26405#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26406pub struct VideoDecodeAV1ProfileInfoKHR {
26407 pub s_type: StructureType,
26408 pub next: *const c_void,
26409 pub std_profile: video::StdVideoAV1Profile,
26410 pub film_grain_support: Bool32,
26411}
26412
26413impl Default for VideoDecodeAV1ProfileInfoKHR {
26414 #[inline]
26415 fn default() -> Self {
26416 Self {
26417 s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
26418 next: ptr::null(),
26419 std_profile: video::StdVideoAV1Profile::default(),
26420 film_grain_support: Bool32::default(),
26421 }
26422 }
26423}
26424
26425#[repr(C)]
26427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26428pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
26429 pub s_type: StructureType,
26430 pub next: *const c_void,
26431 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
26432}
26433
26434impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
26435 #[inline]
26436 fn default() -> Self {
26437 Self {
26438 s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
26439 next: ptr::null(),
26440 std_sequence_header: ptr::null(),
26441 }
26442 }
26443}
26444
26445#[repr(C)]
26447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26448pub struct VideoDecodeCapabilitiesKHR {
26449 pub s_type: StructureType,
26450 pub next: *mut c_void,
26451 pub flags: VideoDecodeCapabilityFlagsKHR,
26452}
26453
26454impl Default for VideoDecodeCapabilitiesKHR {
26455 #[inline]
26456 fn default() -> Self {
26457 Self {
26458 s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
26459 next: ptr::null_mut(),
26460 flags: VideoDecodeCapabilityFlagsKHR::default(),
26461 }
26462 }
26463}
26464
26465#[repr(C)]
26467#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26468pub struct VideoDecodeH264CapabilitiesKHR {
26469 pub s_type: StructureType,
26470 pub next: *mut c_void,
26471 pub max_level_idc: video::StdVideoH264LevelIdc,
26472 pub field_offset_granularity: Offset2D,
26473}
26474
26475impl Default for VideoDecodeH264CapabilitiesKHR {
26476 #[inline]
26477 fn default() -> Self {
26478 Self {
26479 s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
26480 next: ptr::null_mut(),
26481 max_level_idc: video::StdVideoH264LevelIdc::default(),
26482 field_offset_granularity: Offset2D::default(),
26483 }
26484 }
26485}
26486
26487#[repr(C)]
26489#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26490pub struct VideoDecodeH264DpbSlotInfoKHR {
26491 pub s_type: StructureType,
26492 pub next: *const c_void,
26493 pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
26494}
26495
26496impl Default for VideoDecodeH264DpbSlotInfoKHR {
26497 #[inline]
26498 fn default() -> Self {
26499 Self {
26500 s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
26501 next: ptr::null(),
26502 std_reference_info: ptr::null(),
26503 }
26504 }
26505}
26506
26507#[repr(C)]
26509#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26510pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
26511 pub s_type: StructureType,
26512 pub next: *const c_void,
26513 pub std_sps: *const video::StdVideoH264SequenceParameterSet,
26514 pub std_pps: *const video::StdVideoH264PictureParameterSet,
26515}
26516
26517impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
26518 #[inline]
26519 fn default() -> Self {
26520 Self {
26521 s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
26522 next: ptr::null(),
26523 std_sps: ptr::null(),
26524 std_pps: ptr::null(),
26525 }
26526 }
26527}
26528
26529#[repr(C)]
26531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26532pub struct VideoDecodeH264PictureInfoKHR {
26533 pub s_type: StructureType,
26534 pub next: *const c_void,
26535 pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
26536 pub slice_count: u32,
26537 pub slice_offsets: *const u32,
26538}
26539
26540impl Default for VideoDecodeH264PictureInfoKHR {
26541 #[inline]
26542 fn default() -> Self {
26543 Self {
26544 s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
26545 next: ptr::null(),
26546 std_picture_info: ptr::null(),
26547 slice_count: u32::default(),
26548 slice_offsets: ptr::null(),
26549 }
26550 }
26551}
26552
26553#[repr(C)]
26555#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26556pub struct VideoDecodeH264ProfileInfoKHR {
26557 pub s_type: StructureType,
26558 pub next: *const c_void,
26559 pub std_profile_idc: video::StdVideoH264ProfileIdc,
26560 pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
26561}
26562
26563impl Default for VideoDecodeH264ProfileInfoKHR {
26564 #[inline]
26565 fn default() -> Self {
26566 Self {
26567 s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
26568 next: ptr::null(),
26569 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
26570 picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
26571 }
26572 }
26573}
26574
26575#[repr(C)]
26577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26578pub struct VideoDecodeH264SessionParametersAddInfoKHR {
26579 pub s_type: StructureType,
26580 pub next: *const c_void,
26581 pub std_sps_count: u32,
26582 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
26583 pub std_pps_count: u32,
26584 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
26585}
26586
26587impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
26588 #[inline]
26589 fn default() -> Self {
26590 Self {
26591 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
26592 next: ptr::null(),
26593 std_sps_count: u32::default(),
26594 std_sp_ss: ptr::null(),
26595 std_pps_count: u32::default(),
26596 std_pp_ss: ptr::null(),
26597 }
26598 }
26599}
26600
26601#[repr(C)]
26603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26604pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
26605 pub s_type: StructureType,
26606 pub next: *const c_void,
26607 pub max_std_sps_count: u32,
26608 pub max_std_pps_count: u32,
26609 pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
26610}
26611
26612impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
26613 #[inline]
26614 fn default() -> Self {
26615 Self {
26616 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
26617 next: ptr::null(),
26618 max_std_sps_count: u32::default(),
26619 max_std_pps_count: u32::default(),
26620 parameters_add_info: ptr::null(),
26621 }
26622 }
26623}
26624
26625#[repr(C)]
26627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26628pub struct VideoDecodeH265CapabilitiesKHR {
26629 pub s_type: StructureType,
26630 pub next: *mut c_void,
26631 pub max_level_idc: video::StdVideoH265LevelIdc,
26632}
26633
26634impl Default for VideoDecodeH265CapabilitiesKHR {
26635 #[inline]
26636 fn default() -> Self {
26637 Self {
26638 s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
26639 next: ptr::null_mut(),
26640 max_level_idc: video::StdVideoH265LevelIdc::default(),
26641 }
26642 }
26643}
26644
26645#[repr(C)]
26647#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26648pub struct VideoDecodeH265DpbSlotInfoKHR {
26649 pub s_type: StructureType,
26650 pub next: *const c_void,
26651 pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
26652}
26653
26654impl Default for VideoDecodeH265DpbSlotInfoKHR {
26655 #[inline]
26656 fn default() -> Self {
26657 Self {
26658 s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
26659 next: ptr::null(),
26660 std_reference_info: ptr::null(),
26661 }
26662 }
26663}
26664
26665#[repr(C)]
26667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26668pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
26669 pub s_type: StructureType,
26670 pub next: *const c_void,
26671 pub std_vps: *const video::StdVideoH265VideoParameterSet,
26672 pub std_sps: *const video::StdVideoH265SequenceParameterSet,
26673 pub std_pps: *const video::StdVideoH265PictureParameterSet,
26674}
26675
26676impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
26677 #[inline]
26678 fn default() -> Self {
26679 Self {
26680 s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
26681 next: ptr::null(),
26682 std_vps: ptr::null(),
26683 std_sps: ptr::null(),
26684 std_pps: ptr::null(),
26685 }
26686 }
26687}
26688
26689#[repr(C)]
26691#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26692pub struct VideoDecodeH265PictureInfoKHR {
26693 pub s_type: StructureType,
26694 pub next: *const c_void,
26695 pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
26696 pub slice_segment_count: u32,
26697 pub slice_segment_offsets: *const u32,
26698}
26699
26700impl Default for VideoDecodeH265PictureInfoKHR {
26701 #[inline]
26702 fn default() -> Self {
26703 Self {
26704 s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
26705 next: ptr::null(),
26706 std_picture_info: ptr::null(),
26707 slice_segment_count: u32::default(),
26708 slice_segment_offsets: ptr::null(),
26709 }
26710 }
26711}
26712
26713#[repr(C)]
26715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26716pub struct VideoDecodeH265ProfileInfoKHR {
26717 pub s_type: StructureType,
26718 pub next: *const c_void,
26719 pub std_profile_idc: video::StdVideoH265ProfileIdc,
26720}
26721
26722impl Default for VideoDecodeH265ProfileInfoKHR {
26723 #[inline]
26724 fn default() -> Self {
26725 Self {
26726 s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
26727 next: ptr::null(),
26728 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
26729 }
26730 }
26731}
26732
26733#[repr(C)]
26735#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26736pub struct VideoDecodeH265SessionParametersAddInfoKHR {
26737 pub s_type: StructureType,
26738 pub next: *const c_void,
26739 pub std_vps_count: u32,
26740 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
26741 pub std_sps_count: u32,
26742 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
26743 pub std_pps_count: u32,
26744 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
26745}
26746
26747impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
26748 #[inline]
26749 fn default() -> Self {
26750 Self {
26751 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
26752 next: ptr::null(),
26753 std_vps_count: u32::default(),
26754 std_vp_ss: ptr::null(),
26755 std_sps_count: u32::default(),
26756 std_sp_ss: ptr::null(),
26757 std_pps_count: u32::default(),
26758 std_pp_ss: ptr::null(),
26759 }
26760 }
26761}
26762
26763#[repr(C)]
26765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26766pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
26767 pub s_type: StructureType,
26768 pub next: *const c_void,
26769 pub max_std_vps_count: u32,
26770 pub max_std_sps_count: u32,
26771 pub max_std_pps_count: u32,
26772 pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
26773}
26774
26775impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
26776 #[inline]
26777 fn default() -> Self {
26778 Self {
26779 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
26780 next: ptr::null(),
26781 max_std_vps_count: u32::default(),
26782 max_std_sps_count: u32::default(),
26783 max_std_pps_count: u32::default(),
26784 parameters_add_info: ptr::null(),
26785 }
26786 }
26787}
26788
26789#[repr(C)]
26791#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26792pub struct VideoDecodeInfoKHR {
26793 pub s_type: StructureType,
26794 pub next: *const c_void,
26795 pub flags: VideoDecodeFlagsKHR,
26796 pub src_buffer: Buffer,
26797 pub src_buffer_offset: DeviceSize,
26798 pub src_buffer_range: DeviceSize,
26799 pub dst_picture_resource: VideoPictureResourceInfoKHR,
26800 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
26801 pub reference_slot_count: u32,
26802 pub reference_slots: *const VideoReferenceSlotInfoKHR,
26803}
26804
26805impl Default for VideoDecodeInfoKHR {
26806 #[inline]
26807 fn default() -> Self {
26808 Self {
26809 s_type: StructureType::VIDEO_DECODE_INFO_KHR,
26810 next: ptr::null(),
26811 flags: VideoDecodeFlagsKHR::default(),
26812 src_buffer: Buffer::default(),
26813 src_buffer_offset: DeviceSize::default(),
26814 src_buffer_range: DeviceSize::default(),
26815 dst_picture_resource: VideoPictureResourceInfoKHR::default(),
26816 setup_reference_slot: ptr::null(),
26817 reference_slot_count: u32::default(),
26818 reference_slots: ptr::null(),
26819 }
26820 }
26821}
26822
26823#[repr(C)]
26825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26826pub struct VideoDecodeUsageInfoKHR {
26827 pub s_type: StructureType,
26828 pub next: *const c_void,
26829 pub video_usage_hints: VideoDecodeUsageFlagsKHR,
26830}
26831
26832impl Default for VideoDecodeUsageInfoKHR {
26833 #[inline]
26834 fn default() -> Self {
26835 Self {
26836 s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
26837 next: ptr::null(),
26838 video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
26839 }
26840 }
26841}
26842
26843#[repr(C)]
26845#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26846pub struct VideoDecodeVP9CapabilitiesKHR {
26847 pub s_type: StructureType,
26848 pub next: *mut c_void,
26849 pub max_level: video::StdVideoVP9Level,
26850}
26851
26852impl Default for VideoDecodeVP9CapabilitiesKHR {
26853 #[inline]
26854 fn default() -> Self {
26855 Self {
26856 s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
26857 next: ptr::null_mut(),
26858 max_level: video::StdVideoVP9Level::default(),
26859 }
26860 }
26861}
26862
26863#[repr(C)]
26865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26866pub struct VideoDecodeVP9PictureInfoKHR {
26867 pub s_type: StructureType,
26868 pub next: *const c_void,
26869 pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
26870 pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
26871 pub uncompressed_header_offset: u32,
26872 pub compressed_header_offset: u32,
26873 pub tiles_offset: u32,
26874}
26875
26876impl Default for VideoDecodeVP9PictureInfoKHR {
26877 #[inline]
26878 fn default() -> Self {
26879 Self {
26880 s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
26881 next: ptr::null(),
26882 std_picture_info: ptr::null(),
26883 reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
26884 uncompressed_header_offset: u32::default(),
26885 compressed_header_offset: u32::default(),
26886 tiles_offset: u32::default(),
26887 }
26888 }
26889}
26890
26891#[repr(C)]
26893#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26894pub struct VideoDecodeVP9ProfileInfoKHR {
26895 pub s_type: StructureType,
26896 pub next: *const c_void,
26897 pub std_profile: video::StdVideoVP9Profile,
26898}
26899
26900impl Default for VideoDecodeVP9ProfileInfoKHR {
26901 #[inline]
26902 fn default() -> Self {
26903 Self {
26904 s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
26905 next: ptr::null(),
26906 std_profile: video::StdVideoVP9Profile::default(),
26907 }
26908 }
26909}
26910
26911#[repr(C)]
26913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26914pub struct VideoEncodeAV1CapabilitiesKHR {
26915 pub s_type: StructureType,
26916 pub next: *mut c_void,
26917 pub flags: VideoEncodeAV1CapabilityFlagsKHR,
26918 pub max_level: video::StdVideoAV1Level,
26919 pub coded_picture_alignment: Extent2D,
26920 pub max_tiles: Extent2D,
26921 pub min_tile_size: Extent2D,
26922 pub max_tile_size: Extent2D,
26923 pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
26924 pub max_single_reference_count: u32,
26925 pub single_reference_name_mask: u32,
26926 pub max_unidirectional_compound_reference_count: u32,
26927 pub max_unidirectional_compound_group1_reference_count: u32,
26928 pub unidirectional_compound_reference_name_mask: u32,
26929 pub max_bidirectional_compound_reference_count: u32,
26930 pub max_bidirectional_compound_group1_reference_count: u32,
26931 pub max_bidirectional_compound_group2_reference_count: u32,
26932 pub bidirectional_compound_reference_name_mask: u32,
26933 pub max_temporal_layer_count: u32,
26934 pub max_spatial_layer_count: u32,
26935 pub max_operating_points: u32,
26936 pub min_q_index: u32,
26937 pub max_q_index: u32,
26938 pub prefers_gop_remaining_frames: Bool32,
26939 pub requires_gop_remaining_frames: Bool32,
26940 pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
26941}
26942
26943impl Default for VideoEncodeAV1CapabilitiesKHR {
26944 #[inline]
26945 fn default() -> Self {
26946 Self {
26947 s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
26948 next: ptr::null_mut(),
26949 flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
26950 max_level: video::StdVideoAV1Level::default(),
26951 coded_picture_alignment: Extent2D::default(),
26952 max_tiles: Extent2D::default(),
26953 min_tile_size: Extent2D::default(),
26954 max_tile_size: Extent2D::default(),
26955 superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
26956 max_single_reference_count: u32::default(),
26957 single_reference_name_mask: u32::default(),
26958 max_unidirectional_compound_reference_count: u32::default(),
26959 max_unidirectional_compound_group1_reference_count: u32::default(),
26960 unidirectional_compound_reference_name_mask: u32::default(),
26961 max_bidirectional_compound_reference_count: u32::default(),
26962 max_bidirectional_compound_group1_reference_count: u32::default(),
26963 max_bidirectional_compound_group2_reference_count: u32::default(),
26964 bidirectional_compound_reference_name_mask: u32::default(),
26965 max_temporal_layer_count: u32::default(),
26966 max_spatial_layer_count: u32::default(),
26967 max_operating_points: u32::default(),
26968 min_q_index: u32::default(),
26969 max_q_index: u32::default(),
26970 prefers_gop_remaining_frames: Bool32::default(),
26971 requires_gop_remaining_frames: Bool32::default(),
26972 std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
26973 }
26974 }
26975}
26976
26977#[repr(C)]
26979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26980pub struct VideoEncodeAV1DpbSlotInfoKHR {
26981 pub s_type: StructureType,
26982 pub next: *const c_void,
26983 pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
26984}
26985
26986impl Default for VideoEncodeAV1DpbSlotInfoKHR {
26987 #[inline]
26988 fn default() -> Self {
26989 Self {
26990 s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
26991 next: ptr::null(),
26992 std_reference_info: ptr::null(),
26993 }
26994 }
26995}
26996
26997#[repr(C)]
26999#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27000pub struct VideoEncodeAV1FrameSizeKHR {
27001 pub intra_frame_size: u32,
27002 pub predictive_frame_size: u32,
27003 pub bipredictive_frame_size: u32,
27004}
27005
27006#[repr(C)]
27008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27009pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
27010 pub s_type: StructureType,
27011 pub next: *const c_void,
27012 pub use_gop_remaining_frames: Bool32,
27013 pub gop_remaining_intra: u32,
27014 pub gop_remaining_predictive: u32,
27015 pub gop_remaining_bipredictive: u32,
27016}
27017
27018impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
27019 #[inline]
27020 fn default() -> Self {
27021 Self {
27022 s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
27023 next: ptr::null(),
27024 use_gop_remaining_frames: Bool32::default(),
27025 gop_remaining_intra: u32::default(),
27026 gop_remaining_predictive: u32::default(),
27027 gop_remaining_bipredictive: u32::default(),
27028 }
27029 }
27030}
27031
27032#[repr(C)]
27034#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27035pub struct VideoEncodeAV1PictureInfoKHR {
27036 pub s_type: StructureType,
27037 pub next: *const c_void,
27038 pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
27039 pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
27040 pub constant_q_index: u32,
27041 pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
27042 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
27043 pub primary_reference_cdf_only: Bool32,
27044 pub generate_obu_extension_header: Bool32,
27045}
27046
27047impl Default for VideoEncodeAV1PictureInfoKHR {
27048 #[inline]
27049 fn default() -> Self {
27050 Self {
27051 s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
27052 next: ptr::null(),
27053 prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
27054 rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
27055 constant_q_index: u32::default(),
27056 std_picture_info: ptr::null(),
27057 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
27058 primary_reference_cdf_only: Bool32::default(),
27059 generate_obu_extension_header: Bool32::default(),
27060 }
27061 }
27062}
27063
27064#[repr(C)]
27066#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27067pub struct VideoEncodeAV1ProfileInfoKHR {
27068 pub s_type: StructureType,
27069 pub next: *const c_void,
27070 pub std_profile: video::StdVideoAV1Profile,
27071}
27072
27073impl Default for VideoEncodeAV1ProfileInfoKHR {
27074 #[inline]
27075 fn default() -> Self {
27076 Self {
27077 s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
27078 next: ptr::null(),
27079 std_profile: video::StdVideoAV1Profile::default(),
27080 }
27081 }
27082}
27083
27084#[repr(C)]
27086#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27087pub struct VideoEncodeAV1QIndexKHR {
27088 pub intra_q_index: u32,
27089 pub predictive_q_index: u32,
27090 pub bipredictive_q_index: u32,
27091}
27092
27093#[repr(C)]
27095#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27096pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
27097 pub s_type: StructureType,
27098 pub next: *mut c_void,
27099 pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
27100 pub preferred_gop_frame_count: u32,
27101 pub preferred_key_frame_period: u32,
27102 pub preferred_consecutive_bipredictive_frame_count: u32,
27103 pub preferred_temporal_layer_count: u32,
27104 pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
27105 pub preferred_max_single_reference_count: u32,
27106 pub preferred_single_reference_name_mask: u32,
27107 pub preferred_max_unidirectional_compound_reference_count: u32,
27108 pub preferred_max_unidirectional_compound_group1_reference_count: u32,
27109 pub preferred_unidirectional_compound_reference_name_mask: u32,
27110 pub preferred_max_bidirectional_compound_reference_count: u32,
27111 pub preferred_max_bidirectional_compound_group1_reference_count: u32,
27112 pub preferred_max_bidirectional_compound_group2_reference_count: u32,
27113 pub preferred_bidirectional_compound_reference_name_mask: u32,
27114}
27115
27116impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
27117 #[inline]
27118 fn default() -> Self {
27119 Self {
27120 s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
27121 next: ptr::null_mut(),
27122 preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
27123 preferred_gop_frame_count: u32::default(),
27124 preferred_key_frame_period: u32::default(),
27125 preferred_consecutive_bipredictive_frame_count: u32::default(),
27126 preferred_temporal_layer_count: u32::default(),
27127 preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
27128 preferred_max_single_reference_count: u32::default(),
27129 preferred_single_reference_name_mask: u32::default(),
27130 preferred_max_unidirectional_compound_reference_count: u32::default(),
27131 preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
27132 preferred_unidirectional_compound_reference_name_mask: u32::default(),
27133 preferred_max_bidirectional_compound_reference_count: u32::default(),
27134 preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
27135 preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
27136 preferred_bidirectional_compound_reference_name_mask: u32::default(),
27137 }
27138 }
27139}
27140
27141#[repr(C)]
27143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27144pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
27145 pub s_type: StructureType,
27146 pub next: *mut c_void,
27147 pub min_q_index_delta: i32,
27148 pub max_q_index_delta: i32,
27149}
27150
27151impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
27152 #[inline]
27153 fn default() -> Self {
27154 Self {
27155 s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
27156 next: ptr::null_mut(),
27157 min_q_index_delta: i32::default(),
27158 max_q_index_delta: i32::default(),
27159 }
27160 }
27161}
27162
27163#[repr(C)]
27165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27166pub struct VideoEncodeAV1RateControlInfoKHR {
27167 pub s_type: StructureType,
27168 pub next: *const c_void,
27169 pub flags: VideoEncodeAV1RateControlFlagsKHR,
27170 pub gop_frame_count: u32,
27171 pub key_frame_period: u32,
27172 pub consecutive_bipredictive_frame_count: u32,
27173 pub temporal_layer_count: u32,
27174}
27175
27176impl Default for VideoEncodeAV1RateControlInfoKHR {
27177 #[inline]
27178 fn default() -> Self {
27179 Self {
27180 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
27181 next: ptr::null(),
27182 flags: VideoEncodeAV1RateControlFlagsKHR::default(),
27183 gop_frame_count: u32::default(),
27184 key_frame_period: u32::default(),
27185 consecutive_bipredictive_frame_count: u32::default(),
27186 temporal_layer_count: u32::default(),
27187 }
27188 }
27189}
27190
27191#[repr(C)]
27193#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27194pub struct VideoEncodeAV1RateControlLayerInfoKHR {
27195 pub s_type: StructureType,
27196 pub next: *const c_void,
27197 pub use_min_q_index: Bool32,
27198 pub min_q_index: VideoEncodeAV1QIndexKHR,
27199 pub use_max_q_index: Bool32,
27200 pub max_q_index: VideoEncodeAV1QIndexKHR,
27201 pub use_max_frame_size: Bool32,
27202 pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
27203}
27204
27205impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
27206 #[inline]
27207 fn default() -> Self {
27208 Self {
27209 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
27210 next: ptr::null(),
27211 use_min_q_index: Bool32::default(),
27212 min_q_index: VideoEncodeAV1QIndexKHR::default(),
27213 use_max_q_index: Bool32::default(),
27214 max_q_index: VideoEncodeAV1QIndexKHR::default(),
27215 use_max_frame_size: Bool32::default(),
27216 max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
27217 }
27218 }
27219}
27220
27221#[repr(C)]
27223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27224pub struct VideoEncodeAV1SessionCreateInfoKHR {
27225 pub s_type: StructureType,
27226 pub next: *const c_void,
27227 pub use_max_level: Bool32,
27228 pub max_level: video::StdVideoAV1Level,
27229}
27230
27231impl Default for VideoEncodeAV1SessionCreateInfoKHR {
27232 #[inline]
27233 fn default() -> Self {
27234 Self {
27235 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
27236 next: ptr::null(),
27237 use_max_level: Bool32::default(),
27238 max_level: video::StdVideoAV1Level::default(),
27239 }
27240 }
27241}
27242
27243#[repr(C)]
27245#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27246pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
27247 pub s_type: StructureType,
27248 pub next: *const c_void,
27249 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
27250 pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
27251 pub std_operating_point_count: u32,
27252 pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
27253}
27254
27255impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
27256 #[inline]
27257 fn default() -> Self {
27258 Self {
27259 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
27260 next: ptr::null(),
27261 std_sequence_header: ptr::null(),
27262 std_decoder_model_info: ptr::null(),
27263 std_operating_point_count: u32::default(),
27264 std_operating_points: ptr::null(),
27265 }
27266 }
27267}
27268
27269#[repr(C)]
27271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27272pub struct VideoEncodeCapabilitiesKHR {
27273 pub s_type: StructureType,
27274 pub next: *mut c_void,
27275 pub flags: VideoEncodeCapabilityFlagsKHR,
27276 pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
27277 pub max_rate_control_layers: u32,
27278 pub max_bitrate: u64,
27279 pub max_quality_levels: u32,
27280 pub encode_input_picture_granularity: Extent2D,
27281 pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
27282}
27283
27284impl Default for VideoEncodeCapabilitiesKHR {
27285 #[inline]
27286 fn default() -> Self {
27287 Self {
27288 s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
27289 next: ptr::null_mut(),
27290 flags: VideoEncodeCapabilityFlagsKHR::default(),
27291 rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
27292 max_rate_control_layers: u32::default(),
27293 max_bitrate: u64::default(),
27294 max_quality_levels: u32::default(),
27295 encode_input_picture_granularity: Extent2D::default(),
27296 supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
27297 }
27298 }
27299}
27300
27301#[repr(C)]
27303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27304pub struct VideoEncodeH264CapabilitiesKHR {
27305 pub s_type: StructureType,
27306 pub next: *mut c_void,
27307 pub flags: VideoEncodeH264CapabilityFlagsKHR,
27308 pub max_level_idc: video::StdVideoH264LevelIdc,
27309 pub max_slice_count: u32,
27310 pub max_p_picture_l0_reference_count: u32,
27311 pub max_b_picture_l0_reference_count: u32,
27312 pub max_l1_reference_count: u32,
27313 pub max_temporal_layer_count: u32,
27314 pub expect_dyadic_temporal_layer_pattern: Bool32,
27315 pub min_qp: i32,
27316 pub max_qp: i32,
27317 pub prefers_gop_remaining_frames: Bool32,
27318 pub requires_gop_remaining_frames: Bool32,
27319 pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
27320}
27321
27322impl Default for VideoEncodeH264CapabilitiesKHR {
27323 #[inline]
27324 fn default() -> Self {
27325 Self {
27326 s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
27327 next: ptr::null_mut(),
27328 flags: VideoEncodeH264CapabilityFlagsKHR::default(),
27329 max_level_idc: video::StdVideoH264LevelIdc::default(),
27330 max_slice_count: u32::default(),
27331 max_p_picture_l0_reference_count: u32::default(),
27332 max_b_picture_l0_reference_count: u32::default(),
27333 max_l1_reference_count: u32::default(),
27334 max_temporal_layer_count: u32::default(),
27335 expect_dyadic_temporal_layer_pattern: Bool32::default(),
27336 min_qp: i32::default(),
27337 max_qp: i32::default(),
27338 prefers_gop_remaining_frames: Bool32::default(),
27339 requires_gop_remaining_frames: Bool32::default(),
27340 std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
27341 }
27342 }
27343}
27344
27345#[repr(C)]
27347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27348pub struct VideoEncodeH264DpbSlotInfoKHR {
27349 pub s_type: StructureType,
27350 pub next: *const c_void,
27351 pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
27352}
27353
27354impl Default for VideoEncodeH264DpbSlotInfoKHR {
27355 #[inline]
27356 fn default() -> Self {
27357 Self {
27358 s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
27359 next: ptr::null(),
27360 std_reference_info: ptr::null(),
27361 }
27362 }
27363}
27364
27365#[repr(C)]
27367#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27368pub struct VideoEncodeH264FrameSizeKHR {
27369 pub frame_i_size: u32,
27370 pub frame_p_size: u32,
27371 pub frame_b_size: u32,
27372}
27373
27374#[repr(C)]
27376#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27377pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
27378 pub s_type: StructureType,
27379 pub next: *const c_void,
27380 pub use_gop_remaining_frames: Bool32,
27381 pub gop_remaining_i: u32,
27382 pub gop_remaining_p: u32,
27383 pub gop_remaining_b: u32,
27384}
27385
27386impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
27387 #[inline]
27388 fn default() -> Self {
27389 Self {
27390 s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
27391 next: ptr::null(),
27392 use_gop_remaining_frames: Bool32::default(),
27393 gop_remaining_i: u32::default(),
27394 gop_remaining_p: u32::default(),
27395 gop_remaining_b: u32::default(),
27396 }
27397 }
27398}
27399
27400#[repr(C)]
27402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27403pub struct VideoEncodeH264NaluSliceInfoKHR {
27404 pub s_type: StructureType,
27405 pub next: *const c_void,
27406 pub constant_qp: i32,
27407 pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
27408}
27409
27410impl Default for VideoEncodeH264NaluSliceInfoKHR {
27411 #[inline]
27412 fn default() -> Self {
27413 Self {
27414 s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
27415 next: ptr::null(),
27416 constant_qp: i32::default(),
27417 std_slice_header: ptr::null(),
27418 }
27419 }
27420}
27421
27422#[repr(C)]
27424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27425pub struct VideoEncodeH264PictureInfoKHR {
27426 pub s_type: StructureType,
27427 pub next: *const c_void,
27428 pub nalu_slice_entry_count: u32,
27429 pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
27430 pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
27431 pub generate_prefix_nalu: Bool32,
27432}
27433
27434impl Default for VideoEncodeH264PictureInfoKHR {
27435 #[inline]
27436 fn default() -> Self {
27437 Self {
27438 s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
27439 next: ptr::null(),
27440 nalu_slice_entry_count: u32::default(),
27441 nalu_slice_entries: ptr::null(),
27442 std_picture_info: ptr::null(),
27443 generate_prefix_nalu: Bool32::default(),
27444 }
27445 }
27446}
27447
27448#[repr(C)]
27450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27451pub struct VideoEncodeH264ProfileInfoKHR {
27452 pub s_type: StructureType,
27453 pub next: *const c_void,
27454 pub std_profile_idc: video::StdVideoH264ProfileIdc,
27455}
27456
27457impl Default for VideoEncodeH264ProfileInfoKHR {
27458 #[inline]
27459 fn default() -> Self {
27460 Self {
27461 s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
27462 next: ptr::null(),
27463 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
27464 }
27465 }
27466}
27467
27468#[repr(C)]
27470#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27471pub struct VideoEncodeH264QpKHR {
27472 pub qp_i: i32,
27473 pub qp_p: i32,
27474 pub qp_b: i32,
27475}
27476
27477#[repr(C)]
27479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27480pub struct VideoEncodeH264QualityLevelPropertiesKHR {
27481 pub s_type: StructureType,
27482 pub next: *mut c_void,
27483 pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
27484 pub preferred_gop_frame_count: u32,
27485 pub preferred_idr_period: u32,
27486 pub preferred_consecutive_b_frame_count: u32,
27487 pub preferred_temporal_layer_count: u32,
27488 pub preferred_constant_qp: VideoEncodeH264QpKHR,
27489 pub preferred_max_l0_reference_count: u32,
27490 pub preferred_max_l1_reference_count: u32,
27491 pub preferred_std_entropy_coding_mode_flag: Bool32,
27492}
27493
27494impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
27495 #[inline]
27496 fn default() -> Self {
27497 Self {
27498 s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
27499 next: ptr::null_mut(),
27500 preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
27501 preferred_gop_frame_count: u32::default(),
27502 preferred_idr_period: u32::default(),
27503 preferred_consecutive_b_frame_count: u32::default(),
27504 preferred_temporal_layer_count: u32::default(),
27505 preferred_constant_qp: VideoEncodeH264QpKHR::default(),
27506 preferred_max_l0_reference_count: u32::default(),
27507 preferred_max_l1_reference_count: u32::default(),
27508 preferred_std_entropy_coding_mode_flag: Bool32::default(),
27509 }
27510 }
27511}
27512
27513#[repr(C)]
27515#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27516pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
27517 pub s_type: StructureType,
27518 pub next: *mut c_void,
27519 pub min_qp_delta: i32,
27520 pub max_qp_delta: i32,
27521}
27522
27523impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
27524 #[inline]
27525 fn default() -> Self {
27526 Self {
27527 s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
27528 next: ptr::null_mut(),
27529 min_qp_delta: i32::default(),
27530 max_qp_delta: i32::default(),
27531 }
27532 }
27533}
27534
27535#[repr(C)]
27537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27538pub struct VideoEncodeH264RateControlInfoKHR {
27539 pub s_type: StructureType,
27540 pub next: *const c_void,
27541 pub flags: VideoEncodeH264RateControlFlagsKHR,
27542 pub gop_frame_count: u32,
27543 pub idr_period: u32,
27544 pub consecutive_b_frame_count: u32,
27545 pub temporal_layer_count: u32,
27546}
27547
27548impl Default for VideoEncodeH264RateControlInfoKHR {
27549 #[inline]
27550 fn default() -> Self {
27551 Self {
27552 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
27553 next: ptr::null(),
27554 flags: VideoEncodeH264RateControlFlagsKHR::default(),
27555 gop_frame_count: u32::default(),
27556 idr_period: u32::default(),
27557 consecutive_b_frame_count: u32::default(),
27558 temporal_layer_count: u32::default(),
27559 }
27560 }
27561}
27562
27563#[repr(C)]
27565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27566pub struct VideoEncodeH264RateControlLayerInfoKHR {
27567 pub s_type: StructureType,
27568 pub next: *const c_void,
27569 pub use_min_qp: Bool32,
27570 pub min_qp: VideoEncodeH264QpKHR,
27571 pub use_max_qp: Bool32,
27572 pub max_qp: VideoEncodeH264QpKHR,
27573 pub use_max_frame_size: Bool32,
27574 pub max_frame_size: VideoEncodeH264FrameSizeKHR,
27575}
27576
27577impl Default for VideoEncodeH264RateControlLayerInfoKHR {
27578 #[inline]
27579 fn default() -> Self {
27580 Self {
27581 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
27582 next: ptr::null(),
27583 use_min_qp: Bool32::default(),
27584 min_qp: VideoEncodeH264QpKHR::default(),
27585 use_max_qp: Bool32::default(),
27586 max_qp: VideoEncodeH264QpKHR::default(),
27587 use_max_frame_size: Bool32::default(),
27588 max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
27589 }
27590 }
27591}
27592
27593#[repr(C)]
27595#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27596pub struct VideoEncodeH264SessionCreateInfoKHR {
27597 pub s_type: StructureType,
27598 pub next: *const c_void,
27599 pub use_max_level_idc: Bool32,
27600 pub max_level_idc: video::StdVideoH264LevelIdc,
27601}
27602
27603impl Default for VideoEncodeH264SessionCreateInfoKHR {
27604 #[inline]
27605 fn default() -> Self {
27606 Self {
27607 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
27608 next: ptr::null(),
27609 use_max_level_idc: Bool32::default(),
27610 max_level_idc: video::StdVideoH264LevelIdc::default(),
27611 }
27612 }
27613}
27614
27615#[repr(C)]
27617#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27618pub struct VideoEncodeH264SessionParametersAddInfoKHR {
27619 pub s_type: StructureType,
27620 pub next: *const c_void,
27621 pub std_sps_count: u32,
27622 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
27623 pub std_pps_count: u32,
27624 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
27625}
27626
27627impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
27628 #[inline]
27629 fn default() -> Self {
27630 Self {
27631 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
27632 next: ptr::null(),
27633 std_sps_count: u32::default(),
27634 std_sp_ss: ptr::null(),
27635 std_pps_count: u32::default(),
27636 std_pp_ss: ptr::null(),
27637 }
27638 }
27639}
27640
27641#[repr(C)]
27643#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27644pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
27645 pub s_type: StructureType,
27646 pub next: *const c_void,
27647 pub max_std_sps_count: u32,
27648 pub max_std_pps_count: u32,
27649 pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
27650}
27651
27652impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
27653 #[inline]
27654 fn default() -> Self {
27655 Self {
27656 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
27657 next: ptr::null(),
27658 max_std_sps_count: u32::default(),
27659 max_std_pps_count: u32::default(),
27660 parameters_add_info: ptr::null(),
27661 }
27662 }
27663}
27664
27665#[repr(C)]
27667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27668pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
27669 pub s_type: StructureType,
27670 pub next: *mut c_void,
27671 pub has_std_sps_overrides: Bool32,
27672 pub has_std_pps_overrides: Bool32,
27673}
27674
27675impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
27676 #[inline]
27677 fn default() -> Self {
27678 Self {
27679 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
27680 next: ptr::null_mut(),
27681 has_std_sps_overrides: Bool32::default(),
27682 has_std_pps_overrides: Bool32::default(),
27683 }
27684 }
27685}
27686
27687#[repr(C)]
27689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27690pub struct VideoEncodeH264SessionParametersGetInfoKHR {
27691 pub s_type: StructureType,
27692 pub next: *const c_void,
27693 pub write_std_sps: Bool32,
27694 pub write_std_pps: Bool32,
27695 pub std_sps_id: u32,
27696 pub std_pps_id: u32,
27697}
27698
27699impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
27700 #[inline]
27701 fn default() -> Self {
27702 Self {
27703 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
27704 next: ptr::null(),
27705 write_std_sps: Bool32::default(),
27706 write_std_pps: Bool32::default(),
27707 std_sps_id: u32::default(),
27708 std_pps_id: u32::default(),
27709 }
27710 }
27711}
27712
27713#[repr(C)]
27715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27716pub struct VideoEncodeH265CapabilitiesKHR {
27717 pub s_type: StructureType,
27718 pub next: *mut c_void,
27719 pub flags: VideoEncodeH265CapabilityFlagsKHR,
27720 pub max_level_idc: video::StdVideoH265LevelIdc,
27721 pub max_slice_segment_count: u32,
27722 pub max_tiles: Extent2D,
27723 pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
27724 pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
27725 pub max_p_picture_l0_reference_count: u32,
27726 pub max_b_picture_l0_reference_count: u32,
27727 pub max_l1_reference_count: u32,
27728 pub max_sub_layer_count: u32,
27729 pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
27730 pub min_qp: i32,
27731 pub max_qp: i32,
27732 pub prefers_gop_remaining_frames: Bool32,
27733 pub requires_gop_remaining_frames: Bool32,
27734 pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
27735}
27736
27737impl Default for VideoEncodeH265CapabilitiesKHR {
27738 #[inline]
27739 fn default() -> Self {
27740 Self {
27741 s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
27742 next: ptr::null_mut(),
27743 flags: VideoEncodeH265CapabilityFlagsKHR::default(),
27744 max_level_idc: video::StdVideoH265LevelIdc::default(),
27745 max_slice_segment_count: u32::default(),
27746 max_tiles: Extent2D::default(),
27747 ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
27748 transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
27749 max_p_picture_l0_reference_count: u32::default(),
27750 max_b_picture_l0_reference_count: u32::default(),
27751 max_l1_reference_count: u32::default(),
27752 max_sub_layer_count: u32::default(),
27753 expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
27754 min_qp: i32::default(),
27755 max_qp: i32::default(),
27756 prefers_gop_remaining_frames: Bool32::default(),
27757 requires_gop_remaining_frames: Bool32::default(),
27758 std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
27759 }
27760 }
27761}
27762
27763#[repr(C)]
27765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27766pub struct VideoEncodeH265DpbSlotInfoKHR {
27767 pub s_type: StructureType,
27768 pub next: *const c_void,
27769 pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
27770}
27771
27772impl Default for VideoEncodeH265DpbSlotInfoKHR {
27773 #[inline]
27774 fn default() -> Self {
27775 Self {
27776 s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
27777 next: ptr::null(),
27778 std_reference_info: ptr::null(),
27779 }
27780 }
27781}
27782
27783#[repr(C)]
27785#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27786pub struct VideoEncodeH265FrameSizeKHR {
27787 pub frame_i_size: u32,
27788 pub frame_p_size: u32,
27789 pub frame_b_size: u32,
27790}
27791
27792#[repr(C)]
27794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27795pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
27796 pub s_type: StructureType,
27797 pub next: *const c_void,
27798 pub use_gop_remaining_frames: Bool32,
27799 pub gop_remaining_i: u32,
27800 pub gop_remaining_p: u32,
27801 pub gop_remaining_b: u32,
27802}
27803
27804impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
27805 #[inline]
27806 fn default() -> Self {
27807 Self {
27808 s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
27809 next: ptr::null(),
27810 use_gop_remaining_frames: Bool32::default(),
27811 gop_remaining_i: u32::default(),
27812 gop_remaining_p: u32::default(),
27813 gop_remaining_b: u32::default(),
27814 }
27815 }
27816}
27817
27818#[repr(C)]
27820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27821pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
27822 pub s_type: StructureType,
27823 pub next: *const c_void,
27824 pub constant_qp: i32,
27825 pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
27826}
27827
27828impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
27829 #[inline]
27830 fn default() -> Self {
27831 Self {
27832 s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
27833 next: ptr::null(),
27834 constant_qp: i32::default(),
27835 std_slice_segment_header: ptr::null(),
27836 }
27837 }
27838}
27839
27840#[repr(C)]
27842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27843pub struct VideoEncodeH265PictureInfoKHR {
27844 pub s_type: StructureType,
27845 pub next: *const c_void,
27846 pub nalu_slice_segment_entry_count: u32,
27847 pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
27848 pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
27849}
27850
27851impl Default for VideoEncodeH265PictureInfoKHR {
27852 #[inline]
27853 fn default() -> Self {
27854 Self {
27855 s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
27856 next: ptr::null(),
27857 nalu_slice_segment_entry_count: u32::default(),
27858 nalu_slice_segment_entries: ptr::null(),
27859 std_picture_info: ptr::null(),
27860 }
27861 }
27862}
27863
27864#[repr(C)]
27866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27867pub struct VideoEncodeH265ProfileInfoKHR {
27868 pub s_type: StructureType,
27869 pub next: *const c_void,
27870 pub std_profile_idc: video::StdVideoH265ProfileIdc,
27871}
27872
27873impl Default for VideoEncodeH265ProfileInfoKHR {
27874 #[inline]
27875 fn default() -> Self {
27876 Self {
27877 s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
27878 next: ptr::null(),
27879 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
27880 }
27881 }
27882}
27883
27884#[repr(C)]
27886#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27887pub struct VideoEncodeH265QpKHR {
27888 pub qp_i: i32,
27889 pub qp_p: i32,
27890 pub qp_b: i32,
27891}
27892
27893#[repr(C)]
27895#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27896pub struct VideoEncodeH265QualityLevelPropertiesKHR {
27897 pub s_type: StructureType,
27898 pub next: *mut c_void,
27899 pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
27900 pub preferred_gop_frame_count: u32,
27901 pub preferred_idr_period: u32,
27902 pub preferred_consecutive_b_frame_count: u32,
27903 pub preferred_sub_layer_count: u32,
27904 pub preferred_constant_qp: VideoEncodeH265QpKHR,
27905 pub preferred_max_l0_reference_count: u32,
27906 pub preferred_max_l1_reference_count: u32,
27907}
27908
27909impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
27910 #[inline]
27911 fn default() -> Self {
27912 Self {
27913 s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
27914 next: ptr::null_mut(),
27915 preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
27916 preferred_gop_frame_count: u32::default(),
27917 preferred_idr_period: u32::default(),
27918 preferred_consecutive_b_frame_count: u32::default(),
27919 preferred_sub_layer_count: u32::default(),
27920 preferred_constant_qp: VideoEncodeH265QpKHR::default(),
27921 preferred_max_l0_reference_count: u32::default(),
27922 preferred_max_l1_reference_count: u32::default(),
27923 }
27924 }
27925}
27926
27927#[repr(C)]
27929#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27930pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
27931 pub s_type: StructureType,
27932 pub next: *mut c_void,
27933 pub min_qp_delta: i32,
27934 pub max_qp_delta: i32,
27935}
27936
27937impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
27938 #[inline]
27939 fn default() -> Self {
27940 Self {
27941 s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
27942 next: ptr::null_mut(),
27943 min_qp_delta: i32::default(),
27944 max_qp_delta: i32::default(),
27945 }
27946 }
27947}
27948
27949#[repr(C)]
27951#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27952pub struct VideoEncodeH265RateControlInfoKHR {
27953 pub s_type: StructureType,
27954 pub next: *const c_void,
27955 pub flags: VideoEncodeH265RateControlFlagsKHR,
27956 pub gop_frame_count: u32,
27957 pub idr_period: u32,
27958 pub consecutive_b_frame_count: u32,
27959 pub sub_layer_count: u32,
27960}
27961
27962impl Default for VideoEncodeH265RateControlInfoKHR {
27963 #[inline]
27964 fn default() -> Self {
27965 Self {
27966 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
27967 next: ptr::null(),
27968 flags: VideoEncodeH265RateControlFlagsKHR::default(),
27969 gop_frame_count: u32::default(),
27970 idr_period: u32::default(),
27971 consecutive_b_frame_count: u32::default(),
27972 sub_layer_count: u32::default(),
27973 }
27974 }
27975}
27976
27977#[repr(C)]
27979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27980pub struct VideoEncodeH265RateControlLayerInfoKHR {
27981 pub s_type: StructureType,
27982 pub next: *const c_void,
27983 pub use_min_qp: Bool32,
27984 pub min_qp: VideoEncodeH265QpKHR,
27985 pub use_max_qp: Bool32,
27986 pub max_qp: VideoEncodeH265QpKHR,
27987 pub use_max_frame_size: Bool32,
27988 pub max_frame_size: VideoEncodeH265FrameSizeKHR,
27989}
27990
27991impl Default for VideoEncodeH265RateControlLayerInfoKHR {
27992 #[inline]
27993 fn default() -> Self {
27994 Self {
27995 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
27996 next: ptr::null(),
27997 use_min_qp: Bool32::default(),
27998 min_qp: VideoEncodeH265QpKHR::default(),
27999 use_max_qp: Bool32::default(),
28000 max_qp: VideoEncodeH265QpKHR::default(),
28001 use_max_frame_size: Bool32::default(),
28002 max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
28003 }
28004 }
28005}
28006
28007#[repr(C)]
28009#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28010pub struct VideoEncodeH265SessionCreateInfoKHR {
28011 pub s_type: StructureType,
28012 pub next: *const c_void,
28013 pub use_max_level_idc: Bool32,
28014 pub max_level_idc: video::StdVideoH265LevelIdc,
28015}
28016
28017impl Default for VideoEncodeH265SessionCreateInfoKHR {
28018 #[inline]
28019 fn default() -> Self {
28020 Self {
28021 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
28022 next: ptr::null(),
28023 use_max_level_idc: Bool32::default(),
28024 max_level_idc: video::StdVideoH265LevelIdc::default(),
28025 }
28026 }
28027}
28028
28029#[repr(C)]
28031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28032pub struct VideoEncodeH265SessionParametersAddInfoKHR {
28033 pub s_type: StructureType,
28034 pub next: *const c_void,
28035 pub std_vps_count: u32,
28036 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
28037 pub std_sps_count: u32,
28038 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
28039 pub std_pps_count: u32,
28040 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
28041}
28042
28043impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
28044 #[inline]
28045 fn default() -> Self {
28046 Self {
28047 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
28048 next: ptr::null(),
28049 std_vps_count: u32::default(),
28050 std_vp_ss: ptr::null(),
28051 std_sps_count: u32::default(),
28052 std_sp_ss: ptr::null(),
28053 std_pps_count: u32::default(),
28054 std_pp_ss: ptr::null(),
28055 }
28056 }
28057}
28058
28059#[repr(C)]
28061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28062pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
28063 pub s_type: StructureType,
28064 pub next: *const c_void,
28065 pub max_std_vps_count: u32,
28066 pub max_std_sps_count: u32,
28067 pub max_std_pps_count: u32,
28068 pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
28069}
28070
28071impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
28072 #[inline]
28073 fn default() -> Self {
28074 Self {
28075 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
28076 next: ptr::null(),
28077 max_std_vps_count: u32::default(),
28078 max_std_sps_count: u32::default(),
28079 max_std_pps_count: u32::default(),
28080 parameters_add_info: ptr::null(),
28081 }
28082 }
28083}
28084
28085#[repr(C)]
28087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28088pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
28089 pub s_type: StructureType,
28090 pub next: *mut c_void,
28091 pub has_std_vps_overrides: Bool32,
28092 pub has_std_sps_overrides: Bool32,
28093 pub has_std_pps_overrides: Bool32,
28094}
28095
28096impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
28097 #[inline]
28098 fn default() -> Self {
28099 Self {
28100 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
28101 next: ptr::null_mut(),
28102 has_std_vps_overrides: Bool32::default(),
28103 has_std_sps_overrides: Bool32::default(),
28104 has_std_pps_overrides: Bool32::default(),
28105 }
28106 }
28107}
28108
28109#[repr(C)]
28111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28112pub struct VideoEncodeH265SessionParametersGetInfoKHR {
28113 pub s_type: StructureType,
28114 pub next: *const c_void,
28115 pub write_std_vps: Bool32,
28116 pub write_std_sps: Bool32,
28117 pub write_std_pps: Bool32,
28118 pub std_vps_id: u32,
28119 pub std_sps_id: u32,
28120 pub std_pps_id: u32,
28121}
28122
28123impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
28124 #[inline]
28125 fn default() -> Self {
28126 Self {
28127 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
28128 next: ptr::null(),
28129 write_std_vps: Bool32::default(),
28130 write_std_sps: Bool32::default(),
28131 write_std_pps: Bool32::default(),
28132 std_vps_id: u32::default(),
28133 std_sps_id: u32::default(),
28134 std_pps_id: u32::default(),
28135 }
28136 }
28137}
28138
28139#[repr(C)]
28141#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28142pub struct VideoEncodeInfoKHR {
28143 pub s_type: StructureType,
28144 pub next: *const c_void,
28145 pub flags: VideoEncodeFlagsKHR,
28146 pub dst_buffer: Buffer,
28147 pub dst_buffer_offset: DeviceSize,
28148 pub dst_buffer_range: DeviceSize,
28149 pub src_picture_resource: VideoPictureResourceInfoKHR,
28150 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
28151 pub reference_slot_count: u32,
28152 pub reference_slots: *const VideoReferenceSlotInfoKHR,
28153 pub preceding_externally_encoded_bytes: u32,
28154}
28155
28156impl Default for VideoEncodeInfoKHR {
28157 #[inline]
28158 fn default() -> Self {
28159 Self {
28160 s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
28161 next: ptr::null(),
28162 flags: VideoEncodeFlagsKHR::default(),
28163 dst_buffer: Buffer::default(),
28164 dst_buffer_offset: DeviceSize::default(),
28165 dst_buffer_range: DeviceSize::default(),
28166 src_picture_resource: VideoPictureResourceInfoKHR::default(),
28167 setup_reference_slot: ptr::null(),
28168 reference_slot_count: u32::default(),
28169 reference_slots: ptr::null(),
28170 preceding_externally_encoded_bytes: u32::default(),
28171 }
28172 }
28173}
28174
28175#[repr(C)]
28177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28178pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
28179 pub s_type: StructureType,
28180 pub next: *mut c_void,
28181 pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
28182 pub max_intra_refresh_cycle_duration: u32,
28183 pub max_intra_refresh_active_reference_pictures: u32,
28184 pub partition_independent_intra_refresh_regions: Bool32,
28185 pub non_rectangular_intra_refresh_regions: Bool32,
28186}
28187
28188impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
28189 #[inline]
28190 fn default() -> Self {
28191 Self {
28192 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
28193 next: ptr::null_mut(),
28194 intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
28195 max_intra_refresh_cycle_duration: u32::default(),
28196 max_intra_refresh_active_reference_pictures: u32::default(),
28197 partition_independent_intra_refresh_regions: Bool32::default(),
28198 non_rectangular_intra_refresh_regions: Bool32::default(),
28199 }
28200 }
28201}
28202
28203#[repr(C)]
28205#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28206pub struct VideoEncodeIntraRefreshInfoKHR {
28207 pub s_type: StructureType,
28208 pub next: *const c_void,
28209 pub intra_refresh_cycle_duration: u32,
28210 pub intra_refresh_index: u32,
28211}
28212
28213impl Default for VideoEncodeIntraRefreshInfoKHR {
28214 #[inline]
28215 fn default() -> Self {
28216 Self {
28217 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
28218 next: ptr::null(),
28219 intra_refresh_cycle_duration: u32::default(),
28220 intra_refresh_index: u32::default(),
28221 }
28222 }
28223}
28224
28225#[repr(C)]
28227#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28228pub struct VideoEncodeQualityLevelInfoKHR {
28229 pub s_type: StructureType,
28230 pub next: *const c_void,
28231 pub quality_level: u32,
28232}
28233
28234impl Default for VideoEncodeQualityLevelInfoKHR {
28235 #[inline]
28236 fn default() -> Self {
28237 Self {
28238 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
28239 next: ptr::null(),
28240 quality_level: u32::default(),
28241 }
28242 }
28243}
28244
28245#[repr(C)]
28247#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28248pub struct VideoEncodeQualityLevelPropertiesKHR {
28249 pub s_type: StructureType,
28250 pub next: *mut c_void,
28251 pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
28252 pub preferred_rate_control_layer_count: u32,
28253}
28254
28255impl Default for VideoEncodeQualityLevelPropertiesKHR {
28256 #[inline]
28257 fn default() -> Self {
28258 Self {
28259 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
28260 next: ptr::null_mut(),
28261 preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
28262 preferred_rate_control_layer_count: u32::default(),
28263 }
28264 }
28265}
28266
28267#[repr(C)]
28269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28270pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
28271 pub s_type: StructureType,
28272 pub next: *mut c_void,
28273 pub max_quantization_map_extent: Extent2D,
28274}
28275
28276impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
28277 #[inline]
28278 fn default() -> Self {
28279 Self {
28280 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
28281 next: ptr::null_mut(),
28282 max_quantization_map_extent: Extent2D::default(),
28283 }
28284 }
28285}
28286
28287#[repr(C)]
28289#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28290pub struct VideoEncodeQuantizationMapInfoKHR {
28291 pub s_type: StructureType,
28292 pub next: *const c_void,
28293 pub quantization_map: ImageView,
28294 pub quantization_map_extent: Extent2D,
28295}
28296
28297impl Default for VideoEncodeQuantizationMapInfoKHR {
28298 #[inline]
28299 fn default() -> Self {
28300 Self {
28301 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
28302 next: ptr::null(),
28303 quantization_map: ImageView::default(),
28304 quantization_map_extent: Extent2D::default(),
28305 }
28306 }
28307}
28308
28309#[repr(C)]
28311#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28312pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
28313 pub s_type: StructureType,
28314 pub next: *const c_void,
28315 pub quantization_map_texel_size: Extent2D,
28316}
28317
28318impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
28319 #[inline]
28320 fn default() -> Self {
28321 Self {
28322 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
28323 next: ptr::null(),
28324 quantization_map_texel_size: Extent2D::default(),
28325 }
28326 }
28327}
28328
28329#[repr(C)]
28331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28332pub struct VideoEncodeRateControlInfoKHR {
28333 pub s_type: StructureType,
28334 pub next: *const c_void,
28335 pub flags: VideoEncodeRateControlFlagsKHR,
28336 pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
28337 pub layer_count: u32,
28338 pub layers: *const VideoEncodeRateControlLayerInfoKHR,
28339 pub virtual_buffer_size_in_ms: u32,
28340 pub initial_virtual_buffer_size_in_ms: u32,
28341}
28342
28343impl Default for VideoEncodeRateControlInfoKHR {
28344 #[inline]
28345 fn default() -> Self {
28346 Self {
28347 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
28348 next: ptr::null(),
28349 flags: VideoEncodeRateControlFlagsKHR::default(),
28350 rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
28351 layer_count: u32::default(),
28352 layers: ptr::null(),
28353 virtual_buffer_size_in_ms: u32::default(),
28354 initial_virtual_buffer_size_in_ms: u32::default(),
28355 }
28356 }
28357}
28358
28359#[repr(C)]
28361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28362pub struct VideoEncodeRateControlLayerInfoKHR {
28363 pub s_type: StructureType,
28364 pub next: *const c_void,
28365 pub average_bitrate: u64,
28366 pub max_bitrate: u64,
28367 pub frame_rate_numerator: u32,
28368 pub frame_rate_denominator: u32,
28369}
28370
28371impl Default for VideoEncodeRateControlLayerInfoKHR {
28372 #[inline]
28373 fn default() -> Self {
28374 Self {
28375 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
28376 next: ptr::null(),
28377 average_bitrate: u64::default(),
28378 max_bitrate: u64::default(),
28379 frame_rate_numerator: u32::default(),
28380 frame_rate_denominator: u32::default(),
28381 }
28382 }
28383}
28384
28385#[repr(C)]
28387#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28388pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
28389 pub s_type: StructureType,
28390 pub next: *const c_void,
28391 pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
28392}
28393
28394impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
28395 #[inline]
28396 fn default() -> Self {
28397 Self {
28398 s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
28399 next: ptr::null(),
28400 intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
28401 }
28402 }
28403}
28404
28405#[repr(C)]
28407#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28408pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
28409 pub s_type: StructureType,
28410 pub next: *mut c_void,
28411 pub has_overrides: Bool32,
28412}
28413
28414impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
28415 #[inline]
28416 fn default() -> Self {
28417 Self {
28418 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
28419 next: ptr::null_mut(),
28420 has_overrides: Bool32::default(),
28421 }
28422 }
28423}
28424
28425#[repr(C)]
28427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28428pub struct VideoEncodeSessionParametersGetInfoKHR {
28429 pub s_type: StructureType,
28430 pub next: *const c_void,
28431 pub video_session_parameters: VideoSessionParametersKHR,
28432}
28433
28434impl Default for VideoEncodeSessionParametersGetInfoKHR {
28435 #[inline]
28436 fn default() -> Self {
28437 Self {
28438 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
28439 next: ptr::null(),
28440 video_session_parameters: VideoSessionParametersKHR::default(),
28441 }
28442 }
28443}
28444
28445#[repr(C)]
28447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28448pub struct VideoEncodeUsageInfoKHR {
28449 pub s_type: StructureType,
28450 pub next: *const c_void,
28451 pub video_usage_hints: VideoEncodeUsageFlagsKHR,
28452 pub video_content_hints: VideoEncodeContentFlagsKHR,
28453 pub tuning_mode: VideoEncodeTuningModeKHR,
28454}
28455
28456impl Default for VideoEncodeUsageInfoKHR {
28457 #[inline]
28458 fn default() -> Self {
28459 Self {
28460 s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
28461 next: ptr::null(),
28462 video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
28463 video_content_hints: VideoEncodeContentFlagsKHR::default(),
28464 tuning_mode: VideoEncodeTuningModeKHR::default(),
28465 }
28466 }
28467}
28468
28469#[repr(C)]
28471#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28472pub struct VideoEndCodingInfoKHR {
28473 pub s_type: StructureType,
28474 pub next: *const c_void,
28475 pub flags: VideoEndCodingFlagsKHR,
28476}
28477
28478impl Default for VideoEndCodingInfoKHR {
28479 #[inline]
28480 fn default() -> Self {
28481 Self {
28482 s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
28483 next: ptr::null(),
28484 flags: VideoEndCodingFlagsKHR::default(),
28485 }
28486 }
28487}
28488
28489#[repr(C)]
28491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28492pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
28493 pub s_type: StructureType,
28494 pub next: *mut c_void,
28495 pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
28496}
28497
28498impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
28499 #[inline]
28500 fn default() -> Self {
28501 Self {
28502 s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
28503 next: ptr::null_mut(),
28504 compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
28505 }
28506 }
28507}
28508
28509#[repr(C)]
28511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28512pub struct VideoFormatH265QuantizationMapPropertiesKHR {
28513 pub s_type: StructureType,
28514 pub next: *mut c_void,
28515 pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
28516}
28517
28518impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
28519 #[inline]
28520 fn default() -> Self {
28521 Self {
28522 s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
28523 next: ptr::null_mut(),
28524 compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
28525 }
28526 }
28527}
28528
28529#[repr(C)]
28531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28532pub struct VideoFormatPropertiesKHR {
28533 pub s_type: StructureType,
28534 pub next: *mut c_void,
28535 pub format: Format,
28536 pub component_mapping: ComponentMapping,
28537 pub image_create_flags: ImageCreateFlags,
28538 pub image_type: ImageType,
28539 pub image_tiling: ImageTiling,
28540 pub image_usage_flags: ImageUsageFlags,
28541}
28542
28543impl Default for VideoFormatPropertiesKHR {
28544 #[inline]
28545 fn default() -> Self {
28546 Self {
28547 s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
28548 next: ptr::null_mut(),
28549 format: Format::default(),
28550 component_mapping: ComponentMapping::default(),
28551 image_create_flags: ImageCreateFlags::default(),
28552 image_type: ImageType::default(),
28553 image_tiling: ImageTiling::default(),
28554 image_usage_flags: ImageUsageFlags::default(),
28555 }
28556 }
28557}
28558
28559#[repr(C)]
28561#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28562pub struct VideoFormatQuantizationMapPropertiesKHR {
28563 pub s_type: StructureType,
28564 pub next: *mut c_void,
28565 pub quantization_map_texel_size: Extent2D,
28566}
28567
28568impl Default for VideoFormatQuantizationMapPropertiesKHR {
28569 #[inline]
28570 fn default() -> Self {
28571 Self {
28572 s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
28573 next: ptr::null_mut(),
28574 quantization_map_texel_size: Extent2D::default(),
28575 }
28576 }
28577}
28578
28579#[repr(C)]
28581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28582pub struct VideoInlineQueryInfoKHR {
28583 pub s_type: StructureType,
28584 pub next: *const c_void,
28585 pub query_pool: QueryPool,
28586 pub first_query: u32,
28587 pub query_count: u32,
28588}
28589
28590impl Default for VideoInlineQueryInfoKHR {
28591 #[inline]
28592 fn default() -> Self {
28593 Self {
28594 s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
28595 next: ptr::null(),
28596 query_pool: QueryPool::default(),
28597 first_query: u32::default(),
28598 query_count: u32::default(),
28599 }
28600 }
28601}
28602
28603#[repr(C)]
28605#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28606pub struct VideoPictureResourceInfoKHR {
28607 pub s_type: StructureType,
28608 pub next: *const c_void,
28609 pub coded_offset: Offset2D,
28610 pub coded_extent: Extent2D,
28611 pub base_array_layer: u32,
28612 pub image_view_binding: ImageView,
28613}
28614
28615impl Default for VideoPictureResourceInfoKHR {
28616 #[inline]
28617 fn default() -> Self {
28618 Self {
28619 s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
28620 next: ptr::null(),
28621 coded_offset: Offset2D::default(),
28622 coded_extent: Extent2D::default(),
28623 base_array_layer: u32::default(),
28624 image_view_binding: ImageView::default(),
28625 }
28626 }
28627}
28628
28629#[repr(C)]
28631#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28632pub struct VideoProfileInfoKHR {
28633 pub s_type: StructureType,
28634 pub next: *const c_void,
28635 pub video_codec_operation: VideoCodecOperationFlagsKHR,
28636 pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
28637 pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
28638 pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
28639}
28640
28641impl Default for VideoProfileInfoKHR {
28642 #[inline]
28643 fn default() -> Self {
28644 Self {
28645 s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
28646 next: ptr::null(),
28647 video_codec_operation: VideoCodecOperationFlagsKHR::default(),
28648 chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
28649 luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
28650 chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
28651 }
28652 }
28653}
28654
28655#[repr(C)]
28657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28658pub struct VideoProfileListInfoKHR {
28659 pub s_type: StructureType,
28660 pub next: *const c_void,
28661 pub profile_count: u32,
28662 pub profiles: *const VideoProfileInfoKHR,
28663}
28664
28665impl Default for VideoProfileListInfoKHR {
28666 #[inline]
28667 fn default() -> Self {
28668 Self {
28669 s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
28670 next: ptr::null(),
28671 profile_count: u32::default(),
28672 profiles: ptr::null(),
28673 }
28674 }
28675}
28676
28677#[repr(C)]
28679#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28680pub struct VideoReferenceIntraRefreshInfoKHR {
28681 pub s_type: StructureType,
28682 pub next: *const c_void,
28683 pub dirty_intra_refresh_regions: u32,
28684}
28685
28686impl Default for VideoReferenceIntraRefreshInfoKHR {
28687 #[inline]
28688 fn default() -> Self {
28689 Self {
28690 s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
28691 next: ptr::null(),
28692 dirty_intra_refresh_regions: u32::default(),
28693 }
28694 }
28695}
28696
28697#[repr(C)]
28699#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28700pub struct VideoReferenceSlotInfoKHR {
28701 pub s_type: StructureType,
28702 pub next: *const c_void,
28703 pub slot_index: i32,
28704 pub picture_resource: *const VideoPictureResourceInfoKHR,
28705}
28706
28707impl Default for VideoReferenceSlotInfoKHR {
28708 #[inline]
28709 fn default() -> Self {
28710 Self {
28711 s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
28712 next: ptr::null(),
28713 slot_index: i32::default(),
28714 picture_resource: ptr::null(),
28715 }
28716 }
28717}
28718
28719#[repr(C)]
28721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28722pub struct VideoSessionCreateInfoKHR {
28723 pub s_type: StructureType,
28724 pub next: *const c_void,
28725 pub queue_family_index: u32,
28726 pub flags: VideoSessionCreateFlagsKHR,
28727 pub video_profile: *const VideoProfileInfoKHR,
28728 pub picture_format: Format,
28729 pub max_coded_extent: Extent2D,
28730 pub reference_picture_format: Format,
28731 pub max_dpb_slots: u32,
28732 pub max_active_reference_pictures: u32,
28733 pub std_header_version: *const ExtensionProperties,
28734}
28735
28736impl Default for VideoSessionCreateInfoKHR {
28737 #[inline]
28738 fn default() -> Self {
28739 Self {
28740 s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
28741 next: ptr::null(),
28742 queue_family_index: u32::default(),
28743 flags: VideoSessionCreateFlagsKHR::default(),
28744 video_profile: ptr::null(),
28745 picture_format: Format::default(),
28746 max_coded_extent: Extent2D::default(),
28747 reference_picture_format: Format::default(),
28748 max_dpb_slots: u32::default(),
28749 max_active_reference_pictures: u32::default(),
28750 std_header_version: ptr::null(),
28751 }
28752 }
28753}
28754
28755#[repr(C)]
28757#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28758pub struct VideoSessionMemoryRequirementsKHR {
28759 pub s_type: StructureType,
28760 pub next: *mut c_void,
28761 pub memory_bind_index: u32,
28762 pub memory_requirements: MemoryRequirements,
28763}
28764
28765impl Default for VideoSessionMemoryRequirementsKHR {
28766 #[inline]
28767 fn default() -> Self {
28768 Self {
28769 s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
28770 next: ptr::null_mut(),
28771 memory_bind_index: u32::default(),
28772 memory_requirements: MemoryRequirements::default(),
28773 }
28774 }
28775}
28776
28777#[repr(C)]
28779#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28780pub struct VideoSessionParametersCreateInfoKHR {
28781 pub s_type: StructureType,
28782 pub next: *const c_void,
28783 pub flags: VideoSessionParametersCreateFlagsKHR,
28784 pub video_session_parameters_template: VideoSessionParametersKHR,
28785 pub video_session: VideoSessionKHR,
28786}
28787
28788impl Default for VideoSessionParametersCreateInfoKHR {
28789 #[inline]
28790 fn default() -> Self {
28791 Self {
28792 s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
28793 next: ptr::null(),
28794 flags: VideoSessionParametersCreateFlagsKHR::default(),
28795 video_session_parameters_template: VideoSessionParametersKHR::default(),
28796 video_session: VideoSessionKHR::default(),
28797 }
28798 }
28799}
28800
28801#[repr(C)]
28803#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28804pub struct VideoSessionParametersUpdateInfoKHR {
28805 pub s_type: StructureType,
28806 pub next: *const c_void,
28807 pub update_sequence_count: u32,
28808}
28809
28810impl Default for VideoSessionParametersUpdateInfoKHR {
28811 #[inline]
28812 fn default() -> Self {
28813 Self {
28814 s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
28815 next: ptr::null(),
28816 update_sequence_count: u32::default(),
28817 }
28818 }
28819}
28820
28821#[repr(C)]
28823#[derive(Copy, Clone, Default, Debug, PartialEq)]
28824pub struct Viewport {
28825 pub x: f32,
28826 pub y: f32,
28827 pub width: f32,
28828 pub height: f32,
28829 pub min_depth: f32,
28830 pub max_depth: f32,
28831}
28832
28833#[repr(C)]
28835#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28836pub struct ViewportSwizzleNV {
28837 pub x: ViewportCoordinateSwizzleNV,
28838 pub y: ViewportCoordinateSwizzleNV,
28839 pub z: ViewportCoordinateSwizzleNV,
28840 pub w: ViewportCoordinateSwizzleNV,
28841}
28842
28843#[repr(C)]
28845#[derive(Copy, Clone, Default, Debug, PartialEq)]
28846pub struct ViewportWScalingNV {
28847 pub xcoeff: f32,
28848 pub ycoeff: f32,
28849}
28850
28851#[repr(C)]
28853#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28854pub struct WaylandSurfaceCreateInfoKHR {
28855 pub s_type: StructureType,
28856 pub next: *const c_void,
28857 pub flags: WaylandSurfaceCreateFlagsKHR,
28858 pub display: *mut wl_display,
28859 pub surface: *mut wl_surface,
28860}
28861
28862impl Default for WaylandSurfaceCreateInfoKHR {
28863 #[inline]
28864 fn default() -> Self {
28865 Self {
28866 s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
28867 next: ptr::null(),
28868 flags: WaylandSurfaceCreateFlagsKHR::default(),
28869 display: ptr::null_mut(),
28870 surface: ptr::null_mut(),
28871 }
28872 }
28873}
28874
28875#[repr(C)]
28877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28878pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
28879 pub s_type: StructureType,
28880 pub next: *const c_void,
28881 pub acquire_count: u32,
28882 pub acquire_syncs: *const DeviceMemory,
28883 pub acquire_keys: *const u64,
28884 pub acquire_timeouts: *const u32,
28885 pub release_count: u32,
28886 pub release_syncs: *const DeviceMemory,
28887 pub release_keys: *const u64,
28888}
28889
28890impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
28891 #[inline]
28892 fn default() -> Self {
28893 Self {
28894 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
28895 next: ptr::null(),
28896 acquire_count: u32::default(),
28897 acquire_syncs: ptr::null(),
28898 acquire_keys: ptr::null(),
28899 acquire_timeouts: ptr::null(),
28900 release_count: u32::default(),
28901 release_syncs: ptr::null(),
28902 release_keys: ptr::null(),
28903 }
28904 }
28905}
28906
28907#[repr(C)]
28909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28910pub struct Win32KeyedMutexAcquireReleaseInfoNV {
28911 pub s_type: StructureType,
28912 pub next: *const c_void,
28913 pub acquire_count: u32,
28914 pub acquire_syncs: *const DeviceMemory,
28915 pub acquire_keys: *const u64,
28916 pub acquire_timeout_milliseconds: *const u32,
28917 pub release_count: u32,
28918 pub release_syncs: *const DeviceMemory,
28919 pub release_keys: *const u64,
28920}
28921
28922impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
28923 #[inline]
28924 fn default() -> Self {
28925 Self {
28926 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
28927 next: ptr::null(),
28928 acquire_count: u32::default(),
28929 acquire_syncs: ptr::null(),
28930 acquire_keys: ptr::null(),
28931 acquire_timeout_milliseconds: ptr::null(),
28932 release_count: u32::default(),
28933 release_syncs: ptr::null(),
28934 release_keys: ptr::null(),
28935 }
28936 }
28937}
28938
28939#[repr(C)]
28941#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28942pub struct Win32SurfaceCreateInfoKHR {
28943 pub s_type: StructureType,
28944 pub next: *const c_void,
28945 pub flags: Win32SurfaceCreateFlagsKHR,
28946 pub hinstance: HINSTANCE,
28947 pub hwnd: HWND,
28948}
28949
28950impl Default for Win32SurfaceCreateInfoKHR {
28951 #[inline]
28952 fn default() -> Self {
28953 Self {
28954 s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
28955 next: ptr::null(),
28956 flags: Win32SurfaceCreateFlagsKHR::default(),
28957 hinstance: ptr::null_mut(),
28958 hwnd: ptr::null_mut(),
28959 }
28960 }
28961}
28962
28963#[repr(C)]
28965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28966pub struct WriteDescriptorSet {
28967 pub s_type: StructureType,
28968 pub next: *const c_void,
28969 pub dst_set: DescriptorSet,
28970 pub dst_binding: u32,
28971 pub dst_array_element: u32,
28972 pub descriptor_count: u32,
28973 pub descriptor_type: DescriptorType,
28974 pub image_info: *const DescriptorImageInfo,
28975 pub buffer_info: *const DescriptorBufferInfo,
28976 pub texel_buffer_view: *const BufferView,
28977}
28978
28979impl Default for WriteDescriptorSet {
28980 #[inline]
28981 fn default() -> Self {
28982 Self {
28983 s_type: StructureType::WRITE_DESCRIPTOR_SET,
28984 next: ptr::null(),
28985 dst_set: DescriptorSet::default(),
28986 dst_binding: u32::default(),
28987 dst_array_element: u32::default(),
28988 descriptor_count: u32::default(),
28989 descriptor_type: DescriptorType::default(),
28990 image_info: ptr::null(),
28991 buffer_info: ptr::null(),
28992 texel_buffer_view: ptr::null(),
28993 }
28994 }
28995}
28996
28997#[repr(C)]
28999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29000pub struct WriteDescriptorSetAccelerationStructureKHR {
29001 pub s_type: StructureType,
29002 pub next: *const c_void,
29003 pub acceleration_structure_count: u32,
29004 pub acceleration_structures: *const AccelerationStructureKHR,
29005}
29006
29007impl Default for WriteDescriptorSetAccelerationStructureKHR {
29008 #[inline]
29009 fn default() -> Self {
29010 Self {
29011 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
29012 next: ptr::null(),
29013 acceleration_structure_count: u32::default(),
29014 acceleration_structures: ptr::null(),
29015 }
29016 }
29017}
29018
29019#[repr(C)]
29021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29022pub struct WriteDescriptorSetAccelerationStructureNV {
29023 pub s_type: StructureType,
29024 pub next: *const c_void,
29025 pub acceleration_structure_count: u32,
29026 pub acceleration_structures: *const AccelerationStructureNV,
29027}
29028
29029impl Default for WriteDescriptorSetAccelerationStructureNV {
29030 #[inline]
29031 fn default() -> Self {
29032 Self {
29033 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
29034 next: ptr::null(),
29035 acceleration_structure_count: u32::default(),
29036 acceleration_structures: ptr::null(),
29037 }
29038 }
29039}
29040
29041#[repr(C)]
29043#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29044pub struct WriteDescriptorSetInlineUniformBlock {
29045 pub s_type: StructureType,
29046 pub next: *const c_void,
29047 pub data_size: u32,
29048 pub data: *const c_void,
29049}
29050
29051impl Default for WriteDescriptorSetInlineUniformBlock {
29052 #[inline]
29053 fn default() -> Self {
29054 Self {
29055 s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
29056 next: ptr::null(),
29057 data_size: u32::default(),
29058 data: ptr::null(),
29059 }
29060 }
29061}
29062
29063#[repr(C)]
29065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29066pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
29067 pub s_type: StructureType,
29068 pub next: *mut c_void,
29069 pub acceleration_structure_count: u32,
29070 pub acceleration_structures: *const DeviceAddress,
29071}
29072
29073impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
29074 #[inline]
29075 fn default() -> Self {
29076 Self {
29077 s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
29078 next: ptr::null_mut(),
29079 acceleration_structure_count: u32::default(),
29080 acceleration_structures: ptr::null(),
29081 }
29082 }
29083}
29084
29085#[repr(C)]
29087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29088pub struct WriteDescriptorSetTensorARM {
29089 pub s_type: StructureType,
29090 pub next: *const c_void,
29091 pub tensor_view_count: u32,
29092 pub tensor_views: *const TensorViewARM,
29093}
29094
29095impl Default for WriteDescriptorSetTensorARM {
29096 #[inline]
29097 fn default() -> Self {
29098 Self {
29099 s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
29100 next: ptr::null(),
29101 tensor_view_count: u32::default(),
29102 tensor_views: ptr::null(),
29103 }
29104 }
29105}
29106
29107#[repr(C)]
29109#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29110pub struct WriteIndirectExecutionSetPipelineEXT {
29111 pub s_type: StructureType,
29112 pub next: *const c_void,
29113 pub index: u32,
29114 pub pipeline: Pipeline,
29115}
29116
29117impl Default for WriteIndirectExecutionSetPipelineEXT {
29118 #[inline]
29119 fn default() -> Self {
29120 Self {
29121 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
29122 next: ptr::null(),
29123 index: u32::default(),
29124 pipeline: Pipeline::default(),
29125 }
29126 }
29127}
29128
29129#[repr(C)]
29131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29132pub struct WriteIndirectExecutionSetShaderEXT {
29133 pub s_type: StructureType,
29134 pub next: *const c_void,
29135 pub index: u32,
29136 pub shader: ShaderEXT,
29137}
29138
29139impl Default for WriteIndirectExecutionSetShaderEXT {
29140 #[inline]
29141 fn default() -> Self {
29142 Self {
29143 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
29144 next: ptr::null(),
29145 index: u32::default(),
29146 shader: ShaderEXT::default(),
29147 }
29148 }
29149}
29150
29151#[repr(C)]
29153#[derive(Copy, Clone, Default, Debug, PartialEq)]
29154pub struct XYColorEXT {
29155 pub x: f32,
29156 pub y: f32,
29157}
29158
29159#[repr(C)]
29161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29162pub struct XcbSurfaceCreateInfoKHR {
29163 pub s_type: StructureType,
29164 pub next: *const c_void,
29165 pub flags: XcbSurfaceCreateFlagsKHR,
29166 pub connection: *mut xcb_connection_t,
29167 pub window: xcb_window_t,
29168}
29169
29170impl Default for XcbSurfaceCreateInfoKHR {
29171 #[inline]
29172 fn default() -> Self {
29173 Self {
29174 s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
29175 next: ptr::null(),
29176 flags: XcbSurfaceCreateFlagsKHR::default(),
29177 connection: ptr::null_mut(),
29178 window: xcb_window_t::default(),
29179 }
29180 }
29181}
29182
29183#[repr(C)]
29185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29186pub struct XlibSurfaceCreateInfoKHR {
29187 pub s_type: StructureType,
29188 pub next: *const c_void,
29189 pub flags: XlibSurfaceCreateFlagsKHR,
29190 pub dpy: *mut Display,
29191 pub window: Window,
29192}
29193
29194impl Default for XlibSurfaceCreateInfoKHR {
29195 #[inline]
29196 fn default() -> Self {
29197 Self {
29198 s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
29199 next: ptr::null(),
29200 flags: XlibSurfaceCreateFlagsKHR::default(),
29201 dpy: ptr::null_mut(),
29202 window: Window::default(),
29203 }
29204 }
29205}
29206
29207pub type AabbPositionsNV = AabbPositionsKHR;
29209pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
29211pub type AttachmentDescription2KHR = AttachmentDescription2;
29213pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
29215pub type AttachmentReference2KHR = AttachmentReference2;
29217pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
29219pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
29221pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
29223pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
29225pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
29227pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
29229pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
29231pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
29233pub type BindMemoryStatusKHR = BindMemoryStatus;
29235pub type BlitImageInfo2KHR = BlitImageInfo2;
29237pub type BufferCopy2KHR = BufferCopy2;
29239pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
29241pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
29243pub type BufferImageCopy2KHR = BufferImageCopy2;
29245pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
29247pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
29249pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
29251pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
29253pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
29255pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
29257pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
29259pub type ConformanceVersionKHR = ConformanceVersion;
29261pub type CopyBufferInfo2KHR = CopyBufferInfo2;
29263pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
29265pub type CopyImageInfo2KHR = CopyImageInfo2;
29267pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
29269pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
29271pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
29273pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
29275pub type DependencyInfoKHR = DependencyInfo;
29277pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
29279pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
29281pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
29283pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
29285 DescriptorSetVariableDescriptorCountAllocateInfo;
29286pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
29288 DescriptorSetVariableDescriptorCountLayoutSupport;
29289pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
29291pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
29293pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
29295pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
29297pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
29299pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
29301pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
29303pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
29305pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
29307pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
29309pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
29311pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
29313pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
29315pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
29317pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
29319pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
29321pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
29323pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
29325pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
29327pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
29329pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
29331pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
29333pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
29335pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
29337pub type FormatProperties2KHR = FormatProperties2;
29339pub type FormatProperties3KHR = FormatProperties3;
29341pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
29343pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
29345pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
29347pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
29349pub type ImageBlit2KHR = ImageBlit2;
29351pub type ImageCopy2KHR = ImageCopy2;
29353pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
29355pub type ImageFormatProperties2KHR = ImageFormatProperties2;
29357pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
29359pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
29361pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
29363pub type ImageResolve2KHR = ImageResolve2;
29365pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
29367pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
29369pub type ImageSubresource2EXT = ImageSubresource2;
29371pub type ImageSubresource2KHR = ImageSubresource2;
29373pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
29375pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
29377pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
29379pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
29381pub type MemoryBarrier2KHR = MemoryBarrier2;
29383pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
29385pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
29387pub type MemoryMapInfoKHR = MemoryMapInfo;
29389pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
29391pub type MemoryRequirements2KHR = MemoryRequirements2;
29393pub type MemoryToImageCopyEXT = MemoryToImageCopy;
29395pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
29397pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
29399pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
29401pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
29403pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
29405pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
29407pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
29409pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
29411 PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
29412pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
29414pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
29416 PhysicalDeviceDepthStencilResolveProperties;
29417pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
29419pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
29421pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
29423pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
29425pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
29427 PhysicalDeviceDynamicRenderingLocalReadFeatures;
29428pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
29430pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
29432pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
29434pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
29436pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
29438pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
29440pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
29442pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
29444pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
29446 PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
29447pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
29449 PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
29450pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
29452 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
29453pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
29455pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
29457pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
29459pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
29461pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
29463pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
29465pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
29467pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
29469pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
29471pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
29473pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
29475pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
29477pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
29479pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
29481pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
29483pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
29485pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
29487pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
29489pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
29491pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
29493pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
29495pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
29497pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
29499pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
29501pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
29503pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
29505pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
29507pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
29509pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
29511 PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
29512pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
29514 PhysicalDevicePipelineCreationCacheControlFeatures;
29515pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
29517 PhysicalDevicePipelineProtectedAccessFeatures;
29518pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
29520pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
29522pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
29524pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
29526 PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
29527pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
29529pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
29531pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
29533pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
29535 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
29536pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
29538pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
29540pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
29542 PhysicalDeviceSamplerFilterMinmaxProperties;
29543pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
29545 PhysicalDeviceSamplerYcbcrConversionFeatures;
29546pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
29548pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
29550 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
29551pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
29553pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
29555 PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
29556pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
29558pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
29560pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
29562pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
29564pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
29566 PhysicalDeviceShaderIntegerDotProductFeatures;
29567pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
29569 PhysicalDeviceShaderIntegerDotProductProperties;
29570pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
29572 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
29573pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
29575pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
29577 PhysicalDeviceShaderTerminateInvocationFeatures;
29578pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
29580pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
29582pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
29584 PhysicalDeviceSubgroupSizeControlProperties;
29585pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
29587 PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
29588pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
29590pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
29592 PhysicalDeviceTexelBufferAlignmentProperties;
29593pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
29595 PhysicalDeviceTextureCompressionASTCHDRFeatures;
29596pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
29598pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
29600pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
29602pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
29604 PhysicalDeviceUniformBufferStandardLayoutFeatures;
29605pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
29607pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
29609pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
29611pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
29613 PhysicalDeviceVertexAttributeDivisorFeatures;
29614pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
29616 PhysicalDeviceVertexAttributeDivisorFeatures;
29617pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
29619 PhysicalDeviceVertexAttributeDivisorProperties;
29620pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
29622pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
29624 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
29625pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
29627pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
29629pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
29631pub type PipelineInfoEXT = PipelineInfoKHR;
29633pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
29635pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
29637pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
29639pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
29641pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
29643 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
29644pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
29646 PipelineTessellationDomainOriginStateCreateInfo;
29647pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
29649pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
29651pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
29653pub type PushConstantsInfoKHR = PushConstantsInfo;
29655pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
29657pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
29659pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
29661pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
29663pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
29665pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
29667pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
29669pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
29671pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
29673pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
29675pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
29677pub type RenderingAreaInfoKHR = RenderingAreaInfo;
29679pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
29681pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
29683pub type RenderingInfoKHR = RenderingInfo;
29685pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
29687pub type ResolveImageInfo2KHR = ResolveImageInfo2;
29689pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
29691pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
29693pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
29695 SamplerYcbcrConversionImageFormatProperties;
29696pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
29698pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
29700pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
29702pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
29704pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
29706pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
29708 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
29709pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
29711pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
29713pub type SubmitInfo2KHR = SubmitInfo2;
29715pub type SubpassBeginInfoKHR = SubpassBeginInfo;
29717pub type SubpassDependency2KHR = SubpassDependency2;
29719pub type SubpassDescription2KHR = SubpassDescription2;
29721pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
29723pub type SubpassEndInfoKHR = SubpassEndInfo;
29725pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
29727pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
29729pub type SubresourceLayout2EXT = SubresourceLayout2;
29731pub type SubresourceLayout2KHR = SubresourceLayout2;
29733pub type SurfaceCreateInfoOHOS = OHSurfaceCreateInfoOHOS;
29735pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
29737pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
29739pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
29741pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
29743pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
29745pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
29747pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
29749pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
29751pub type TransformMatrixNV = TransformMatrixKHR;
29753pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
29755pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
29757pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;