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::needless_lifetimes,
16 clippy::too_many_arguments,
17 clippy::type_complexity,
18 clippy::unnecessary_cast,
19 clippy::upper_case_acronyms,
20 clippy::useless_transmute
21)]
22
23use core::ffi::{c_char, c_int, c_void};
24use core::fmt;
25use core::ptr;
26
27use crate::*;
28
29#[repr(C)]
31#[derive(Copy, Clone, Default, Debug, PartialEq)]
32pub struct AabbPositionsKHR {
33 pub min_x: f32,
34 pub min_y: f32,
35 pub min_z: f32,
36 pub max_x: f32,
37 pub max_y: f32,
38 pub max_z: f32,
39}
40
41#[repr(C)]
43#[derive(Copy, Clone, Debug)]
44pub struct AccelerationStructureBuildGeometryInfoKHR {
45 pub s_type: StructureType,
46 pub next: *const c_void,
47 pub type_: AccelerationStructureTypeKHR,
48 pub flags: BuildAccelerationStructureFlagsKHR,
49 pub mode: BuildAccelerationStructureModeKHR,
50 pub src_acceleration_structure: AccelerationStructureKHR,
51 pub dst_acceleration_structure: AccelerationStructureKHR,
52 pub geometry_count: u32,
53 pub geometries: *const AccelerationStructureGeometryKHR,
54 pub pointer_geometries: *const *const AccelerationStructureGeometryKHR,
55 pub scratch_data: DeviceOrHostAddressKHR,
56}
57
58impl Default for AccelerationStructureBuildGeometryInfoKHR {
59 #[inline]
60 fn default() -> Self {
61 Self {
62 s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
63 next: ptr::null(),
64 type_: AccelerationStructureTypeKHR::default(),
65 flags: BuildAccelerationStructureFlagsKHR::default(),
66 mode: BuildAccelerationStructureModeKHR::default(),
67 src_acceleration_structure: AccelerationStructureKHR::default(),
68 dst_acceleration_structure: AccelerationStructureKHR::default(),
69 geometry_count: u32::default(),
70 geometries: ptr::null(),
71 pointer_geometries: ptr::null(),
72 scratch_data: DeviceOrHostAddressKHR::default(),
73 }
74 }
75}
76
77unsafe impl Send for AccelerationStructureBuildGeometryInfoKHR {}
78unsafe impl Sync for AccelerationStructureBuildGeometryInfoKHR {}
79
80#[repr(C)]
82#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
83pub struct AccelerationStructureBuildRangeInfoKHR {
84 pub primitive_count: u32,
85 pub primitive_offset: u32,
86 pub first_vertex: u32,
87 pub transform_offset: u32,
88}
89
90#[repr(C)]
92#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
93pub struct AccelerationStructureBuildSizesInfoKHR {
94 pub s_type: StructureType,
95 pub next: *const c_void,
96 pub acceleration_structure_size: DeviceSize,
97 pub update_scratch_size: DeviceSize,
98 pub build_scratch_size: DeviceSize,
99}
100
101impl Default for AccelerationStructureBuildSizesInfoKHR {
102 #[inline]
103 fn default() -> Self {
104 Self {
105 s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
106 next: ptr::null(),
107 acceleration_structure_size: DeviceSize::default(),
108 update_scratch_size: DeviceSize::default(),
109 build_scratch_size: DeviceSize::default(),
110 }
111 }
112}
113
114unsafe impl Send for AccelerationStructureBuildSizesInfoKHR {}
115unsafe impl Sync for AccelerationStructureBuildSizesInfoKHR {}
116
117#[repr(C)]
119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
120pub struct AccelerationStructureCaptureDescriptorDataInfoEXT {
121 pub s_type: StructureType,
122 pub next: *const c_void,
123 pub acceleration_structure: AccelerationStructureKHR,
124 pub acceleration_structure_nv: AccelerationStructureNV,
125}
126
127impl Default for AccelerationStructureCaptureDescriptorDataInfoEXT {
128 #[inline]
129 fn default() -> Self {
130 Self {
131 s_type: StructureType::ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
132 next: ptr::null(),
133 acceleration_structure: AccelerationStructureKHR::default(),
134 acceleration_structure_nv: AccelerationStructureNV::default(),
135 }
136 }
137}
138
139unsafe impl Send for AccelerationStructureCaptureDescriptorDataInfoEXT {}
140unsafe impl Sync for AccelerationStructureCaptureDescriptorDataInfoEXT {}
141
142#[repr(C)]
144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
145pub struct AccelerationStructureCreateInfoKHR {
146 pub s_type: StructureType,
147 pub next: *const c_void,
148 pub create_flags: AccelerationStructureCreateFlagsKHR,
149 pub buffer: Buffer,
150 pub offset: DeviceSize,
151 pub size: DeviceSize,
152 pub type_: AccelerationStructureTypeKHR,
153 pub device_address: DeviceAddress,
154}
155
156impl Default for AccelerationStructureCreateInfoKHR {
157 #[inline]
158 fn default() -> Self {
159 Self {
160 s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
161 next: ptr::null(),
162 create_flags: AccelerationStructureCreateFlagsKHR::default(),
163 buffer: Buffer::default(),
164 offset: DeviceSize::default(),
165 size: DeviceSize::default(),
166 type_: AccelerationStructureTypeKHR::default(),
167 device_address: DeviceAddress::default(),
168 }
169 }
170}
171
172unsafe impl Send for AccelerationStructureCreateInfoKHR {}
173unsafe impl Sync for AccelerationStructureCreateInfoKHR {}
174
175#[repr(C)]
177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
178pub struct AccelerationStructureCreateInfoNV {
179 pub s_type: StructureType,
180 pub next: *const c_void,
181 pub compacted_size: DeviceSize,
182 pub info: AccelerationStructureInfoNV,
183}
184
185impl Default for AccelerationStructureCreateInfoNV {
186 #[inline]
187 fn default() -> Self {
188 Self {
189 s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_NV,
190 next: ptr::null(),
191 compacted_size: DeviceSize::default(),
192 info: AccelerationStructureInfoNV::default(),
193 }
194 }
195}
196
197unsafe impl Send for AccelerationStructureCreateInfoNV {}
198unsafe impl Sync for AccelerationStructureCreateInfoNV {}
199
200#[repr(C)]
202#[derive(Copy, Clone, Debug)]
203pub struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
204 pub s_type: StructureType,
205 pub next: *const c_void,
206 pub compressed_data: DeviceOrHostAddressConstKHR,
207 pub data_size: DeviceSize,
208 pub num_triangles: u32,
209 pub num_vertices: u32,
210 pub max_primitive_index: u32,
211 pub max_geometry_index: u32,
212 pub format: CompressedTriangleFormatAMDX,
213}
214
215impl Default for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
216 #[inline]
217 fn default() -> Self {
218 Self {
219 s_type: StructureType::ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX,
220 next: ptr::null(),
221 compressed_data: DeviceOrHostAddressConstKHR::default(),
222 data_size: DeviceSize::default(),
223 num_triangles: u32::default(),
224 num_vertices: u32::default(),
225 max_primitive_index: u32::default(),
226 max_geometry_index: u32::default(),
227 format: CompressedTriangleFormatAMDX::default(),
228 }
229 }
230}
231
232unsafe impl Send for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {}
233unsafe impl Sync for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {}
234
235#[repr(C)]
237#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
238pub struct AccelerationStructureDeviceAddressInfoKHR {
239 pub s_type: StructureType,
240 pub next: *const c_void,
241 pub acceleration_structure: AccelerationStructureKHR,
242}
243
244impl Default for AccelerationStructureDeviceAddressInfoKHR {
245 #[inline]
246 fn default() -> Self {
247 Self {
248 s_type: StructureType::ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
249 next: ptr::null(),
250 acceleration_structure: AccelerationStructureKHR::default(),
251 }
252 }
253}
254
255unsafe impl Send for AccelerationStructureDeviceAddressInfoKHR {}
256unsafe impl Sync for AccelerationStructureDeviceAddressInfoKHR {}
257
258#[repr(C)]
260#[derive(Copy, Clone, Debug)]
261pub struct AccelerationStructureGeometryAabbsDataKHR {
262 pub s_type: StructureType,
263 pub next: *const c_void,
264 pub data: DeviceOrHostAddressConstKHR,
265 pub stride: DeviceSize,
266}
267
268impl Default for AccelerationStructureGeometryAabbsDataKHR {
269 #[inline]
270 fn default() -> Self {
271 Self {
272 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
273 next: ptr::null(),
274 data: DeviceOrHostAddressConstKHR::default(),
275 stride: DeviceSize::default(),
276 }
277 }
278}
279
280unsafe impl Send for AccelerationStructureGeometryAabbsDataKHR {}
281unsafe impl Sync for AccelerationStructureGeometryAabbsDataKHR {}
282
283#[repr(C)]
285#[derive(Copy, Clone, Debug)]
286pub struct AccelerationStructureGeometryInstancesDataKHR {
287 pub s_type: StructureType,
288 pub next: *const c_void,
289 pub array_of_pointers: Bool32,
290 pub data: DeviceOrHostAddressConstKHR,
291}
292
293impl Default for AccelerationStructureGeometryInstancesDataKHR {
294 #[inline]
295 fn default() -> Self {
296 Self {
297 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
298 next: ptr::null(),
299 array_of_pointers: Bool32::default(),
300 data: DeviceOrHostAddressConstKHR::default(),
301 }
302 }
303}
304
305unsafe impl Send for AccelerationStructureGeometryInstancesDataKHR {}
306unsafe impl Sync for AccelerationStructureGeometryInstancesDataKHR {}
307
308#[repr(C)]
310#[derive(Copy, Clone, Debug)]
311pub struct AccelerationStructureGeometryKHR {
312 pub s_type: StructureType,
313 pub next: *const c_void,
314 pub geometry_type: GeometryTypeKHR,
315 pub geometry: AccelerationStructureGeometryDataKHR,
316 pub flags: GeometryFlagsKHR,
317}
318
319impl Default for AccelerationStructureGeometryKHR {
320 #[inline]
321 fn default() -> Self {
322 Self {
323 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_KHR,
324 next: ptr::null(),
325 geometry_type: GeometryTypeKHR::default(),
326 geometry: AccelerationStructureGeometryDataKHR::default(),
327 flags: GeometryFlagsKHR::default(),
328 }
329 }
330}
331
332unsafe impl Send for AccelerationStructureGeometryKHR {}
333unsafe impl Sync for AccelerationStructureGeometryKHR {}
334
335#[repr(C)]
337#[derive(Copy, Clone, Debug)]
338pub struct AccelerationStructureGeometryLinearSweptSpheresDataNV {
339 pub s_type: StructureType,
340 pub next: *const c_void,
341 pub vertex_format: Format,
342 pub vertex_data: DeviceOrHostAddressConstKHR,
343 pub vertex_stride: DeviceSize,
344 pub radius_format: Format,
345 pub radius_data: DeviceOrHostAddressConstKHR,
346 pub radius_stride: DeviceSize,
347 pub index_type: IndexType,
348 pub index_data: DeviceOrHostAddressConstKHR,
349 pub index_stride: DeviceSize,
350 pub indexing_mode: RayTracingLssIndexingModeNV,
351 pub end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV,
352}
353
354impl Default for AccelerationStructureGeometryLinearSweptSpheresDataNV {
355 #[inline]
356 fn default() -> Self {
357 Self {
358 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV,
359 next: ptr::null(),
360 vertex_format: Format::default(),
361 vertex_data: DeviceOrHostAddressConstKHR::default(),
362 vertex_stride: DeviceSize::default(),
363 radius_format: Format::default(),
364 radius_data: DeviceOrHostAddressConstKHR::default(),
365 radius_stride: DeviceSize::default(),
366 index_type: IndexType::default(),
367 index_data: DeviceOrHostAddressConstKHR::default(),
368 index_stride: DeviceSize::default(),
369 indexing_mode: RayTracingLssIndexingModeNV::default(),
370 end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV::default(),
371 }
372 }
373}
374
375unsafe impl Send for AccelerationStructureGeometryLinearSweptSpheresDataNV {}
376unsafe impl Sync for AccelerationStructureGeometryLinearSweptSpheresDataNV {}
377
378#[repr(C)]
380#[derive(Copy, Clone, Debug)]
381pub struct AccelerationStructureGeometryMotionTrianglesDataNV {
382 pub s_type: StructureType,
383 pub next: *const c_void,
384 pub vertex_data: DeviceOrHostAddressConstKHR,
385}
386
387impl Default for AccelerationStructureGeometryMotionTrianglesDataNV {
388 #[inline]
389 fn default() -> Self {
390 Self {
391 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
392 next: ptr::null(),
393 vertex_data: DeviceOrHostAddressConstKHR::default(),
394 }
395 }
396}
397
398unsafe impl Send for AccelerationStructureGeometryMotionTrianglesDataNV {}
399unsafe impl Sync for AccelerationStructureGeometryMotionTrianglesDataNV {}
400
401#[repr(C)]
403#[derive(Copy, Clone, Debug)]
404pub struct AccelerationStructureGeometrySpheresDataNV {
405 pub s_type: StructureType,
406 pub next: *const c_void,
407 pub vertex_format: Format,
408 pub vertex_data: DeviceOrHostAddressConstKHR,
409 pub vertex_stride: DeviceSize,
410 pub radius_format: Format,
411 pub radius_data: DeviceOrHostAddressConstKHR,
412 pub radius_stride: DeviceSize,
413 pub index_type: IndexType,
414 pub index_data: DeviceOrHostAddressConstKHR,
415 pub index_stride: DeviceSize,
416}
417
418impl Default for AccelerationStructureGeometrySpheresDataNV {
419 #[inline]
420 fn default() -> Self {
421 Self {
422 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV,
423 next: ptr::null(),
424 vertex_format: Format::default(),
425 vertex_data: DeviceOrHostAddressConstKHR::default(),
426 vertex_stride: DeviceSize::default(),
427 radius_format: Format::default(),
428 radius_data: DeviceOrHostAddressConstKHR::default(),
429 radius_stride: DeviceSize::default(),
430 index_type: IndexType::default(),
431 index_data: DeviceOrHostAddressConstKHR::default(),
432 index_stride: DeviceSize::default(),
433 }
434 }
435}
436
437unsafe impl Send for AccelerationStructureGeometrySpheresDataNV {}
438unsafe impl Sync for AccelerationStructureGeometrySpheresDataNV {}
439
440#[repr(C)]
442#[derive(Copy, Clone, Debug)]
443pub struct AccelerationStructureGeometryTrianglesDataKHR {
444 pub s_type: StructureType,
445 pub next: *const c_void,
446 pub vertex_format: Format,
447 pub vertex_data: DeviceOrHostAddressConstKHR,
448 pub vertex_stride: DeviceSize,
449 pub max_vertex: u32,
450 pub index_type: IndexType,
451 pub index_data: DeviceOrHostAddressConstKHR,
452 pub transform_data: DeviceOrHostAddressConstKHR,
453}
454
455impl Default for AccelerationStructureGeometryTrianglesDataKHR {
456 #[inline]
457 fn default() -> Self {
458 Self {
459 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
460 next: ptr::null(),
461 vertex_format: Format::default(),
462 vertex_data: DeviceOrHostAddressConstKHR::default(),
463 vertex_stride: DeviceSize::default(),
464 max_vertex: u32::default(),
465 index_type: IndexType::default(),
466 index_data: DeviceOrHostAddressConstKHR::default(),
467 transform_data: DeviceOrHostAddressConstKHR::default(),
468 }
469 }
470}
471
472unsafe impl Send for AccelerationStructureGeometryTrianglesDataKHR {}
473unsafe impl Sync for AccelerationStructureGeometryTrianglesDataKHR {}
474
475#[repr(C)]
477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
478pub struct AccelerationStructureInfoNV {
479 pub s_type: StructureType,
480 pub next: *const c_void,
481 pub type_: AccelerationStructureTypeNV,
482 pub flags: BuildAccelerationStructureFlagsNV,
483 pub instance_count: u32,
484 pub geometry_count: u32,
485 pub geometries: *const GeometryNV,
486}
487
488impl Default for AccelerationStructureInfoNV {
489 #[inline]
490 fn default() -> Self {
491 Self {
492 s_type: StructureType::ACCELERATION_STRUCTURE_INFO_NV,
493 next: ptr::null(),
494 type_: AccelerationStructureTypeNV::default(),
495 flags: BuildAccelerationStructureFlagsNV::default(),
496 instance_count: u32::default(),
497 geometry_count: u32::default(),
498 geometries: ptr::null(),
499 }
500 }
501}
502
503unsafe impl Send for AccelerationStructureInfoNV {}
504unsafe impl Sync for AccelerationStructureInfoNV {}
505
506bitfields32! {
507 struct AccelerationStructureInstanceKHRBitfields0 {
508 (instance_custom_index, with_instance_custom_index)[0 .. 24],
509 (mask, with_mask)[24 .. 32],
510 }
511}
512
513bitfields32! {
514 struct AccelerationStructureInstanceKHRBitfields1 {
515 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
516 (flags, with_flags)[24 .. 32],
517 }
518}
519
520#[repr(C)]
522#[derive(Copy, Clone, Default, Debug, PartialEq)]
523pub struct AccelerationStructureInstanceKHR {
524 pub transform: TransformMatrixKHR,
525 pub acceleration_structure_reference: u64,
526 pub bitfields0: AccelerationStructureInstanceKHRBitfields0,
527 pub bitfields1: AccelerationStructureInstanceKHRBitfields1,
528}
529
530bitfields32! {
531 struct AccelerationStructureMatrixMotionInstanceNVBitfields0 {
532 (instance_custom_index, with_instance_custom_index)[0 .. 24],
533 (mask, with_mask)[24 .. 32],
534 }
535}
536
537bitfields32! {
538 struct AccelerationStructureMatrixMotionInstanceNVBitfields1 {
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 AccelerationStructureMatrixMotionInstanceNV {
548 pub transform_t0: TransformMatrixKHR,
549 pub transform_t1: TransformMatrixKHR,
550 pub acceleration_structure_reference: u64,
551 pub bitfields0: AccelerationStructureMatrixMotionInstanceNVBitfields0,
552 pub bitfields1: AccelerationStructureMatrixMotionInstanceNVBitfields1,
553}
554
555#[repr(C)]
557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
558pub struct AccelerationStructureMemoryRequirementsInfoNV {
559 pub s_type: StructureType,
560 pub next: *const c_void,
561 pub type_: AccelerationStructureMemoryRequirementsTypeNV,
562 pub acceleration_structure: AccelerationStructureNV,
563}
564
565impl Default for AccelerationStructureMemoryRequirementsInfoNV {
566 #[inline]
567 fn default() -> Self {
568 Self {
569 s_type: StructureType::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
570 next: ptr::null(),
571 type_: AccelerationStructureMemoryRequirementsTypeNV::default(),
572 acceleration_structure: AccelerationStructureNV::default(),
573 }
574 }
575}
576
577unsafe impl Send for AccelerationStructureMemoryRequirementsInfoNV {}
578unsafe impl Sync for AccelerationStructureMemoryRequirementsInfoNV {}
579
580#[repr(C)]
582#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
583pub struct AccelerationStructureMotionInfoNV {
584 pub s_type: StructureType,
585 pub next: *const c_void,
586 pub max_instances: u32,
587 pub flags: AccelerationStructureMotionInfoFlagsNV,
588}
589
590impl Default for AccelerationStructureMotionInfoNV {
591 #[inline]
592 fn default() -> Self {
593 Self {
594 s_type: StructureType::ACCELERATION_STRUCTURE_MOTION_INFO_NV,
595 next: ptr::null(),
596 max_instances: u32::default(),
597 flags: AccelerationStructureMotionInfoFlagsNV::default(),
598 }
599 }
600}
601
602unsafe impl Send for AccelerationStructureMotionInfoNV {}
603unsafe impl Sync for AccelerationStructureMotionInfoNV {}
604
605#[repr(C)]
607#[derive(Copy, Clone, Default, Debug)]
608pub struct AccelerationStructureMotionInstanceNV {
609 pub type_: AccelerationStructureMotionInstanceTypeNV,
610 pub flags: AccelerationStructureMotionInstanceFlagsNV,
611 pub data: AccelerationStructureMotionInstanceDataNV,
612}
613
614bitfields32! {
615 struct AccelerationStructureSRTMotionInstanceNVBitfields0 {
616 (instance_custom_index, with_instance_custom_index)[0 .. 24],
617 (mask, with_mask)[24 .. 32],
618 }
619}
620
621bitfields32! {
622 struct AccelerationStructureSRTMotionInstanceNVBitfields1 {
623 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
624 (flags, with_flags)[24 .. 32],
625 }
626}
627
628#[repr(C)]
630#[derive(Copy, Clone, Default, Debug, PartialEq)]
631pub struct AccelerationStructureSRTMotionInstanceNV {
632 pub transform_t0: SRTDataNV,
633 pub transform_t1: SRTDataNV,
634 pub acceleration_structure_reference: u64,
635 pub bitfields0: AccelerationStructureSRTMotionInstanceNVBitfields0,
636 pub bitfields1: AccelerationStructureSRTMotionInstanceNVBitfields1,
637}
638
639#[repr(C)]
641#[derive(Copy, Clone, Debug)]
642pub struct AccelerationStructureTrianglesDisplacementMicromapNV {
643 pub s_type: StructureType,
644 pub next: *mut c_void,
645 pub displacement_bias_and_scale_format: Format,
646 pub displacement_vector_format: Format,
647 pub displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR,
648 pub displacement_bias_and_scale_stride: DeviceSize,
649 pub displacement_vector_buffer: DeviceOrHostAddressConstKHR,
650 pub displacement_vector_stride: DeviceSize,
651 pub displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
652 pub displaced_micromap_primitive_flags_stride: DeviceSize,
653 pub index_type: IndexType,
654 pub index_buffer: DeviceOrHostAddressConstKHR,
655 pub index_stride: DeviceSize,
656 pub base_triangle: u32,
657 pub usage_counts_count: u32,
658 pub usage_counts: *const MicromapUsageEXT,
659 pub pointer_usage_counts: *const *const MicromapUsageEXT,
660 pub micromap: MicromapEXT,
661}
662
663impl Default for AccelerationStructureTrianglesDisplacementMicromapNV {
664 #[inline]
665 fn default() -> Self {
666 Self {
667 s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
668 next: ptr::null_mut(),
669 displacement_bias_and_scale_format: Format::default(),
670 displacement_vector_format: Format::default(),
671 displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR::default(),
672 displacement_bias_and_scale_stride: DeviceSize::default(),
673 displacement_vector_buffer: DeviceOrHostAddressConstKHR::default(),
674 displacement_vector_stride: DeviceSize::default(),
675 displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR::default(),
676 displaced_micromap_primitive_flags_stride: DeviceSize::default(),
677 index_type: IndexType::default(),
678 index_buffer: DeviceOrHostAddressConstKHR::default(),
679 index_stride: DeviceSize::default(),
680 base_triangle: u32::default(),
681 usage_counts_count: u32::default(),
682 usage_counts: ptr::null(),
683 pointer_usage_counts: ptr::null(),
684 micromap: MicromapEXT::default(),
685 }
686 }
687}
688
689unsafe impl Send for AccelerationStructureTrianglesDisplacementMicromapNV {}
690unsafe impl Sync for AccelerationStructureTrianglesDisplacementMicromapNV {}
691
692#[repr(C)]
694#[derive(Copy, Clone, Debug)]
695pub struct AccelerationStructureTrianglesOpacityMicromapEXT {
696 pub s_type: StructureType,
697 pub next: *mut c_void,
698 pub index_type: IndexType,
699 pub index_buffer: DeviceOrHostAddressConstKHR,
700 pub index_stride: DeviceSize,
701 pub base_triangle: u32,
702 pub usage_counts_count: u32,
703 pub usage_counts: *const MicromapUsageEXT,
704 pub pointer_usage_counts: *const *const MicromapUsageEXT,
705 pub micromap: MicromapEXT,
706}
707
708impl Default for AccelerationStructureTrianglesOpacityMicromapEXT {
709 #[inline]
710 fn default() -> Self {
711 Self {
712 s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
713 next: ptr::null_mut(),
714 index_type: IndexType::default(),
715 index_buffer: DeviceOrHostAddressConstKHR::default(),
716 index_stride: DeviceSize::default(),
717 base_triangle: u32::default(),
718 usage_counts_count: u32::default(),
719 usage_counts: ptr::null(),
720 pointer_usage_counts: ptr::null(),
721 micromap: MicromapEXT::default(),
722 }
723 }
724}
725
726unsafe impl Send for AccelerationStructureTrianglesOpacityMicromapEXT {}
727unsafe impl Sync for AccelerationStructureTrianglesOpacityMicromapEXT {}
728
729#[repr(C)]
731#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
732pub struct AccelerationStructureVersionInfoKHR {
733 pub s_type: StructureType,
734 pub next: *const c_void,
735 pub version_data: *const u8,
736}
737
738impl Default for AccelerationStructureVersionInfoKHR {
739 #[inline]
740 fn default() -> Self {
741 Self {
742 s_type: StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
743 next: ptr::null(),
744 version_data: ptr::null(),
745 }
746 }
747}
748
749unsafe impl Send for AccelerationStructureVersionInfoKHR {}
750unsafe impl Sync for AccelerationStructureVersionInfoKHR {}
751
752#[repr(C)]
754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
755pub struct AcquireNextImageInfoKHR {
756 pub s_type: StructureType,
757 pub next: *const c_void,
758 pub swapchain: SwapchainKHR,
759 pub timeout: u64,
760 pub semaphore: Semaphore,
761 pub fence: Fence,
762 pub device_mask: u32,
763}
764
765impl Default for AcquireNextImageInfoKHR {
766 #[inline]
767 fn default() -> Self {
768 Self {
769 s_type: StructureType::ACQUIRE_NEXT_IMAGE_INFO_KHR,
770 next: ptr::null(),
771 swapchain: SwapchainKHR::default(),
772 timeout: u64::default(),
773 semaphore: Semaphore::default(),
774 fence: Fence::default(),
775 device_mask: u32::default(),
776 }
777 }
778}
779
780unsafe impl Send for AcquireNextImageInfoKHR {}
781unsafe impl Sync for AcquireNextImageInfoKHR {}
782
783#[repr(C)]
785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
786pub struct AcquireProfilingLockInfoKHR {
787 pub s_type: StructureType,
788 pub next: *const c_void,
789 pub flags: AcquireProfilingLockFlagsKHR,
790 pub timeout: u64,
791}
792
793impl Default for AcquireProfilingLockInfoKHR {
794 #[inline]
795 fn default() -> Self {
796 Self {
797 s_type: StructureType::ACQUIRE_PROFILING_LOCK_INFO_KHR,
798 next: ptr::null(),
799 flags: AcquireProfilingLockFlagsKHR::default(),
800 timeout: u64::default(),
801 }
802 }
803}
804
805unsafe impl Send for AcquireProfilingLockInfoKHR {}
806unsafe impl Sync for AcquireProfilingLockInfoKHR {}
807
808#[repr(C)]
810#[derive(Copy, Clone)]
811pub struct AllocationCallbacks {
812 pub user_data: *mut c_void,
813 pub allocation: PFN_vkAllocationFunction,
814 pub reallocation: PFN_vkReallocationFunction,
815 pub free: PFN_vkFreeFunction,
816 pub internal_allocation: PFN_vkInternalAllocationNotification,
817 pub internal_free: PFN_vkInternalFreeNotification,
818}
819
820impl fmt::Debug for AllocationCallbacks {
821 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
822 f.debug_struct("AllocationCallbacks")
823 .field("user_data", &self.user_data)
824 .field("allocation", &(self.allocation.map(|f| f as *const u8)))
825 .field("reallocation", &(self.reallocation.map(|f| f as *const u8)))
826 .field("free", &(self.free.map(|f| f as *const u8)))
827 .field(
828 "internal_allocation",
829 &(self.internal_allocation.map(|f| f as *const u8)),
830 )
831 .field(
832 "internal_free",
833 &(self.internal_free.map(|f| f as *const u8)),
834 )
835 .finish()
836 }
837}
838
839impl Default for AllocationCallbacks {
840 #[inline]
841 fn default() -> Self {
842 Self {
843 user_data: ptr::null_mut(),
844 allocation: PFN_vkAllocationFunction::default(),
845 reallocation: PFN_vkReallocationFunction::default(),
846 free: PFN_vkFreeFunction::default(),
847 internal_allocation: PFN_vkInternalAllocationNotification::default(),
848 internal_free: PFN_vkInternalFreeNotification::default(),
849 }
850 }
851}
852
853unsafe impl Send for AllocationCallbacks {}
854unsafe impl Sync for AllocationCallbacks {}
855
856#[repr(C)]
858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
859pub struct AmigoProfilingSubmitInfoSEC {
860 pub s_type: StructureType,
861 pub next: *const c_void,
862 pub first_draw_timestamp: u64,
863 pub swap_buffer_timestamp: u64,
864}
865
866impl Default for AmigoProfilingSubmitInfoSEC {
867 #[inline]
868 fn default() -> Self {
869 Self {
870 s_type: StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC,
871 next: ptr::null(),
872 first_draw_timestamp: u64::default(),
873 swap_buffer_timestamp: u64::default(),
874 }
875 }
876}
877
878unsafe impl Send for AmigoProfilingSubmitInfoSEC {}
879unsafe impl Sync for AmigoProfilingSubmitInfoSEC {}
880
881#[repr(C)]
883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
884pub struct AndroidHardwareBufferFormatProperties2ANDROID {
885 pub s_type: StructureType,
886 pub next: *mut c_void,
887 pub format: Format,
888 pub external_format: u64,
889 pub format_features: FormatFeatureFlags2,
890 pub sampler_ycbcr_conversion_components: ComponentMapping,
891 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
892 pub suggested_ycbcr_range: SamplerYcbcrRange,
893 pub suggested_x_chroma_offset: ChromaLocation,
894 pub suggested_y_chroma_offset: ChromaLocation,
895}
896
897impl Default for AndroidHardwareBufferFormatProperties2ANDROID {
898 #[inline]
899 fn default() -> Self {
900 Self {
901 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
902 next: ptr::null_mut(),
903 format: Format::default(),
904 external_format: u64::default(),
905 format_features: FormatFeatureFlags2::default(),
906 sampler_ycbcr_conversion_components: ComponentMapping::default(),
907 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
908 suggested_ycbcr_range: SamplerYcbcrRange::default(),
909 suggested_x_chroma_offset: ChromaLocation::default(),
910 suggested_y_chroma_offset: ChromaLocation::default(),
911 }
912 }
913}
914
915unsafe impl Send for AndroidHardwareBufferFormatProperties2ANDROID {}
916unsafe impl Sync for AndroidHardwareBufferFormatProperties2ANDROID {}
917
918#[repr(C)]
920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
921pub struct AndroidHardwareBufferFormatPropertiesANDROID {
922 pub s_type: StructureType,
923 pub next: *mut c_void,
924 pub format: Format,
925 pub external_format: u64,
926 pub format_features: FormatFeatureFlags,
927 pub sampler_ycbcr_conversion_components: ComponentMapping,
928 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
929 pub suggested_ycbcr_range: SamplerYcbcrRange,
930 pub suggested_x_chroma_offset: ChromaLocation,
931 pub suggested_y_chroma_offset: ChromaLocation,
932}
933
934impl Default for AndroidHardwareBufferFormatPropertiesANDROID {
935 #[inline]
936 fn default() -> Self {
937 Self {
938 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
939 next: ptr::null_mut(),
940 format: Format::default(),
941 external_format: u64::default(),
942 format_features: FormatFeatureFlags::default(),
943 sampler_ycbcr_conversion_components: ComponentMapping::default(),
944 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
945 suggested_ycbcr_range: SamplerYcbcrRange::default(),
946 suggested_x_chroma_offset: ChromaLocation::default(),
947 suggested_y_chroma_offset: ChromaLocation::default(),
948 }
949 }
950}
951
952unsafe impl Send for AndroidHardwareBufferFormatPropertiesANDROID {}
953unsafe impl Sync for AndroidHardwareBufferFormatPropertiesANDROID {}
954
955#[repr(C)]
957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
958pub struct AndroidHardwareBufferFormatResolvePropertiesANDROID {
959 pub s_type: StructureType,
960 pub next: *mut c_void,
961 pub color_attachment_format: Format,
962}
963
964impl Default for AndroidHardwareBufferFormatResolvePropertiesANDROID {
965 #[inline]
966 fn default() -> Self {
967 Self {
968 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID,
969 next: ptr::null_mut(),
970 color_attachment_format: Format::default(),
971 }
972 }
973}
974
975unsafe impl Send for AndroidHardwareBufferFormatResolvePropertiesANDROID {}
976unsafe impl Sync for AndroidHardwareBufferFormatResolvePropertiesANDROID {}
977
978#[repr(C)]
980#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
981pub struct AndroidHardwareBufferPropertiesANDROID {
982 pub s_type: StructureType,
983 pub next: *mut c_void,
984 pub allocation_size: DeviceSize,
985 pub memory_type_bits: u32,
986}
987
988impl Default for AndroidHardwareBufferPropertiesANDROID {
989 #[inline]
990 fn default() -> Self {
991 Self {
992 s_type: StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
993 next: ptr::null_mut(),
994 allocation_size: DeviceSize::default(),
995 memory_type_bits: u32::default(),
996 }
997 }
998}
999
1000unsafe impl Send for AndroidHardwareBufferPropertiesANDROID {}
1001unsafe impl Sync for AndroidHardwareBufferPropertiesANDROID {}
1002
1003#[repr(C)]
1005#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1006pub struct AndroidHardwareBufferUsageANDROID {
1007 pub s_type: StructureType,
1008 pub next: *mut c_void,
1009 pub android_hardware_buffer_usage: u64,
1010}
1011
1012impl Default for AndroidHardwareBufferUsageANDROID {
1013 #[inline]
1014 fn default() -> Self {
1015 Self {
1016 s_type: StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
1017 next: ptr::null_mut(),
1018 android_hardware_buffer_usage: u64::default(),
1019 }
1020 }
1021}
1022
1023unsafe impl Send for AndroidHardwareBufferUsageANDROID {}
1024unsafe impl Sync for AndroidHardwareBufferUsageANDROID {}
1025
1026#[repr(C)]
1028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1029pub struct AndroidSurfaceCreateInfoKHR {
1030 pub s_type: StructureType,
1031 pub next: *const c_void,
1032 pub flags: AndroidSurfaceCreateFlagsKHR,
1033 pub window: *mut ANativeWindow,
1034}
1035
1036impl Default for AndroidSurfaceCreateInfoKHR {
1037 #[inline]
1038 fn default() -> Self {
1039 Self {
1040 s_type: StructureType::ANDROID_SURFACE_CREATE_INFO_KHR,
1041 next: ptr::null(),
1042 flags: AndroidSurfaceCreateFlagsKHR::default(),
1043 window: ptr::null_mut(),
1044 }
1045 }
1046}
1047
1048unsafe impl Send for AndroidSurfaceCreateInfoKHR {}
1049unsafe impl Sync for AndroidSurfaceCreateInfoKHR {}
1050
1051#[repr(C)]
1053#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1054pub struct AntiLagDataAMD {
1055 pub s_type: StructureType,
1056 pub next: *const c_void,
1057 pub mode: AntiLagModeAMD,
1058 pub max_fps: u32,
1059 pub presentation_info: *const AntiLagPresentationInfoAMD,
1060}
1061
1062impl Default for AntiLagDataAMD {
1063 #[inline]
1064 fn default() -> Self {
1065 Self {
1066 s_type: StructureType::ANTI_LAG_DATA_AMD,
1067 next: ptr::null(),
1068 mode: AntiLagModeAMD::default(),
1069 max_fps: u32::default(),
1070 presentation_info: ptr::null(),
1071 }
1072 }
1073}
1074
1075unsafe impl Send for AntiLagDataAMD {}
1076unsafe impl Sync for AntiLagDataAMD {}
1077
1078#[repr(C)]
1080#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1081pub struct AntiLagPresentationInfoAMD {
1082 pub s_type: StructureType,
1083 pub next: *mut c_void,
1084 pub stage: AntiLagStageAMD,
1085 pub frame_index: u64,
1086}
1087
1088impl Default for AntiLagPresentationInfoAMD {
1089 #[inline]
1090 fn default() -> Self {
1091 Self {
1092 s_type: StructureType::ANTI_LAG_PRESENTATION_INFO_AMD,
1093 next: ptr::null_mut(),
1094 stage: AntiLagStageAMD::default(),
1095 frame_index: u64::default(),
1096 }
1097 }
1098}
1099
1100unsafe impl Send for AntiLagPresentationInfoAMD {}
1101unsafe impl Sync for AntiLagPresentationInfoAMD {}
1102
1103#[repr(C)]
1105#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1106pub struct ApplicationInfo {
1107 pub s_type: StructureType,
1108 pub next: *const c_void,
1109 pub application_name: *const c_char,
1110 pub application_version: u32,
1111 pub engine_name: *const c_char,
1112 pub engine_version: u32,
1113 pub api_version: u32,
1114}
1115
1116impl Default for ApplicationInfo {
1117 #[inline]
1118 fn default() -> Self {
1119 Self {
1120 s_type: StructureType::APPLICATION_INFO,
1121 next: ptr::null(),
1122 application_name: ptr::null(),
1123 application_version: u32::default(),
1124 engine_name: ptr::null(),
1125 engine_version: u32::default(),
1126 api_version: u32::default(),
1127 }
1128 }
1129}
1130
1131unsafe impl Send for ApplicationInfo {}
1132unsafe impl Sync for ApplicationInfo {}
1133
1134#[repr(C)]
1136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1137pub struct ApplicationParametersEXT {
1138 pub s_type: StructureType,
1139 pub next: *const c_void,
1140 pub vendor_id: u32,
1141 pub device_id: u32,
1142 pub key: u32,
1143 pub value: u64,
1144}
1145
1146impl Default for ApplicationParametersEXT {
1147 #[inline]
1148 fn default() -> Self {
1149 Self {
1150 s_type: StructureType::APPLICATION_PARAMETERS_EXT,
1151 next: ptr::null(),
1152 vendor_id: u32::default(),
1153 device_id: u32::default(),
1154 key: u32::default(),
1155 value: u64::default(),
1156 }
1157 }
1158}
1159
1160unsafe impl Send for ApplicationParametersEXT {}
1161unsafe impl Sync for ApplicationParametersEXT {}
1162
1163#[repr(C)]
1165#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1166pub struct AttachmentDescription {
1167 pub flags: AttachmentDescriptionFlags,
1168 pub format: Format,
1169 pub samples: SampleCountFlags,
1170 pub load_op: AttachmentLoadOp,
1171 pub store_op: AttachmentStoreOp,
1172 pub stencil_load_op: AttachmentLoadOp,
1173 pub stencil_store_op: AttachmentStoreOp,
1174 pub initial_layout: ImageLayout,
1175 pub final_layout: ImageLayout,
1176}
1177
1178#[repr(C)]
1180#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1181pub struct AttachmentDescription2 {
1182 pub s_type: StructureType,
1183 pub next: *const c_void,
1184 pub flags: AttachmentDescriptionFlags,
1185 pub format: Format,
1186 pub samples: SampleCountFlags,
1187 pub load_op: AttachmentLoadOp,
1188 pub store_op: AttachmentStoreOp,
1189 pub stencil_load_op: AttachmentLoadOp,
1190 pub stencil_store_op: AttachmentStoreOp,
1191 pub initial_layout: ImageLayout,
1192 pub final_layout: ImageLayout,
1193}
1194
1195impl Default for AttachmentDescription2 {
1196 #[inline]
1197 fn default() -> Self {
1198 Self {
1199 s_type: StructureType::ATTACHMENT_DESCRIPTION_2,
1200 next: ptr::null(),
1201 flags: AttachmentDescriptionFlags::default(),
1202 format: Format::default(),
1203 samples: SampleCountFlags::default(),
1204 load_op: AttachmentLoadOp::default(),
1205 store_op: AttachmentStoreOp::default(),
1206 stencil_load_op: AttachmentLoadOp::default(),
1207 stencil_store_op: AttachmentStoreOp::default(),
1208 initial_layout: ImageLayout::default(),
1209 final_layout: ImageLayout::default(),
1210 }
1211 }
1212}
1213
1214unsafe impl Send for AttachmentDescription2 {}
1215unsafe impl Sync for AttachmentDescription2 {}
1216
1217#[repr(C)]
1219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1220pub struct AttachmentDescriptionStencilLayout {
1221 pub s_type: StructureType,
1222 pub next: *mut c_void,
1223 pub stencil_initial_layout: ImageLayout,
1224 pub stencil_final_layout: ImageLayout,
1225}
1226
1227impl Default for AttachmentDescriptionStencilLayout {
1228 #[inline]
1229 fn default() -> Self {
1230 Self {
1231 s_type: StructureType::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1232 next: ptr::null_mut(),
1233 stencil_initial_layout: ImageLayout::default(),
1234 stencil_final_layout: ImageLayout::default(),
1235 }
1236 }
1237}
1238
1239unsafe impl Send for AttachmentDescriptionStencilLayout {}
1240unsafe impl Sync for AttachmentDescriptionStencilLayout {}
1241
1242#[repr(C)]
1244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1245pub struct AttachmentFeedbackLoopInfoEXT {
1246 pub s_type: StructureType,
1247 pub next: *const c_void,
1248 pub feedback_loop_enable: Bool32,
1249}
1250
1251impl Default for AttachmentFeedbackLoopInfoEXT {
1252 #[inline]
1253 fn default() -> Self {
1254 Self {
1255 s_type: StructureType::ATTACHMENT_FEEDBACK_LOOP_INFO_EXT,
1256 next: ptr::null(),
1257 feedback_loop_enable: Bool32::default(),
1258 }
1259 }
1260}
1261
1262unsafe impl Send for AttachmentFeedbackLoopInfoEXT {}
1263unsafe impl Sync for AttachmentFeedbackLoopInfoEXT {}
1264
1265#[repr(C)]
1267#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1268pub struct AttachmentReference {
1269 pub attachment: u32,
1270 pub layout: ImageLayout,
1271}
1272
1273#[repr(C)]
1275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1276pub struct AttachmentReference2 {
1277 pub s_type: StructureType,
1278 pub next: *const c_void,
1279 pub attachment: u32,
1280 pub layout: ImageLayout,
1281 pub aspect_mask: ImageAspectFlags,
1282}
1283
1284impl Default for AttachmentReference2 {
1285 #[inline]
1286 fn default() -> Self {
1287 Self {
1288 s_type: StructureType::ATTACHMENT_REFERENCE_2,
1289 next: ptr::null(),
1290 attachment: u32::default(),
1291 layout: ImageLayout::default(),
1292 aspect_mask: ImageAspectFlags::default(),
1293 }
1294 }
1295}
1296
1297unsafe impl Send for AttachmentReference2 {}
1298unsafe impl Sync for AttachmentReference2 {}
1299
1300#[repr(C)]
1302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1303pub struct AttachmentReferenceStencilLayout {
1304 pub s_type: StructureType,
1305 pub next: *mut c_void,
1306 pub stencil_layout: ImageLayout,
1307}
1308
1309impl Default for AttachmentReferenceStencilLayout {
1310 #[inline]
1311 fn default() -> Self {
1312 Self {
1313 s_type: StructureType::ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1314 next: ptr::null_mut(),
1315 stencil_layout: ImageLayout::default(),
1316 }
1317 }
1318}
1319
1320unsafe impl Send for AttachmentReferenceStencilLayout {}
1321unsafe impl Sync for AttachmentReferenceStencilLayout {}
1322
1323#[repr(C)]
1325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1326pub struct AttachmentSampleCountInfoAMD {
1327 pub s_type: StructureType,
1328 pub next: *const c_void,
1329 pub color_attachment_count: u32,
1330 pub color_attachment_samples: *const SampleCountFlags,
1331 pub depth_stencil_attachment_samples: SampleCountFlags,
1332}
1333
1334impl Default for AttachmentSampleCountInfoAMD {
1335 #[inline]
1336 fn default() -> Self {
1337 Self {
1338 s_type: StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1339 next: ptr::null(),
1340 color_attachment_count: u32::default(),
1341 color_attachment_samples: ptr::null(),
1342 depth_stencil_attachment_samples: SampleCountFlags::default(),
1343 }
1344 }
1345}
1346
1347unsafe impl Send for AttachmentSampleCountInfoAMD {}
1348unsafe impl Sync for AttachmentSampleCountInfoAMD {}
1349
1350#[repr(C)]
1352#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1353pub struct AttachmentSampleLocationsEXT {
1354 pub attachment_index: u32,
1355 pub sample_locations_info: SampleLocationsInfoEXT,
1356}
1357
1358#[repr(C)]
1360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1361pub struct BaseInStructure {
1362 pub s_type: StructureType,
1363 pub next: *const BaseInStructure,
1364}
1365
1366impl Default for BaseInStructure {
1367 #[inline]
1368 fn default() -> Self {
1369 Self {
1370 s_type: StructureType::default(),
1371 next: ptr::null(),
1372 }
1373 }
1374}
1375
1376unsafe impl Send for BaseInStructure {}
1377unsafe impl Sync for BaseInStructure {}
1378
1379#[repr(C)]
1381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1382pub struct BaseOutStructure {
1383 pub s_type: StructureType,
1384 pub next: *mut BaseOutStructure,
1385}
1386
1387impl Default for BaseOutStructure {
1388 #[inline]
1389 fn default() -> Self {
1390 Self {
1391 s_type: StructureType::default(),
1392 next: ptr::null_mut(),
1393 }
1394 }
1395}
1396
1397unsafe impl Send for BaseOutStructure {}
1398unsafe impl Sync for BaseOutStructure {}
1399
1400#[repr(C)]
1402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1403pub struct BindAccelerationStructureMemoryInfoNV {
1404 pub s_type: StructureType,
1405 pub next: *const c_void,
1406 pub acceleration_structure: AccelerationStructureNV,
1407 pub memory: DeviceMemory,
1408 pub memory_offset: DeviceSize,
1409 pub device_index_count: u32,
1410 pub device_indices: *const u32,
1411}
1412
1413impl Default for BindAccelerationStructureMemoryInfoNV {
1414 #[inline]
1415 fn default() -> Self {
1416 Self {
1417 s_type: StructureType::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
1418 next: ptr::null(),
1419 acceleration_structure: AccelerationStructureNV::default(),
1420 memory: DeviceMemory::default(),
1421 memory_offset: DeviceSize::default(),
1422 device_index_count: u32::default(),
1423 device_indices: ptr::null(),
1424 }
1425 }
1426}
1427
1428unsafe impl Send for BindAccelerationStructureMemoryInfoNV {}
1429unsafe impl Sync for BindAccelerationStructureMemoryInfoNV {}
1430
1431#[repr(C)]
1433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1434pub struct BindBufferMemoryDeviceGroupInfo {
1435 pub s_type: StructureType,
1436 pub next: *const c_void,
1437 pub device_index_count: u32,
1438 pub device_indices: *const u32,
1439}
1440
1441impl Default for BindBufferMemoryDeviceGroupInfo {
1442 #[inline]
1443 fn default() -> Self {
1444 Self {
1445 s_type: StructureType::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1446 next: ptr::null(),
1447 device_index_count: u32::default(),
1448 device_indices: ptr::null(),
1449 }
1450 }
1451}
1452
1453unsafe impl Send for BindBufferMemoryDeviceGroupInfo {}
1454unsafe impl Sync for BindBufferMemoryDeviceGroupInfo {}
1455
1456#[repr(C)]
1458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1459pub struct BindBufferMemoryInfo {
1460 pub s_type: StructureType,
1461 pub next: *const c_void,
1462 pub buffer: Buffer,
1463 pub memory: DeviceMemory,
1464 pub memory_offset: DeviceSize,
1465}
1466
1467impl Default for BindBufferMemoryInfo {
1468 #[inline]
1469 fn default() -> Self {
1470 Self {
1471 s_type: StructureType::BIND_BUFFER_MEMORY_INFO,
1472 next: ptr::null(),
1473 buffer: Buffer::default(),
1474 memory: DeviceMemory::default(),
1475 memory_offset: DeviceSize::default(),
1476 }
1477 }
1478}
1479
1480unsafe impl Send for BindBufferMemoryInfo {}
1481unsafe impl Sync for BindBufferMemoryInfo {}
1482
1483#[repr(C)]
1485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1486pub struct BindDataGraphPipelineSessionMemoryInfoARM {
1487 pub s_type: StructureType,
1488 pub next: *const c_void,
1489 pub session: DataGraphPipelineSessionARM,
1490 pub bind_point: DataGraphPipelineSessionBindPointARM,
1491 pub object_index: u32,
1492 pub memory: DeviceMemory,
1493 pub memory_offset: DeviceSize,
1494}
1495
1496impl Default for BindDataGraphPipelineSessionMemoryInfoARM {
1497 #[inline]
1498 fn default() -> Self {
1499 Self {
1500 s_type: StructureType::BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM,
1501 next: ptr::null(),
1502 session: DataGraphPipelineSessionARM::default(),
1503 bind_point: DataGraphPipelineSessionBindPointARM::default(),
1504 object_index: u32::default(),
1505 memory: DeviceMemory::default(),
1506 memory_offset: DeviceSize::default(),
1507 }
1508 }
1509}
1510
1511unsafe impl Send for BindDataGraphPipelineSessionMemoryInfoARM {}
1512unsafe impl Sync for BindDataGraphPipelineSessionMemoryInfoARM {}
1513
1514#[repr(C)]
1516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1517pub struct BindDescriptorBufferEmbeddedSamplersInfoEXT {
1518 pub s_type: StructureType,
1519 pub next: *const c_void,
1520 pub stage_flags: ShaderStageFlags,
1521 pub layout: PipelineLayout,
1522 pub set: u32,
1523}
1524
1525impl Default for BindDescriptorBufferEmbeddedSamplersInfoEXT {
1526 #[inline]
1527 fn default() -> Self {
1528 Self {
1529 s_type: StructureType::BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT,
1530 next: ptr::null(),
1531 stage_flags: ShaderStageFlags::default(),
1532 layout: PipelineLayout::default(),
1533 set: u32::default(),
1534 }
1535 }
1536}
1537
1538unsafe impl Send for BindDescriptorBufferEmbeddedSamplersInfoEXT {}
1539unsafe impl Sync for BindDescriptorBufferEmbeddedSamplersInfoEXT {}
1540
1541#[repr(C)]
1543#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1544pub struct BindDescriptorSetsInfo {
1545 pub s_type: StructureType,
1546 pub next: *const c_void,
1547 pub stage_flags: ShaderStageFlags,
1548 pub layout: PipelineLayout,
1549 pub first_set: u32,
1550 pub descriptor_set_count: u32,
1551 pub descriptor_sets: *const DescriptorSet,
1552 pub dynamic_offset_count: u32,
1553 pub dynamic_offsets: *const u32,
1554}
1555
1556impl Default for BindDescriptorSetsInfo {
1557 #[inline]
1558 fn default() -> Self {
1559 Self {
1560 s_type: StructureType::BIND_DESCRIPTOR_SETS_INFO,
1561 next: ptr::null(),
1562 stage_flags: ShaderStageFlags::default(),
1563 layout: PipelineLayout::default(),
1564 first_set: u32::default(),
1565 descriptor_set_count: u32::default(),
1566 descriptor_sets: ptr::null(),
1567 dynamic_offset_count: u32::default(),
1568 dynamic_offsets: ptr::null(),
1569 }
1570 }
1571}
1572
1573unsafe impl Send for BindDescriptorSetsInfo {}
1574unsafe impl Sync for BindDescriptorSetsInfo {}
1575
1576#[repr(C)]
1578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1579pub struct BindImageMemoryDeviceGroupInfo {
1580 pub s_type: StructureType,
1581 pub next: *const c_void,
1582 pub device_index_count: u32,
1583 pub device_indices: *const u32,
1584 pub split_instance_bind_region_count: u32,
1585 pub split_instance_bind_regions: *const Rect2D,
1586}
1587
1588impl Default for BindImageMemoryDeviceGroupInfo {
1589 #[inline]
1590 fn default() -> Self {
1591 Self {
1592 s_type: StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1593 next: ptr::null(),
1594 device_index_count: u32::default(),
1595 device_indices: ptr::null(),
1596 split_instance_bind_region_count: u32::default(),
1597 split_instance_bind_regions: ptr::null(),
1598 }
1599 }
1600}
1601
1602unsafe impl Send for BindImageMemoryDeviceGroupInfo {}
1603unsafe impl Sync for BindImageMemoryDeviceGroupInfo {}
1604
1605#[repr(C)]
1607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1608pub struct BindImageMemoryInfo {
1609 pub s_type: StructureType,
1610 pub next: *const c_void,
1611 pub image: Image,
1612 pub memory: DeviceMemory,
1613 pub memory_offset: DeviceSize,
1614}
1615
1616impl Default for BindImageMemoryInfo {
1617 #[inline]
1618 fn default() -> Self {
1619 Self {
1620 s_type: StructureType::BIND_IMAGE_MEMORY_INFO,
1621 next: ptr::null(),
1622 image: Image::default(),
1623 memory: DeviceMemory::default(),
1624 memory_offset: DeviceSize::default(),
1625 }
1626 }
1627}
1628
1629unsafe impl Send for BindImageMemoryInfo {}
1630unsafe impl Sync for BindImageMemoryInfo {}
1631
1632#[repr(C)]
1634#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1635pub struct BindImageMemorySwapchainInfoKHR {
1636 pub s_type: StructureType,
1637 pub next: *const c_void,
1638 pub swapchain: SwapchainKHR,
1639 pub image_index: u32,
1640}
1641
1642impl Default for BindImageMemorySwapchainInfoKHR {
1643 #[inline]
1644 fn default() -> Self {
1645 Self {
1646 s_type: StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
1647 next: ptr::null(),
1648 swapchain: SwapchainKHR::default(),
1649 image_index: u32::default(),
1650 }
1651 }
1652}
1653
1654unsafe impl Send for BindImageMemorySwapchainInfoKHR {}
1655unsafe impl Sync for BindImageMemorySwapchainInfoKHR {}
1656
1657#[repr(C)]
1659#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1660pub struct BindImagePlaneMemoryInfo {
1661 pub s_type: StructureType,
1662 pub next: *const c_void,
1663 pub plane_aspect: ImageAspectFlags,
1664}
1665
1666impl Default for BindImagePlaneMemoryInfo {
1667 #[inline]
1668 fn default() -> Self {
1669 Self {
1670 s_type: StructureType::BIND_IMAGE_PLANE_MEMORY_INFO,
1671 next: ptr::null(),
1672 plane_aspect: ImageAspectFlags::default(),
1673 }
1674 }
1675}
1676
1677unsafe impl Send for BindImagePlaneMemoryInfo {}
1678unsafe impl Sync for BindImagePlaneMemoryInfo {}
1679
1680#[repr(C)]
1682#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1683pub struct BindIndexBufferIndirectCommandEXT {
1684 pub buffer_address: DeviceAddress,
1685 pub size: u32,
1686 pub index_type: IndexType,
1687}
1688
1689#[repr(C)]
1691#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1692pub struct BindIndexBufferIndirectCommandNV {
1693 pub buffer_address: DeviceAddress,
1694 pub size: u32,
1695 pub index_type: IndexType,
1696}
1697
1698#[repr(C)]
1700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1701pub struct BindMemoryStatus {
1702 pub s_type: StructureType,
1703 pub next: *const c_void,
1704 pub result: *mut Result,
1705}
1706
1707impl Default for BindMemoryStatus {
1708 #[inline]
1709 fn default() -> Self {
1710 Self {
1711 s_type: StructureType::BIND_MEMORY_STATUS,
1712 next: ptr::null(),
1713 result: ptr::null_mut(),
1714 }
1715 }
1716}
1717
1718unsafe impl Send for BindMemoryStatus {}
1719unsafe impl Sync for BindMemoryStatus {}
1720
1721#[repr(C)]
1723#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1724pub struct BindPipelineIndirectCommandNV {
1725 pub pipeline_address: DeviceAddress,
1726}
1727
1728#[repr(C)]
1730#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1731pub struct BindShaderGroupIndirectCommandNV {
1732 pub group_index: u32,
1733}
1734
1735#[repr(C)]
1737#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1738pub struct BindSparseInfo {
1739 pub s_type: StructureType,
1740 pub next: *const c_void,
1741 pub wait_semaphore_count: u32,
1742 pub wait_semaphores: *const Semaphore,
1743 pub buffer_bind_count: u32,
1744 pub buffer_binds: *const SparseBufferMemoryBindInfo,
1745 pub image_opaque_bind_count: u32,
1746 pub image_opaque_binds: *const SparseImageOpaqueMemoryBindInfo,
1747 pub image_bind_count: u32,
1748 pub image_binds: *const SparseImageMemoryBindInfo,
1749 pub signal_semaphore_count: u32,
1750 pub signal_semaphores: *const Semaphore,
1751}
1752
1753impl Default for BindSparseInfo {
1754 #[inline]
1755 fn default() -> Self {
1756 Self {
1757 s_type: StructureType::BIND_SPARSE_INFO,
1758 next: ptr::null(),
1759 wait_semaphore_count: u32::default(),
1760 wait_semaphores: ptr::null(),
1761 buffer_bind_count: u32::default(),
1762 buffer_binds: ptr::null(),
1763 image_opaque_bind_count: u32::default(),
1764 image_opaque_binds: ptr::null(),
1765 image_bind_count: u32::default(),
1766 image_binds: ptr::null(),
1767 signal_semaphore_count: u32::default(),
1768 signal_semaphores: ptr::null(),
1769 }
1770 }
1771}
1772
1773unsafe impl Send for BindSparseInfo {}
1774unsafe impl Sync for BindSparseInfo {}
1775
1776#[repr(C)]
1778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1779pub struct BindTensorMemoryInfoARM {
1780 pub s_type: StructureType,
1781 pub next: *const c_void,
1782 pub tensor: TensorARM,
1783 pub memory: DeviceMemory,
1784 pub memory_offset: DeviceSize,
1785}
1786
1787impl Default for BindTensorMemoryInfoARM {
1788 #[inline]
1789 fn default() -> Self {
1790 Self {
1791 s_type: StructureType::BIND_TENSOR_MEMORY_INFO_ARM,
1792 next: ptr::null(),
1793 tensor: TensorARM::default(),
1794 memory: DeviceMemory::default(),
1795 memory_offset: DeviceSize::default(),
1796 }
1797 }
1798}
1799
1800unsafe impl Send for BindTensorMemoryInfoARM {}
1801unsafe impl Sync for BindTensorMemoryInfoARM {}
1802
1803#[repr(C)]
1805#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1806pub struct BindVertexBufferIndirectCommandEXT {
1807 pub buffer_address: DeviceAddress,
1808 pub size: u32,
1809 pub stride: u32,
1810}
1811
1812#[repr(C)]
1814#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1815pub struct BindVertexBufferIndirectCommandNV {
1816 pub buffer_address: DeviceAddress,
1817 pub size: u32,
1818 pub stride: u32,
1819}
1820
1821#[repr(C)]
1823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1824pub struct BindVideoSessionMemoryInfoKHR {
1825 pub s_type: StructureType,
1826 pub next: *const c_void,
1827 pub memory_bind_index: u32,
1828 pub memory: DeviceMemory,
1829 pub memory_offset: DeviceSize,
1830 pub memory_size: DeviceSize,
1831}
1832
1833impl Default for BindVideoSessionMemoryInfoKHR {
1834 #[inline]
1835 fn default() -> Self {
1836 Self {
1837 s_type: StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
1838 next: ptr::null(),
1839 memory_bind_index: u32::default(),
1840 memory: DeviceMemory::default(),
1841 memory_offset: DeviceSize::default(),
1842 memory_size: DeviceSize::default(),
1843 }
1844 }
1845}
1846
1847unsafe impl Send for BindVideoSessionMemoryInfoKHR {}
1848unsafe impl Sync for BindVideoSessionMemoryInfoKHR {}
1849
1850#[repr(C)]
1852#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1853pub struct BlitImageCubicWeightsInfoQCOM {
1854 pub s_type: StructureType,
1855 pub next: *const c_void,
1856 pub cubic_weights: CubicFilterWeightsQCOM,
1857}
1858
1859impl Default for BlitImageCubicWeightsInfoQCOM {
1860 #[inline]
1861 fn default() -> Self {
1862 Self {
1863 s_type: StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
1864 next: ptr::null(),
1865 cubic_weights: CubicFilterWeightsQCOM::default(),
1866 }
1867 }
1868}
1869
1870unsafe impl Send for BlitImageCubicWeightsInfoQCOM {}
1871unsafe impl Sync for BlitImageCubicWeightsInfoQCOM {}
1872
1873#[repr(C)]
1875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1876pub struct BlitImageInfo2 {
1877 pub s_type: StructureType,
1878 pub next: *const c_void,
1879 pub src_image: Image,
1880 pub src_image_layout: ImageLayout,
1881 pub dst_image: Image,
1882 pub dst_image_layout: ImageLayout,
1883 pub region_count: u32,
1884 pub regions: *const ImageBlit2,
1885 pub filter: Filter,
1886}
1887
1888impl Default for BlitImageInfo2 {
1889 #[inline]
1890 fn default() -> Self {
1891 Self {
1892 s_type: StructureType::BLIT_IMAGE_INFO_2,
1893 next: ptr::null(),
1894 src_image: Image::default(),
1895 src_image_layout: ImageLayout::default(),
1896 dst_image: Image::default(),
1897 dst_image_layout: ImageLayout::default(),
1898 region_count: u32::default(),
1899 regions: ptr::null(),
1900 filter: Filter::default(),
1901 }
1902 }
1903}
1904
1905unsafe impl Send for BlitImageInfo2 {}
1906unsafe impl Sync for BlitImageInfo2 {}
1907
1908#[repr(C)]
1910#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1911pub struct BufferCaptureDescriptorDataInfoEXT {
1912 pub s_type: StructureType,
1913 pub next: *const c_void,
1914 pub buffer: Buffer,
1915}
1916
1917impl Default for BufferCaptureDescriptorDataInfoEXT {
1918 #[inline]
1919 fn default() -> Self {
1920 Self {
1921 s_type: StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1922 next: ptr::null(),
1923 buffer: Buffer::default(),
1924 }
1925 }
1926}
1927
1928unsafe impl Send for BufferCaptureDescriptorDataInfoEXT {}
1929unsafe impl Sync for BufferCaptureDescriptorDataInfoEXT {}
1930
1931#[repr(C)]
1933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1934pub struct BufferCollectionBufferCreateInfoFUCHSIA {
1935 pub s_type: StructureType,
1936 pub next: *const c_void,
1937 pub collection: BufferCollectionFUCHSIA,
1938 pub index: u32,
1939}
1940
1941impl Default for BufferCollectionBufferCreateInfoFUCHSIA {
1942 #[inline]
1943 fn default() -> Self {
1944 Self {
1945 s_type: StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
1946 next: ptr::null(),
1947 collection: BufferCollectionFUCHSIA::default(),
1948 index: u32::default(),
1949 }
1950 }
1951}
1952
1953unsafe impl Send for BufferCollectionBufferCreateInfoFUCHSIA {}
1954unsafe impl Sync for BufferCollectionBufferCreateInfoFUCHSIA {}
1955
1956#[repr(C)]
1958#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1959pub struct BufferCollectionConstraintsInfoFUCHSIA {
1960 pub s_type: StructureType,
1961 pub next: *const c_void,
1962 pub min_buffer_count: u32,
1963 pub max_buffer_count: u32,
1964 pub min_buffer_count_for_camping: u32,
1965 pub min_buffer_count_for_dedicated_slack: u32,
1966 pub min_buffer_count_for_shared_slack: u32,
1967}
1968
1969impl Default for BufferCollectionConstraintsInfoFUCHSIA {
1970 #[inline]
1971 fn default() -> Self {
1972 Self {
1973 s_type: StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
1974 next: ptr::null(),
1975 min_buffer_count: u32::default(),
1976 max_buffer_count: u32::default(),
1977 min_buffer_count_for_camping: u32::default(),
1978 min_buffer_count_for_dedicated_slack: u32::default(),
1979 min_buffer_count_for_shared_slack: u32::default(),
1980 }
1981 }
1982}
1983
1984unsafe impl Send for BufferCollectionConstraintsInfoFUCHSIA {}
1985unsafe impl Sync for BufferCollectionConstraintsInfoFUCHSIA {}
1986
1987#[repr(C)]
1989#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1990pub struct BufferCollectionCreateInfoFUCHSIA {
1991 pub s_type: StructureType,
1992 pub next: *const c_void,
1993 pub collection_token: zx_handle_t,
1994}
1995
1996impl Default for BufferCollectionCreateInfoFUCHSIA {
1997 #[inline]
1998 fn default() -> Self {
1999 Self {
2000 s_type: StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
2001 next: ptr::null(),
2002 collection_token: zx_handle_t::default(),
2003 }
2004 }
2005}
2006
2007unsafe impl Send for BufferCollectionCreateInfoFUCHSIA {}
2008unsafe impl Sync for BufferCollectionCreateInfoFUCHSIA {}
2009
2010#[repr(C)]
2012#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2013pub struct BufferCollectionImageCreateInfoFUCHSIA {
2014 pub s_type: StructureType,
2015 pub next: *const c_void,
2016 pub collection: BufferCollectionFUCHSIA,
2017 pub index: u32,
2018}
2019
2020impl Default for BufferCollectionImageCreateInfoFUCHSIA {
2021 #[inline]
2022 fn default() -> Self {
2023 Self {
2024 s_type: StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
2025 next: ptr::null(),
2026 collection: BufferCollectionFUCHSIA::default(),
2027 index: u32::default(),
2028 }
2029 }
2030}
2031
2032unsafe impl Send for BufferCollectionImageCreateInfoFUCHSIA {}
2033unsafe impl Sync for BufferCollectionImageCreateInfoFUCHSIA {}
2034
2035#[repr(C)]
2037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2038pub struct BufferCollectionPropertiesFUCHSIA {
2039 pub s_type: StructureType,
2040 pub next: *mut c_void,
2041 pub memory_type_bits: u32,
2042 pub buffer_count: u32,
2043 pub create_info_index: u32,
2044 pub sysmem_pixel_format: u64,
2045 pub format_features: FormatFeatureFlags,
2046 pub sysmem_color_space_index: SysmemColorSpaceFUCHSIA,
2047 pub sampler_ycbcr_conversion_components: ComponentMapping,
2048 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
2049 pub suggested_ycbcr_range: SamplerYcbcrRange,
2050 pub suggested_x_chroma_offset: ChromaLocation,
2051 pub suggested_y_chroma_offset: ChromaLocation,
2052}
2053
2054impl Default for BufferCollectionPropertiesFUCHSIA {
2055 #[inline]
2056 fn default() -> Self {
2057 Self {
2058 s_type: StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
2059 next: ptr::null_mut(),
2060 memory_type_bits: u32::default(),
2061 buffer_count: u32::default(),
2062 create_info_index: u32::default(),
2063 sysmem_pixel_format: u64::default(),
2064 format_features: FormatFeatureFlags::default(),
2065 sysmem_color_space_index: SysmemColorSpaceFUCHSIA::default(),
2066 sampler_ycbcr_conversion_components: ComponentMapping::default(),
2067 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
2068 suggested_ycbcr_range: SamplerYcbcrRange::default(),
2069 suggested_x_chroma_offset: ChromaLocation::default(),
2070 suggested_y_chroma_offset: ChromaLocation::default(),
2071 }
2072 }
2073}
2074
2075unsafe impl Send for BufferCollectionPropertiesFUCHSIA {}
2076unsafe impl Sync for BufferCollectionPropertiesFUCHSIA {}
2077
2078#[repr(C)]
2080#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2081pub struct BufferConstraintsInfoFUCHSIA {
2082 pub s_type: StructureType,
2083 pub next: *const c_void,
2084 pub create_info: BufferCreateInfo,
2085 pub required_format_features: FormatFeatureFlags,
2086 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
2087}
2088
2089impl Default for BufferConstraintsInfoFUCHSIA {
2090 #[inline]
2091 fn default() -> Self {
2092 Self {
2093 s_type: StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA,
2094 next: ptr::null(),
2095 create_info: BufferCreateInfo::default(),
2096 required_format_features: FormatFeatureFlags::default(),
2097 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
2098 }
2099 }
2100}
2101
2102unsafe impl Send for BufferConstraintsInfoFUCHSIA {}
2103unsafe impl Sync for BufferConstraintsInfoFUCHSIA {}
2104
2105#[repr(C)]
2107#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2108pub struct BufferCopy {
2109 pub src_offset: DeviceSize,
2110 pub dst_offset: DeviceSize,
2111 pub size: DeviceSize,
2112}
2113
2114#[repr(C)]
2116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2117pub struct BufferCopy2 {
2118 pub s_type: StructureType,
2119 pub next: *const c_void,
2120 pub src_offset: DeviceSize,
2121 pub dst_offset: DeviceSize,
2122 pub size: DeviceSize,
2123}
2124
2125impl Default for BufferCopy2 {
2126 #[inline]
2127 fn default() -> Self {
2128 Self {
2129 s_type: StructureType::BUFFER_COPY_2,
2130 next: ptr::null(),
2131 src_offset: DeviceSize::default(),
2132 dst_offset: DeviceSize::default(),
2133 size: DeviceSize::default(),
2134 }
2135 }
2136}
2137
2138unsafe impl Send for BufferCopy2 {}
2139unsafe impl Sync for BufferCopy2 {}
2140
2141#[repr(C)]
2143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2144pub struct BufferCreateInfo {
2145 pub s_type: StructureType,
2146 pub next: *const c_void,
2147 pub flags: BufferCreateFlags,
2148 pub size: DeviceSize,
2149 pub usage: BufferUsageFlags,
2150 pub sharing_mode: SharingMode,
2151 pub queue_family_index_count: u32,
2152 pub queue_family_indices: *const u32,
2153}
2154
2155impl Default for BufferCreateInfo {
2156 #[inline]
2157 fn default() -> Self {
2158 Self {
2159 s_type: StructureType::BUFFER_CREATE_INFO,
2160 next: ptr::null(),
2161 flags: BufferCreateFlags::default(),
2162 size: DeviceSize::default(),
2163 usage: BufferUsageFlags::default(),
2164 sharing_mode: SharingMode::default(),
2165 queue_family_index_count: u32::default(),
2166 queue_family_indices: ptr::null(),
2167 }
2168 }
2169}
2170
2171unsafe impl Send for BufferCreateInfo {}
2172unsafe impl Sync for BufferCreateInfo {}
2173
2174#[repr(C)]
2176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2177pub struct BufferDeviceAddressCreateInfoEXT {
2178 pub s_type: StructureType,
2179 pub next: *const c_void,
2180 pub device_address: DeviceAddress,
2181}
2182
2183impl Default for BufferDeviceAddressCreateInfoEXT {
2184 #[inline]
2185 fn default() -> Self {
2186 Self {
2187 s_type: StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
2188 next: ptr::null(),
2189 device_address: DeviceAddress::default(),
2190 }
2191 }
2192}
2193
2194unsafe impl Send for BufferDeviceAddressCreateInfoEXT {}
2195unsafe impl Sync for BufferDeviceAddressCreateInfoEXT {}
2196
2197#[repr(C)]
2199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2200pub struct BufferDeviceAddressInfo {
2201 pub s_type: StructureType,
2202 pub next: *const c_void,
2203 pub buffer: Buffer,
2204}
2205
2206impl Default for BufferDeviceAddressInfo {
2207 #[inline]
2208 fn default() -> Self {
2209 Self {
2210 s_type: StructureType::BUFFER_DEVICE_ADDRESS_INFO,
2211 next: ptr::null(),
2212 buffer: Buffer::default(),
2213 }
2214 }
2215}
2216
2217unsafe impl Send for BufferDeviceAddressInfo {}
2218unsafe impl Sync for BufferDeviceAddressInfo {}
2219
2220#[repr(C)]
2222#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2223pub struct BufferImageCopy {
2224 pub buffer_offset: DeviceSize,
2225 pub buffer_row_length: u32,
2226 pub buffer_image_height: u32,
2227 pub image_subresource: ImageSubresourceLayers,
2228 pub image_offset: Offset3D,
2229 pub image_extent: Extent3D,
2230}
2231
2232#[repr(C)]
2234#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2235pub struct BufferImageCopy2 {
2236 pub s_type: StructureType,
2237 pub next: *const c_void,
2238 pub buffer_offset: DeviceSize,
2239 pub buffer_row_length: u32,
2240 pub buffer_image_height: u32,
2241 pub image_subresource: ImageSubresourceLayers,
2242 pub image_offset: Offset3D,
2243 pub image_extent: Extent3D,
2244}
2245
2246impl Default for BufferImageCopy2 {
2247 #[inline]
2248 fn default() -> Self {
2249 Self {
2250 s_type: StructureType::BUFFER_IMAGE_COPY_2,
2251 next: ptr::null(),
2252 buffer_offset: DeviceSize::default(),
2253 buffer_row_length: u32::default(),
2254 buffer_image_height: u32::default(),
2255 image_subresource: ImageSubresourceLayers::default(),
2256 image_offset: Offset3D::default(),
2257 image_extent: Extent3D::default(),
2258 }
2259 }
2260}
2261
2262unsafe impl Send for BufferImageCopy2 {}
2263unsafe impl Sync for BufferImageCopy2 {}
2264
2265#[repr(C)]
2267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2268pub struct BufferMemoryBarrier {
2269 pub s_type: StructureType,
2270 pub next: *const c_void,
2271 pub src_access_mask: AccessFlags,
2272 pub dst_access_mask: AccessFlags,
2273 pub src_queue_family_index: u32,
2274 pub dst_queue_family_index: u32,
2275 pub buffer: Buffer,
2276 pub offset: DeviceSize,
2277 pub size: DeviceSize,
2278}
2279
2280impl Default for BufferMemoryBarrier {
2281 #[inline]
2282 fn default() -> Self {
2283 Self {
2284 s_type: StructureType::BUFFER_MEMORY_BARRIER,
2285 next: ptr::null(),
2286 src_access_mask: AccessFlags::default(),
2287 dst_access_mask: AccessFlags::default(),
2288 src_queue_family_index: u32::default(),
2289 dst_queue_family_index: u32::default(),
2290 buffer: Buffer::default(),
2291 offset: DeviceSize::default(),
2292 size: DeviceSize::default(),
2293 }
2294 }
2295}
2296
2297unsafe impl Send for BufferMemoryBarrier {}
2298unsafe impl Sync for BufferMemoryBarrier {}
2299
2300#[repr(C)]
2302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2303pub struct BufferMemoryBarrier2 {
2304 pub s_type: StructureType,
2305 pub next: *const c_void,
2306 pub src_stage_mask: PipelineStageFlags2,
2307 pub src_access_mask: AccessFlags2,
2308 pub dst_stage_mask: PipelineStageFlags2,
2309 pub dst_access_mask: AccessFlags2,
2310 pub src_queue_family_index: u32,
2311 pub dst_queue_family_index: u32,
2312 pub buffer: Buffer,
2313 pub offset: DeviceSize,
2314 pub size: DeviceSize,
2315}
2316
2317impl Default for BufferMemoryBarrier2 {
2318 #[inline]
2319 fn default() -> Self {
2320 Self {
2321 s_type: StructureType::BUFFER_MEMORY_BARRIER_2,
2322 next: ptr::null(),
2323 src_stage_mask: PipelineStageFlags2::default(),
2324 src_access_mask: AccessFlags2::default(),
2325 dst_stage_mask: PipelineStageFlags2::default(),
2326 dst_access_mask: AccessFlags2::default(),
2327 src_queue_family_index: u32::default(),
2328 dst_queue_family_index: u32::default(),
2329 buffer: Buffer::default(),
2330 offset: DeviceSize::default(),
2331 size: DeviceSize::default(),
2332 }
2333 }
2334}
2335
2336unsafe impl Send for BufferMemoryBarrier2 {}
2337unsafe impl Sync for BufferMemoryBarrier2 {}
2338
2339#[repr(C)]
2341#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2342pub struct BufferMemoryRequirementsInfo2 {
2343 pub s_type: StructureType,
2344 pub next: *const c_void,
2345 pub buffer: Buffer,
2346}
2347
2348impl Default for BufferMemoryRequirementsInfo2 {
2349 #[inline]
2350 fn default() -> Self {
2351 Self {
2352 s_type: StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2,
2353 next: ptr::null(),
2354 buffer: Buffer::default(),
2355 }
2356 }
2357}
2358
2359unsafe impl Send for BufferMemoryRequirementsInfo2 {}
2360unsafe impl Sync for BufferMemoryRequirementsInfo2 {}
2361
2362#[repr(C)]
2364#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2365pub struct BufferOpaqueCaptureAddressCreateInfo {
2366 pub s_type: StructureType,
2367 pub next: *const c_void,
2368 pub opaque_capture_address: u64,
2369}
2370
2371impl Default for BufferOpaqueCaptureAddressCreateInfo {
2372 #[inline]
2373 fn default() -> Self {
2374 Self {
2375 s_type: StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2376 next: ptr::null(),
2377 opaque_capture_address: u64::default(),
2378 }
2379 }
2380}
2381
2382unsafe impl Send for BufferOpaqueCaptureAddressCreateInfo {}
2383unsafe impl Sync for BufferOpaqueCaptureAddressCreateInfo {}
2384
2385#[repr(C)]
2387#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2388pub struct BufferUsageFlags2CreateInfo {
2389 pub s_type: StructureType,
2390 pub next: *const c_void,
2391 pub usage: BufferUsageFlags2,
2392}
2393
2394impl Default for BufferUsageFlags2CreateInfo {
2395 #[inline]
2396 fn default() -> Self {
2397 Self {
2398 s_type: StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO,
2399 next: ptr::null(),
2400 usage: BufferUsageFlags2::default(),
2401 }
2402 }
2403}
2404
2405unsafe impl Send for BufferUsageFlags2CreateInfo {}
2406unsafe impl Sync for BufferUsageFlags2CreateInfo {}
2407
2408#[repr(C)]
2410#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2411pub struct BufferViewCreateInfo {
2412 pub s_type: StructureType,
2413 pub next: *const c_void,
2414 pub flags: BufferViewCreateFlags,
2415 pub buffer: Buffer,
2416 pub format: Format,
2417 pub offset: DeviceSize,
2418 pub range: DeviceSize,
2419}
2420
2421impl Default for BufferViewCreateInfo {
2422 #[inline]
2423 fn default() -> Self {
2424 Self {
2425 s_type: StructureType::BUFFER_VIEW_CREATE_INFO,
2426 next: ptr::null(),
2427 flags: BufferViewCreateFlags::default(),
2428 buffer: Buffer::default(),
2429 format: Format::default(),
2430 offset: DeviceSize::default(),
2431 range: DeviceSize::default(),
2432 }
2433 }
2434}
2435
2436unsafe impl Send for BufferViewCreateInfo {}
2437unsafe impl Sync for BufferViewCreateInfo {}
2438
2439#[repr(C)]
2441#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2442pub struct BuildPartitionedAccelerationStructureIndirectCommandNV {
2443 pub op_type: PartitionedAccelerationStructureOpTypeNV,
2444 pub arg_count: u32,
2445 pub arg_data: StridedDeviceAddressNV,
2446}
2447
2448#[repr(C)]
2450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2451pub struct BuildPartitionedAccelerationStructureInfoNV {
2452 pub s_type: StructureType,
2453 pub next: *mut c_void,
2454 pub input: PartitionedAccelerationStructureInstancesInputNV,
2455 pub src_acceleration_structure_data: DeviceAddress,
2456 pub dst_acceleration_structure_data: DeviceAddress,
2457 pub scratch_data: DeviceAddress,
2458 pub src_infos: DeviceAddress,
2459 pub src_infos_count: DeviceAddress,
2460}
2461
2462impl Default for BuildPartitionedAccelerationStructureInfoNV {
2463 #[inline]
2464 fn default() -> Self {
2465 Self {
2466 s_type: StructureType::BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV,
2467 next: ptr::null_mut(),
2468 input: PartitionedAccelerationStructureInstancesInputNV::default(),
2469 src_acceleration_structure_data: DeviceAddress::default(),
2470 dst_acceleration_structure_data: DeviceAddress::default(),
2471 scratch_data: DeviceAddress::default(),
2472 src_infos: DeviceAddress::default(),
2473 src_infos_count: DeviceAddress::default(),
2474 }
2475 }
2476}
2477
2478unsafe impl Send for BuildPartitionedAccelerationStructureInfoNV {}
2479unsafe impl Sync for BuildPartitionedAccelerationStructureInfoNV {}
2480
2481#[repr(C)]
2483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2484pub struct CalibratedTimestampInfoKHR {
2485 pub s_type: StructureType,
2486 pub next: *const c_void,
2487 pub time_domain: TimeDomainKHR,
2488}
2489
2490impl Default for CalibratedTimestampInfoKHR {
2491 #[inline]
2492 fn default() -> Self {
2493 Self {
2494 s_type: StructureType::CALIBRATED_TIMESTAMP_INFO_KHR,
2495 next: ptr::null(),
2496 time_domain: TimeDomainKHR::default(),
2497 }
2498 }
2499}
2500
2501unsafe impl Send for CalibratedTimestampInfoKHR {}
2502unsafe impl Sync for CalibratedTimestampInfoKHR {}
2503
2504#[repr(C)]
2506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2507pub struct CheckpointData2NV {
2508 pub s_type: StructureType,
2509 pub next: *mut c_void,
2510 pub stage: PipelineStageFlags2,
2511 pub checkpoint_marker: *mut c_void,
2512}
2513
2514impl Default for CheckpointData2NV {
2515 #[inline]
2516 fn default() -> Self {
2517 Self {
2518 s_type: StructureType::CHECKPOINT_DATA_2_NV,
2519 next: ptr::null_mut(),
2520 stage: PipelineStageFlags2::default(),
2521 checkpoint_marker: ptr::null_mut(),
2522 }
2523 }
2524}
2525
2526unsafe impl Send for CheckpointData2NV {}
2527unsafe impl Sync for CheckpointData2NV {}
2528
2529#[repr(C)]
2531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2532pub struct CheckpointDataNV {
2533 pub s_type: StructureType,
2534 pub next: *mut c_void,
2535 pub stage: PipelineStageFlags,
2536 pub checkpoint_marker: *mut c_void,
2537}
2538
2539impl Default for CheckpointDataNV {
2540 #[inline]
2541 fn default() -> Self {
2542 Self {
2543 s_type: StructureType::CHECKPOINT_DATA_NV,
2544 next: ptr::null_mut(),
2545 stage: PipelineStageFlags::default(),
2546 checkpoint_marker: ptr::null_mut(),
2547 }
2548 }
2549}
2550
2551unsafe impl Send for CheckpointDataNV {}
2552unsafe impl Sync for CheckpointDataNV {}
2553
2554#[repr(C)]
2556#[derive(Copy, Clone, Default, Debug)]
2557pub struct ClearAttachment {
2558 pub aspect_mask: ImageAspectFlags,
2559 pub color_attachment: u32,
2560 pub clear_value: ClearValue,
2561}
2562
2563#[repr(C)]
2565#[derive(Copy, Clone, Default, Debug, PartialEq)]
2566pub struct ClearDepthStencilValue {
2567 pub depth: f32,
2568 pub stencil: u32,
2569}
2570
2571#[repr(C)]
2573#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2574pub struct ClearRect {
2575 pub rect: Rect2D,
2576 pub base_array_layer: u32,
2577 pub layer_count: u32,
2578}
2579
2580#[repr(C)]
2582#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2583pub struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
2584 pub cluster_references_count: u32,
2585 pub cluster_references_stride: u32,
2586 pub cluster_references: DeviceAddress,
2587}
2588
2589bitfields32! {
2590 struct ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0 {
2591 (triangle_count, with_triangle_count)[0 .. 9],
2592 (vertex_count, with_vertex_count)[9 .. 18],
2593 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2594 (index_type, with_index_type)[24 .. 28],
2595 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2596 }
2597}
2598
2599#[repr(C)]
2601#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2602pub struct ClusterAccelerationStructureBuildTriangleClusterInfoNV {
2603 pub cluster_id: u32,
2604 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2605 pub base_geometry_index_and_geometry_flags:
2606 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2607 pub index_buffer_stride: u16,
2608 pub vertex_buffer_stride: u16,
2609 pub geometry_index_and_flags_buffer_stride: u16,
2610 pub opacity_micromap_index_buffer_stride: u16,
2611 pub index_buffer: DeviceAddress,
2612 pub vertex_buffer: DeviceAddress,
2613 pub geometry_index_and_flags_buffer: DeviceAddress,
2614 pub opacity_micromap_array: DeviceAddress,
2615 pub opacity_micromap_index_buffer: DeviceAddress,
2616 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0,
2617}
2618
2619bitfields32! {
2620 struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0 {
2621 (triangle_count, with_triangle_count)[0 .. 9],
2622 (vertex_count, with_vertex_count)[9 .. 18],
2623 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2624 (index_type, with_index_type)[24 .. 28],
2625 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2626 }
2627}
2628
2629#[repr(C)]
2631#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2632pub struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
2633 pub cluster_id: u32,
2634 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2635 pub base_geometry_index_and_geometry_flags:
2636 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2637 pub index_buffer_stride: u16,
2638 pub vertex_buffer_stride: u16,
2639 pub geometry_index_and_flags_buffer_stride: u16,
2640 pub opacity_micromap_index_buffer_stride: u16,
2641 pub index_buffer: DeviceAddress,
2642 pub vertex_buffer: DeviceAddress,
2643 pub geometry_index_and_flags_buffer: DeviceAddress,
2644 pub opacity_micromap_array: DeviceAddress,
2645 pub opacity_micromap_index_buffer: DeviceAddress,
2646 pub instantiation_bounding_box_limit: DeviceAddress,
2647 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0,
2648}
2649
2650#[repr(C)]
2652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2653pub struct ClusterAccelerationStructureClustersBottomLevelInputNV {
2654 pub s_type: StructureType,
2655 pub next: *mut c_void,
2656 pub max_total_cluster_count: u32,
2657 pub max_cluster_count_per_acceleration_structure: u32,
2658}
2659
2660impl Default for ClusterAccelerationStructureClustersBottomLevelInputNV {
2661 #[inline]
2662 fn default() -> Self {
2663 Self {
2664 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV,
2665 next: ptr::null_mut(),
2666 max_total_cluster_count: u32::default(),
2667 max_cluster_count_per_acceleration_structure: u32::default(),
2668 }
2669 }
2670}
2671
2672unsafe impl Send for ClusterAccelerationStructureClustersBottomLevelInputNV {}
2673unsafe impl Sync for ClusterAccelerationStructureClustersBottomLevelInputNV {}
2674
2675#[repr(C)]
2677#[derive(Copy, Clone, Debug)]
2678pub struct ClusterAccelerationStructureCommandsInfoNV {
2679 pub s_type: StructureType,
2680 pub next: *mut c_void,
2681 pub input: ClusterAccelerationStructureInputInfoNV,
2682 pub dst_implicit_data: DeviceAddress,
2683 pub scratch_data: DeviceAddress,
2684 pub dst_addresses_array: StridedDeviceAddressRegionKHR,
2685 pub dst_sizes_array: StridedDeviceAddressRegionKHR,
2686 pub src_infos_array: StridedDeviceAddressRegionKHR,
2687 pub src_infos_count: DeviceAddress,
2688 pub address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV,
2689}
2690
2691impl Default for ClusterAccelerationStructureCommandsInfoNV {
2692 #[inline]
2693 fn default() -> Self {
2694 Self {
2695 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV,
2696 next: ptr::null_mut(),
2697 input: ClusterAccelerationStructureInputInfoNV::default(),
2698 dst_implicit_data: DeviceAddress::default(),
2699 scratch_data: DeviceAddress::default(),
2700 dst_addresses_array: StridedDeviceAddressRegionKHR::default(),
2701 dst_sizes_array: StridedDeviceAddressRegionKHR::default(),
2702 src_infos_array: StridedDeviceAddressRegionKHR::default(),
2703 src_infos_count: DeviceAddress::default(),
2704 address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV::default(
2705 ),
2706 }
2707 }
2708}
2709
2710unsafe impl Send for ClusterAccelerationStructureCommandsInfoNV {}
2711unsafe impl Sync for ClusterAccelerationStructureCommandsInfoNV {}
2712
2713bitfields32! {
2714 struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0 {
2715 (geometry_index, with_geometry_index)[0 .. 24],
2716 (reserved, with_reserved)[24 .. 29],
2717 (geometry_flags, with_geometry_flags)[29 .. 32],
2718 }
2719}
2720
2721#[repr(C)]
2723#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2724pub struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
2725 pub bitfields0: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0,
2726}
2727
2728#[repr(C)]
2730#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2731pub struct ClusterAccelerationStructureGetTemplateIndicesInfoNV {
2732 pub cluster_template_address: DeviceAddress,
2733}
2734
2735#[repr(C)]
2737#[derive(Copy, Clone, Debug)]
2738pub struct ClusterAccelerationStructureInputInfoNV {
2739 pub s_type: StructureType,
2740 pub next: *mut c_void,
2741 pub max_acceleration_structure_count: u32,
2742 pub flags: BuildAccelerationStructureFlagsKHR,
2743 pub op_type: ClusterAccelerationStructureOpTypeNV,
2744 pub op_mode: ClusterAccelerationStructureOpModeNV,
2745 pub op_input: ClusterAccelerationStructureOpInputNV,
2746}
2747
2748impl Default for ClusterAccelerationStructureInputInfoNV {
2749 #[inline]
2750 fn default() -> Self {
2751 Self {
2752 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV,
2753 next: ptr::null_mut(),
2754 max_acceleration_structure_count: u32::default(),
2755 flags: BuildAccelerationStructureFlagsKHR::default(),
2756 op_type: ClusterAccelerationStructureOpTypeNV::default(),
2757 op_mode: ClusterAccelerationStructureOpModeNV::default(),
2758 op_input: ClusterAccelerationStructureOpInputNV::default(),
2759 }
2760 }
2761}
2762
2763unsafe impl Send for ClusterAccelerationStructureInputInfoNV {}
2764unsafe impl Sync for ClusterAccelerationStructureInputInfoNV {}
2765
2766bitfields32! {
2767 struct ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0 {
2768 (geometry_index_offset, with_geometry_index_offset)[0 .. 24],
2769 (reserved, with_reserved)[24 .. 32],
2770 }
2771}
2772
2773#[repr(C)]
2775#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2776pub struct ClusterAccelerationStructureInstantiateClusterInfoNV {
2777 pub cluster_id_offset: u32,
2778 pub cluster_template_address: DeviceAddress,
2779 pub vertex_buffer: StridedDeviceAddressNV,
2780 pub bitfields0: ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0,
2781}
2782
2783#[repr(C)]
2785#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2786pub struct ClusterAccelerationStructureMoveObjectsInfoNV {
2787 pub src_acceleration_structure: DeviceAddress,
2788}
2789
2790#[repr(C)]
2792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2793pub struct ClusterAccelerationStructureMoveObjectsInputNV {
2794 pub s_type: StructureType,
2795 pub next: *mut c_void,
2796 pub type_: ClusterAccelerationStructureTypeNV,
2797 pub no_move_overlap: Bool32,
2798 pub max_moved_bytes: DeviceSize,
2799}
2800
2801impl Default for ClusterAccelerationStructureMoveObjectsInputNV {
2802 #[inline]
2803 fn default() -> Self {
2804 Self {
2805 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV,
2806 next: ptr::null_mut(),
2807 type_: ClusterAccelerationStructureTypeNV::default(),
2808 no_move_overlap: Bool32::default(),
2809 max_moved_bytes: DeviceSize::default(),
2810 }
2811 }
2812}
2813
2814unsafe impl Send for ClusterAccelerationStructureMoveObjectsInputNV {}
2815unsafe impl Sync for ClusterAccelerationStructureMoveObjectsInputNV {}
2816
2817#[repr(C)]
2819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2820pub struct ClusterAccelerationStructureTriangleClusterInputNV {
2821 pub s_type: StructureType,
2822 pub next: *mut c_void,
2823 pub vertex_format: Format,
2824 pub max_geometry_index_value: u32,
2825 pub max_cluster_unique_geometry_count: u32,
2826 pub max_cluster_triangle_count: u32,
2827 pub max_cluster_vertex_count: u32,
2828 pub max_total_triangle_count: u32,
2829 pub max_total_vertex_count: u32,
2830 pub min_position_truncate_bit_count: u32,
2831}
2832
2833impl Default for ClusterAccelerationStructureTriangleClusterInputNV {
2834 #[inline]
2835 fn default() -> Self {
2836 Self {
2837 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV,
2838 next: ptr::null_mut(),
2839 vertex_format: Format::default(),
2840 max_geometry_index_value: u32::default(),
2841 max_cluster_unique_geometry_count: u32::default(),
2842 max_cluster_triangle_count: u32::default(),
2843 max_cluster_vertex_count: u32::default(),
2844 max_total_triangle_count: u32::default(),
2845 max_total_vertex_count: u32::default(),
2846 min_position_truncate_bit_count: u32::default(),
2847 }
2848 }
2849}
2850
2851unsafe impl Send for ClusterAccelerationStructureTriangleClusterInputNV {}
2852unsafe impl Sync for ClusterAccelerationStructureTriangleClusterInputNV {}
2853
2854#[repr(C)]
2856#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2857pub struct CoarseSampleLocationNV {
2858 pub pixel_x: u32,
2859 pub pixel_y: u32,
2860 pub sample: u32,
2861}
2862
2863#[repr(C)]
2865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2866pub struct CoarseSampleOrderCustomNV {
2867 pub shading_rate: ShadingRatePaletteEntryNV,
2868 pub sample_count: u32,
2869 pub sample_location_count: u32,
2870 pub sample_locations: *const CoarseSampleLocationNV,
2871}
2872
2873impl Default for CoarseSampleOrderCustomNV {
2874 #[inline]
2875 fn default() -> Self {
2876 Self {
2877 shading_rate: ShadingRatePaletteEntryNV::default(),
2878 sample_count: u32::default(),
2879 sample_location_count: u32::default(),
2880 sample_locations: ptr::null(),
2881 }
2882 }
2883}
2884
2885unsafe impl Send for CoarseSampleOrderCustomNV {}
2886unsafe impl Sync for CoarseSampleOrderCustomNV {}
2887
2888#[repr(C)]
2890#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2891pub struct ColorBlendAdvancedEXT {
2892 pub advanced_blend_op: BlendOp,
2893 pub src_premultiplied: Bool32,
2894 pub dst_premultiplied: Bool32,
2895 pub blend_overlap: BlendOverlapEXT,
2896 pub clamp_results: Bool32,
2897}
2898
2899#[repr(C)]
2901#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2902pub struct ColorBlendEquationEXT {
2903 pub src_color_blend_factor: BlendFactor,
2904 pub dst_color_blend_factor: BlendFactor,
2905 pub color_blend_op: BlendOp,
2906 pub src_alpha_blend_factor: BlendFactor,
2907 pub dst_alpha_blend_factor: BlendFactor,
2908 pub alpha_blend_op: BlendOp,
2909}
2910
2911#[repr(C)]
2913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2914pub struct CommandBufferAllocateInfo {
2915 pub s_type: StructureType,
2916 pub next: *const c_void,
2917 pub command_pool: CommandPool,
2918 pub level: CommandBufferLevel,
2919 pub command_buffer_count: u32,
2920}
2921
2922impl Default for CommandBufferAllocateInfo {
2923 #[inline]
2924 fn default() -> Self {
2925 Self {
2926 s_type: StructureType::COMMAND_BUFFER_ALLOCATE_INFO,
2927 next: ptr::null(),
2928 command_pool: CommandPool::default(),
2929 level: CommandBufferLevel::default(),
2930 command_buffer_count: u32::default(),
2931 }
2932 }
2933}
2934
2935unsafe impl Send for CommandBufferAllocateInfo {}
2936unsafe impl Sync for CommandBufferAllocateInfo {}
2937
2938#[repr(C)]
2940#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2941pub struct CommandBufferBeginInfo {
2942 pub s_type: StructureType,
2943 pub next: *const c_void,
2944 pub flags: CommandBufferUsageFlags,
2945 pub inheritance_info: *const CommandBufferInheritanceInfo,
2946}
2947
2948impl Default for CommandBufferBeginInfo {
2949 #[inline]
2950 fn default() -> Self {
2951 Self {
2952 s_type: StructureType::COMMAND_BUFFER_BEGIN_INFO,
2953 next: ptr::null(),
2954 flags: CommandBufferUsageFlags::default(),
2955 inheritance_info: ptr::null(),
2956 }
2957 }
2958}
2959
2960unsafe impl Send for CommandBufferBeginInfo {}
2961unsafe impl Sync for CommandBufferBeginInfo {}
2962
2963#[repr(C)]
2965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2966pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
2967 pub s_type: StructureType,
2968 pub next: *const c_void,
2969 pub conditional_rendering_enable: Bool32,
2970}
2971
2972impl Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
2973 #[inline]
2974 fn default() -> Self {
2975 Self {
2976 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
2977 next: ptr::null(),
2978 conditional_rendering_enable: Bool32::default(),
2979 }
2980 }
2981}
2982
2983unsafe impl Send for CommandBufferInheritanceConditionalRenderingInfoEXT {}
2984unsafe impl Sync for CommandBufferInheritanceConditionalRenderingInfoEXT {}
2985
2986#[repr(C)]
2988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2989pub struct CommandBufferInheritanceInfo {
2990 pub s_type: StructureType,
2991 pub next: *const c_void,
2992 pub render_pass: RenderPass,
2993 pub subpass: u32,
2994 pub framebuffer: Framebuffer,
2995 pub occlusion_query_enable: Bool32,
2996 pub query_flags: QueryControlFlags,
2997 pub pipeline_statistics: QueryPipelineStatisticFlags,
2998}
2999
3000impl Default for CommandBufferInheritanceInfo {
3001 #[inline]
3002 fn default() -> Self {
3003 Self {
3004 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_INFO,
3005 next: ptr::null(),
3006 render_pass: RenderPass::default(),
3007 subpass: u32::default(),
3008 framebuffer: Framebuffer::default(),
3009 occlusion_query_enable: Bool32::default(),
3010 query_flags: QueryControlFlags::default(),
3011 pipeline_statistics: QueryPipelineStatisticFlags::default(),
3012 }
3013 }
3014}
3015
3016unsafe impl Send for CommandBufferInheritanceInfo {}
3017unsafe impl Sync for CommandBufferInheritanceInfo {}
3018
3019#[repr(C)]
3021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3022pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
3023 pub s_type: StructureType,
3024 pub next: *const c_void,
3025 pub transform: SurfaceTransformFlagsKHR,
3026 pub render_area: Rect2D,
3027}
3028
3029impl Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
3030 #[inline]
3031 fn default() -> Self {
3032 Self {
3033 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
3034 next: ptr::null(),
3035 transform: SurfaceTransformFlagsKHR::default(),
3036 render_area: Rect2D::default(),
3037 }
3038 }
3039}
3040
3041unsafe impl Send for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
3042unsafe impl Sync for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
3043
3044#[repr(C)]
3046#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3047pub struct CommandBufferInheritanceRenderingInfo {
3048 pub s_type: StructureType,
3049 pub next: *const c_void,
3050 pub flags: RenderingFlags,
3051 pub view_mask: u32,
3052 pub color_attachment_count: u32,
3053 pub color_attachment_formats: *const Format,
3054 pub depth_attachment_format: Format,
3055 pub stencil_attachment_format: Format,
3056 pub rasterization_samples: SampleCountFlags,
3057}
3058
3059impl Default for CommandBufferInheritanceRenderingInfo {
3060 #[inline]
3061 fn default() -> Self {
3062 Self {
3063 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
3064 next: ptr::null(),
3065 flags: RenderingFlags::default(),
3066 view_mask: u32::default(),
3067 color_attachment_count: u32::default(),
3068 color_attachment_formats: ptr::null(),
3069 depth_attachment_format: Format::default(),
3070 stencil_attachment_format: Format::default(),
3071 rasterization_samples: SampleCountFlags::default(),
3072 }
3073 }
3074}
3075
3076unsafe impl Send for CommandBufferInheritanceRenderingInfo {}
3077unsafe impl Sync for CommandBufferInheritanceRenderingInfo {}
3078
3079#[repr(C)]
3081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3082pub struct CommandBufferInheritanceViewportScissorInfoNV {
3083 pub s_type: StructureType,
3084 pub next: *const c_void,
3085 pub viewport_scissor_2d: Bool32,
3086 pub viewport_depth_count: u32,
3087 pub viewport_depths: *const Viewport,
3088}
3089
3090impl Default for CommandBufferInheritanceViewportScissorInfoNV {
3091 #[inline]
3092 fn default() -> Self {
3093 Self {
3094 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
3095 next: ptr::null(),
3096 viewport_scissor_2d: Bool32::default(),
3097 viewport_depth_count: u32::default(),
3098 viewport_depths: ptr::null(),
3099 }
3100 }
3101}
3102
3103unsafe impl Send for CommandBufferInheritanceViewportScissorInfoNV {}
3104unsafe impl Sync for CommandBufferInheritanceViewportScissorInfoNV {}
3105
3106#[repr(C)]
3108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3109pub struct CommandBufferSubmitInfo {
3110 pub s_type: StructureType,
3111 pub next: *const c_void,
3112 pub command_buffer: CommandBuffer,
3113 pub device_mask: u32,
3114}
3115
3116impl Default for CommandBufferSubmitInfo {
3117 #[inline]
3118 fn default() -> Self {
3119 Self {
3120 s_type: StructureType::COMMAND_BUFFER_SUBMIT_INFO,
3121 next: ptr::null(),
3122 command_buffer: CommandBuffer::default(),
3123 device_mask: u32::default(),
3124 }
3125 }
3126}
3127
3128unsafe impl Send for CommandBufferSubmitInfo {}
3129unsafe impl Sync for CommandBufferSubmitInfo {}
3130
3131#[repr(C)]
3133#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3134pub struct CommandPoolCreateInfo {
3135 pub s_type: StructureType,
3136 pub next: *const c_void,
3137 pub flags: CommandPoolCreateFlags,
3138 pub queue_family_index: u32,
3139}
3140
3141impl Default for CommandPoolCreateInfo {
3142 #[inline]
3143 fn default() -> Self {
3144 Self {
3145 s_type: StructureType::COMMAND_POOL_CREATE_INFO,
3146 next: ptr::null(),
3147 flags: CommandPoolCreateFlags::default(),
3148 queue_family_index: u32::default(),
3149 }
3150 }
3151}
3152
3153unsafe impl Send for CommandPoolCreateInfo {}
3154unsafe impl Sync for CommandPoolCreateInfo {}
3155
3156#[repr(C)]
3158#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3159pub struct ComponentMapping {
3160 pub r: ComponentSwizzle,
3161 pub g: ComponentSwizzle,
3162 pub b: ComponentSwizzle,
3163 pub a: ComponentSwizzle,
3164}
3165
3166#[repr(C)]
3168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3169pub struct ComputePipelineCreateInfo {
3170 pub s_type: StructureType,
3171 pub next: *const c_void,
3172 pub flags: PipelineCreateFlags,
3173 pub stage: PipelineShaderStageCreateInfo,
3174 pub layout: PipelineLayout,
3175 pub base_pipeline_handle: Pipeline,
3176 pub base_pipeline_index: i32,
3177}
3178
3179impl Default for ComputePipelineCreateInfo {
3180 #[inline]
3181 fn default() -> Self {
3182 Self {
3183 s_type: StructureType::COMPUTE_PIPELINE_CREATE_INFO,
3184 next: ptr::null(),
3185 flags: PipelineCreateFlags::default(),
3186 stage: PipelineShaderStageCreateInfo::default(),
3187 layout: PipelineLayout::default(),
3188 base_pipeline_handle: Pipeline::default(),
3189 base_pipeline_index: i32::default(),
3190 }
3191 }
3192}
3193
3194unsafe impl Send for ComputePipelineCreateInfo {}
3195unsafe impl Sync for ComputePipelineCreateInfo {}
3196
3197#[repr(C)]
3199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3200pub struct ComputePipelineIndirectBufferInfoNV {
3201 pub s_type: StructureType,
3202 pub next: *const c_void,
3203 pub device_address: DeviceAddress,
3204 pub size: DeviceSize,
3205 pub pipeline_device_address_capture_replay: DeviceAddress,
3206}
3207
3208impl Default for ComputePipelineIndirectBufferInfoNV {
3209 #[inline]
3210 fn default() -> Self {
3211 Self {
3212 s_type: StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
3213 next: ptr::null(),
3214 device_address: DeviceAddress::default(),
3215 size: DeviceSize::default(),
3216 pipeline_device_address_capture_replay: DeviceAddress::default(),
3217 }
3218 }
3219}
3220
3221unsafe impl Send for ComputePipelineIndirectBufferInfoNV {}
3222unsafe impl Sync for ComputePipelineIndirectBufferInfoNV {}
3223
3224#[repr(C)]
3226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3227pub struct ConditionalRenderingBeginInfoEXT {
3228 pub s_type: StructureType,
3229 pub next: *const c_void,
3230 pub buffer: Buffer,
3231 pub offset: DeviceSize,
3232 pub flags: ConditionalRenderingFlagsEXT,
3233}
3234
3235impl Default for ConditionalRenderingBeginInfoEXT {
3236 #[inline]
3237 fn default() -> Self {
3238 Self {
3239 s_type: StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
3240 next: ptr::null(),
3241 buffer: Buffer::default(),
3242 offset: DeviceSize::default(),
3243 flags: ConditionalRenderingFlagsEXT::default(),
3244 }
3245 }
3246}
3247
3248unsafe impl Send for ConditionalRenderingBeginInfoEXT {}
3249unsafe impl Sync for ConditionalRenderingBeginInfoEXT {}
3250
3251#[repr(C)]
3253#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3254pub struct ConformanceVersion {
3255 pub major: u8,
3256 pub minor: u8,
3257 pub subminor: u8,
3258 pub patch: u8,
3259}
3260
3261#[repr(C)]
3263#[derive(Copy, Clone, Debug)]
3264pub struct ConvertCooperativeVectorMatrixInfoNV {
3265 pub s_type: StructureType,
3266 pub next: *const c_void,
3267 pub src_size: usize,
3268 pub src_data: DeviceOrHostAddressConstKHR,
3269 pub dst_size: *mut usize,
3270 pub dst_data: DeviceOrHostAddressKHR,
3271 pub src_component_type: ComponentTypeKHR,
3272 pub dst_component_type: ComponentTypeKHR,
3273 pub num_rows: u32,
3274 pub num_columns: u32,
3275 pub src_layout: CooperativeVectorMatrixLayoutNV,
3276 pub src_stride: usize,
3277 pub dst_layout: CooperativeVectorMatrixLayoutNV,
3278 pub dst_stride: usize,
3279}
3280
3281impl Default for ConvertCooperativeVectorMatrixInfoNV {
3282 #[inline]
3283 fn default() -> Self {
3284 Self {
3285 s_type: StructureType::CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV,
3286 next: ptr::null(),
3287 src_size: usize::default(),
3288 src_data: DeviceOrHostAddressConstKHR::default(),
3289 dst_size: ptr::null_mut(),
3290 dst_data: DeviceOrHostAddressKHR::default(),
3291 src_component_type: ComponentTypeKHR::default(),
3292 dst_component_type: ComponentTypeKHR::default(),
3293 num_rows: u32::default(),
3294 num_columns: u32::default(),
3295 src_layout: CooperativeVectorMatrixLayoutNV::default(),
3296 src_stride: usize::default(),
3297 dst_layout: CooperativeVectorMatrixLayoutNV::default(),
3298 dst_stride: usize::default(),
3299 }
3300 }
3301}
3302
3303unsafe impl Send for ConvertCooperativeVectorMatrixInfoNV {}
3304unsafe impl Sync for ConvertCooperativeVectorMatrixInfoNV {}
3305
3306#[repr(C)]
3308#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3309pub struct CooperativeMatrixFlexibleDimensionsPropertiesNV {
3310 pub s_type: StructureType,
3311 pub next: *mut c_void,
3312 pub m_granularity: u32,
3313 pub n_granularity: u32,
3314 pub k_granularity: u32,
3315 pub a_type: ComponentTypeKHR,
3316 pub b_type: ComponentTypeKHR,
3317 pub c_type: ComponentTypeKHR,
3318 pub result_type: ComponentTypeKHR,
3319 pub saturating_accumulation: Bool32,
3320 pub scope: ScopeKHR,
3321 pub workgroup_invocations: u32,
3322}
3323
3324impl Default for CooperativeMatrixFlexibleDimensionsPropertiesNV {
3325 #[inline]
3326 fn default() -> Self {
3327 Self {
3328 s_type: StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV,
3329 next: ptr::null_mut(),
3330 m_granularity: u32::default(),
3331 n_granularity: u32::default(),
3332 k_granularity: u32::default(),
3333 a_type: ComponentTypeKHR::default(),
3334 b_type: ComponentTypeKHR::default(),
3335 c_type: ComponentTypeKHR::default(),
3336 result_type: ComponentTypeKHR::default(),
3337 saturating_accumulation: Bool32::default(),
3338 scope: ScopeKHR::default(),
3339 workgroup_invocations: u32::default(),
3340 }
3341 }
3342}
3343
3344unsafe impl Send for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
3345unsafe impl Sync for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
3346
3347#[repr(C)]
3349#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3350pub struct CooperativeMatrixPropertiesKHR {
3351 pub s_type: StructureType,
3352 pub next: *mut c_void,
3353 pub m_size: u32,
3354 pub n_size: u32,
3355 pub k_size: u32,
3356 pub a_type: ComponentTypeKHR,
3357 pub b_type: ComponentTypeKHR,
3358 pub c_type: ComponentTypeKHR,
3359 pub result_type: ComponentTypeKHR,
3360 pub saturating_accumulation: Bool32,
3361 pub scope: ScopeKHR,
3362}
3363
3364impl Default for CooperativeMatrixPropertiesKHR {
3365 #[inline]
3366 fn default() -> Self {
3367 Self {
3368 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR,
3369 next: ptr::null_mut(),
3370 m_size: u32::default(),
3371 n_size: u32::default(),
3372 k_size: u32::default(),
3373 a_type: ComponentTypeKHR::default(),
3374 b_type: ComponentTypeKHR::default(),
3375 c_type: ComponentTypeKHR::default(),
3376 result_type: ComponentTypeKHR::default(),
3377 saturating_accumulation: Bool32::default(),
3378 scope: ScopeKHR::default(),
3379 }
3380 }
3381}
3382
3383unsafe impl Send for CooperativeMatrixPropertiesKHR {}
3384unsafe impl Sync for CooperativeMatrixPropertiesKHR {}
3385
3386#[repr(C)]
3388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3389pub struct CooperativeMatrixPropertiesNV {
3390 pub s_type: StructureType,
3391 pub next: *mut c_void,
3392 pub m_size: u32,
3393 pub n_size: u32,
3394 pub k_size: u32,
3395 pub a_type: ComponentTypeNV,
3396 pub b_type: ComponentTypeNV,
3397 pub c_type: ComponentTypeNV,
3398 pub d_type: ComponentTypeNV,
3399 pub scope: ScopeNV,
3400}
3401
3402impl Default for CooperativeMatrixPropertiesNV {
3403 #[inline]
3404 fn default() -> Self {
3405 Self {
3406 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV,
3407 next: ptr::null_mut(),
3408 m_size: u32::default(),
3409 n_size: u32::default(),
3410 k_size: u32::default(),
3411 a_type: ComponentTypeNV::default(),
3412 b_type: ComponentTypeNV::default(),
3413 c_type: ComponentTypeNV::default(),
3414 d_type: ComponentTypeNV::default(),
3415 scope: ScopeNV::default(),
3416 }
3417 }
3418}
3419
3420unsafe impl Send for CooperativeMatrixPropertiesNV {}
3421unsafe impl Sync for CooperativeMatrixPropertiesNV {}
3422
3423#[repr(C)]
3425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3426pub struct CooperativeVectorPropertiesNV {
3427 pub s_type: StructureType,
3428 pub next: *mut c_void,
3429 pub input_type: ComponentTypeKHR,
3430 pub input_interpretation: ComponentTypeKHR,
3431 pub matrix_interpretation: ComponentTypeKHR,
3432 pub bias_interpretation: ComponentTypeKHR,
3433 pub result_type: ComponentTypeKHR,
3434 pub transpose: Bool32,
3435}
3436
3437impl Default for CooperativeVectorPropertiesNV {
3438 #[inline]
3439 fn default() -> Self {
3440 Self {
3441 s_type: StructureType::COOPERATIVE_VECTOR_PROPERTIES_NV,
3442 next: ptr::null_mut(),
3443 input_type: ComponentTypeKHR::default(),
3444 input_interpretation: ComponentTypeKHR::default(),
3445 matrix_interpretation: ComponentTypeKHR::default(),
3446 bias_interpretation: ComponentTypeKHR::default(),
3447 result_type: ComponentTypeKHR::default(),
3448 transpose: Bool32::default(),
3449 }
3450 }
3451}
3452
3453unsafe impl Send for CooperativeVectorPropertiesNV {}
3454unsafe impl Sync for CooperativeVectorPropertiesNV {}
3455
3456#[repr(C)]
3458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3459pub struct CopyAccelerationStructureInfoKHR {
3460 pub s_type: StructureType,
3461 pub next: *const c_void,
3462 pub src: AccelerationStructureKHR,
3463 pub dst: AccelerationStructureKHR,
3464 pub mode: CopyAccelerationStructureModeKHR,
3465}
3466
3467impl Default for CopyAccelerationStructureInfoKHR {
3468 #[inline]
3469 fn default() -> Self {
3470 Self {
3471 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR,
3472 next: ptr::null(),
3473 src: AccelerationStructureKHR::default(),
3474 dst: AccelerationStructureKHR::default(),
3475 mode: CopyAccelerationStructureModeKHR::default(),
3476 }
3477 }
3478}
3479
3480unsafe impl Send for CopyAccelerationStructureInfoKHR {}
3481unsafe impl Sync for CopyAccelerationStructureInfoKHR {}
3482
3483#[repr(C)]
3485#[derive(Copy, Clone, Debug)]
3486pub struct CopyAccelerationStructureToMemoryInfoKHR {
3487 pub s_type: StructureType,
3488 pub next: *const c_void,
3489 pub src: AccelerationStructureKHR,
3490 pub dst: DeviceOrHostAddressKHR,
3491 pub mode: CopyAccelerationStructureModeKHR,
3492}
3493
3494impl Default for CopyAccelerationStructureToMemoryInfoKHR {
3495 #[inline]
3496 fn default() -> Self {
3497 Self {
3498 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
3499 next: ptr::null(),
3500 src: AccelerationStructureKHR::default(),
3501 dst: DeviceOrHostAddressKHR::default(),
3502 mode: CopyAccelerationStructureModeKHR::default(),
3503 }
3504 }
3505}
3506
3507unsafe impl Send for CopyAccelerationStructureToMemoryInfoKHR {}
3508unsafe impl Sync for CopyAccelerationStructureToMemoryInfoKHR {}
3509
3510#[repr(C)]
3512#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3513pub struct CopyBufferInfo2 {
3514 pub s_type: StructureType,
3515 pub next: *const c_void,
3516 pub src_buffer: Buffer,
3517 pub dst_buffer: Buffer,
3518 pub region_count: u32,
3519 pub regions: *const BufferCopy2,
3520}
3521
3522impl Default for CopyBufferInfo2 {
3523 #[inline]
3524 fn default() -> Self {
3525 Self {
3526 s_type: StructureType::COPY_BUFFER_INFO_2,
3527 next: ptr::null(),
3528 src_buffer: Buffer::default(),
3529 dst_buffer: Buffer::default(),
3530 region_count: u32::default(),
3531 regions: ptr::null(),
3532 }
3533 }
3534}
3535
3536unsafe impl Send for CopyBufferInfo2 {}
3537unsafe impl Sync for CopyBufferInfo2 {}
3538
3539#[repr(C)]
3541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3542pub struct CopyBufferToImageInfo2 {
3543 pub s_type: StructureType,
3544 pub next: *const c_void,
3545 pub src_buffer: Buffer,
3546 pub dst_image: Image,
3547 pub dst_image_layout: ImageLayout,
3548 pub region_count: u32,
3549 pub regions: *const BufferImageCopy2,
3550}
3551
3552impl Default for CopyBufferToImageInfo2 {
3553 #[inline]
3554 fn default() -> Self {
3555 Self {
3556 s_type: StructureType::COPY_BUFFER_TO_IMAGE_INFO_2,
3557 next: ptr::null(),
3558 src_buffer: Buffer::default(),
3559 dst_image: Image::default(),
3560 dst_image_layout: ImageLayout::default(),
3561 region_count: u32::default(),
3562 regions: ptr::null(),
3563 }
3564 }
3565}
3566
3567unsafe impl Send for CopyBufferToImageInfo2 {}
3568unsafe impl Sync for CopyBufferToImageInfo2 {}
3569
3570#[repr(C)]
3572#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3573pub struct CopyCommandTransformInfoQCOM {
3574 pub s_type: StructureType,
3575 pub next: *const c_void,
3576 pub transform: SurfaceTransformFlagsKHR,
3577}
3578
3579impl Default for CopyCommandTransformInfoQCOM {
3580 #[inline]
3581 fn default() -> Self {
3582 Self {
3583 s_type: StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM,
3584 next: ptr::null(),
3585 transform: SurfaceTransformFlagsKHR::default(),
3586 }
3587 }
3588}
3589
3590unsafe impl Send for CopyCommandTransformInfoQCOM {}
3591unsafe impl Sync for CopyCommandTransformInfoQCOM {}
3592
3593#[repr(C)]
3595#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3596pub struct CopyDescriptorSet {
3597 pub s_type: StructureType,
3598 pub next: *const c_void,
3599 pub src_set: DescriptorSet,
3600 pub src_binding: u32,
3601 pub src_array_element: u32,
3602 pub dst_set: DescriptorSet,
3603 pub dst_binding: u32,
3604 pub dst_array_element: u32,
3605 pub descriptor_count: u32,
3606}
3607
3608impl Default for CopyDescriptorSet {
3609 #[inline]
3610 fn default() -> Self {
3611 Self {
3612 s_type: StructureType::COPY_DESCRIPTOR_SET,
3613 next: ptr::null(),
3614 src_set: DescriptorSet::default(),
3615 src_binding: u32::default(),
3616 src_array_element: u32::default(),
3617 dst_set: DescriptorSet::default(),
3618 dst_binding: u32::default(),
3619 dst_array_element: u32::default(),
3620 descriptor_count: u32::default(),
3621 }
3622 }
3623}
3624
3625unsafe impl Send for CopyDescriptorSet {}
3626unsafe impl Sync for CopyDescriptorSet {}
3627
3628#[repr(C)]
3630#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3631pub struct CopyImageInfo2 {
3632 pub s_type: StructureType,
3633 pub next: *const c_void,
3634 pub src_image: Image,
3635 pub src_image_layout: ImageLayout,
3636 pub dst_image: Image,
3637 pub dst_image_layout: ImageLayout,
3638 pub region_count: u32,
3639 pub regions: *const ImageCopy2,
3640}
3641
3642impl Default for CopyImageInfo2 {
3643 #[inline]
3644 fn default() -> Self {
3645 Self {
3646 s_type: StructureType::COPY_IMAGE_INFO_2,
3647 next: ptr::null(),
3648 src_image: Image::default(),
3649 src_image_layout: ImageLayout::default(),
3650 dst_image: Image::default(),
3651 dst_image_layout: ImageLayout::default(),
3652 region_count: u32::default(),
3653 regions: ptr::null(),
3654 }
3655 }
3656}
3657
3658unsafe impl Send for CopyImageInfo2 {}
3659unsafe impl Sync for CopyImageInfo2 {}
3660
3661#[repr(C)]
3663#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3664pub struct CopyImageToBufferInfo2 {
3665 pub s_type: StructureType,
3666 pub next: *const c_void,
3667 pub src_image: Image,
3668 pub src_image_layout: ImageLayout,
3669 pub dst_buffer: Buffer,
3670 pub region_count: u32,
3671 pub regions: *const BufferImageCopy2,
3672}
3673
3674impl Default for CopyImageToBufferInfo2 {
3675 #[inline]
3676 fn default() -> Self {
3677 Self {
3678 s_type: StructureType::COPY_IMAGE_TO_BUFFER_INFO_2,
3679 next: ptr::null(),
3680 src_image: Image::default(),
3681 src_image_layout: ImageLayout::default(),
3682 dst_buffer: Buffer::default(),
3683 region_count: u32::default(),
3684 regions: ptr::null(),
3685 }
3686 }
3687}
3688
3689unsafe impl Send for CopyImageToBufferInfo2 {}
3690unsafe impl Sync for CopyImageToBufferInfo2 {}
3691
3692#[repr(C)]
3694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3695pub struct CopyImageToImageInfo {
3696 pub s_type: StructureType,
3697 pub next: *const c_void,
3698 pub flags: HostImageCopyFlags,
3699 pub src_image: Image,
3700 pub src_image_layout: ImageLayout,
3701 pub dst_image: Image,
3702 pub dst_image_layout: ImageLayout,
3703 pub region_count: u32,
3704 pub regions: *const ImageCopy2,
3705}
3706
3707impl Default for CopyImageToImageInfo {
3708 #[inline]
3709 fn default() -> Self {
3710 Self {
3711 s_type: StructureType::COPY_IMAGE_TO_IMAGE_INFO,
3712 next: ptr::null(),
3713 flags: HostImageCopyFlags::default(),
3714 src_image: Image::default(),
3715 src_image_layout: ImageLayout::default(),
3716 dst_image: Image::default(),
3717 dst_image_layout: ImageLayout::default(),
3718 region_count: u32::default(),
3719 regions: ptr::null(),
3720 }
3721 }
3722}
3723
3724unsafe impl Send for CopyImageToImageInfo {}
3725unsafe impl Sync for CopyImageToImageInfo {}
3726
3727#[repr(C)]
3729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3730pub struct CopyImageToMemoryInfo {
3731 pub s_type: StructureType,
3732 pub next: *const c_void,
3733 pub flags: HostImageCopyFlags,
3734 pub src_image: Image,
3735 pub src_image_layout: ImageLayout,
3736 pub region_count: u32,
3737 pub regions: *const ImageToMemoryCopy,
3738}
3739
3740impl Default for CopyImageToMemoryInfo {
3741 #[inline]
3742 fn default() -> Self {
3743 Self {
3744 s_type: StructureType::COPY_IMAGE_TO_MEMORY_INFO,
3745 next: ptr::null(),
3746 flags: HostImageCopyFlags::default(),
3747 src_image: Image::default(),
3748 src_image_layout: ImageLayout::default(),
3749 region_count: u32::default(),
3750 regions: ptr::null(),
3751 }
3752 }
3753}
3754
3755unsafe impl Send for CopyImageToMemoryInfo {}
3756unsafe impl Sync for CopyImageToMemoryInfo {}
3757
3758#[repr(C)]
3760#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3761pub struct CopyMemoryIndirectCommandKHR {
3762 pub src_address: DeviceAddress,
3763 pub dst_address: DeviceAddress,
3764 pub size: DeviceSize,
3765}
3766
3767#[repr(C)]
3769#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3770pub struct CopyMemoryIndirectInfoKHR {
3771 pub s_type: StructureType,
3772 pub next: *const c_void,
3773 pub src_copy_flags: AddressCopyFlagsKHR,
3774 pub dst_copy_flags: AddressCopyFlagsKHR,
3775 pub copy_count: u32,
3776 pub copy_address_range: StridedDeviceAddressRangeKHR,
3777}
3778
3779impl Default for CopyMemoryIndirectInfoKHR {
3780 #[inline]
3781 fn default() -> Self {
3782 Self {
3783 s_type: StructureType::COPY_MEMORY_INDIRECT_INFO_KHR,
3784 next: ptr::null(),
3785 src_copy_flags: AddressCopyFlagsKHR::default(),
3786 dst_copy_flags: AddressCopyFlagsKHR::default(),
3787 copy_count: u32::default(),
3788 copy_address_range: StridedDeviceAddressRangeKHR::default(),
3789 }
3790 }
3791}
3792
3793unsafe impl Send for CopyMemoryIndirectInfoKHR {}
3794unsafe impl Sync for CopyMemoryIndirectInfoKHR {}
3795
3796#[repr(C)]
3798#[derive(Copy, Clone, Debug)]
3799pub struct CopyMemoryToAccelerationStructureInfoKHR {
3800 pub s_type: StructureType,
3801 pub next: *const c_void,
3802 pub src: DeviceOrHostAddressConstKHR,
3803 pub dst: AccelerationStructureKHR,
3804 pub mode: CopyAccelerationStructureModeKHR,
3805}
3806
3807impl Default for CopyMemoryToAccelerationStructureInfoKHR {
3808 #[inline]
3809 fn default() -> Self {
3810 Self {
3811 s_type: StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
3812 next: ptr::null(),
3813 src: DeviceOrHostAddressConstKHR::default(),
3814 dst: AccelerationStructureKHR::default(),
3815 mode: CopyAccelerationStructureModeKHR::default(),
3816 }
3817 }
3818}
3819
3820unsafe impl Send for CopyMemoryToAccelerationStructureInfoKHR {}
3821unsafe impl Sync for CopyMemoryToAccelerationStructureInfoKHR {}
3822
3823#[repr(C)]
3825#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3826pub struct CopyMemoryToImageIndirectCommandKHR {
3827 pub src_address: DeviceAddress,
3828 pub buffer_row_length: u32,
3829 pub buffer_image_height: u32,
3830 pub image_subresource: ImageSubresourceLayers,
3831 pub image_offset: Offset3D,
3832 pub image_extent: Extent3D,
3833}
3834
3835#[repr(C)]
3837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3838pub struct CopyMemoryToImageIndirectInfoKHR {
3839 pub s_type: StructureType,
3840 pub next: *const c_void,
3841 pub src_copy_flags: AddressCopyFlagsKHR,
3842 pub copy_count: u32,
3843 pub copy_address_range: StridedDeviceAddressRangeKHR,
3844 pub dst_image: Image,
3845 pub dst_image_layout: ImageLayout,
3846 pub image_subresources: *const ImageSubresourceLayers,
3847}
3848
3849impl Default for CopyMemoryToImageIndirectInfoKHR {
3850 #[inline]
3851 fn default() -> Self {
3852 Self {
3853 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR,
3854 next: ptr::null(),
3855 src_copy_flags: AddressCopyFlagsKHR::default(),
3856 copy_count: u32::default(),
3857 copy_address_range: StridedDeviceAddressRangeKHR::default(),
3858 dst_image: Image::default(),
3859 dst_image_layout: ImageLayout::default(),
3860 image_subresources: ptr::null(),
3861 }
3862 }
3863}
3864
3865unsafe impl Send for CopyMemoryToImageIndirectInfoKHR {}
3866unsafe impl Sync for CopyMemoryToImageIndirectInfoKHR {}
3867
3868#[repr(C)]
3870#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3871pub struct CopyMemoryToImageInfo {
3872 pub s_type: StructureType,
3873 pub next: *const c_void,
3874 pub flags: HostImageCopyFlags,
3875 pub dst_image: Image,
3876 pub dst_image_layout: ImageLayout,
3877 pub region_count: u32,
3878 pub regions: *const MemoryToImageCopy,
3879}
3880
3881impl Default for CopyMemoryToImageInfo {
3882 #[inline]
3883 fn default() -> Self {
3884 Self {
3885 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INFO,
3886 next: ptr::null(),
3887 flags: HostImageCopyFlags::default(),
3888 dst_image: Image::default(),
3889 dst_image_layout: ImageLayout::default(),
3890 region_count: u32::default(),
3891 regions: ptr::null(),
3892 }
3893 }
3894}
3895
3896unsafe impl Send for CopyMemoryToImageInfo {}
3897unsafe impl Sync for CopyMemoryToImageInfo {}
3898
3899#[repr(C)]
3901#[derive(Copy, Clone, Debug)]
3902pub struct CopyMemoryToMicromapInfoEXT {
3903 pub s_type: StructureType,
3904 pub next: *const c_void,
3905 pub src: DeviceOrHostAddressConstKHR,
3906 pub dst: MicromapEXT,
3907 pub mode: CopyMicromapModeEXT,
3908}
3909
3910impl Default for CopyMemoryToMicromapInfoEXT {
3911 #[inline]
3912 fn default() -> Self {
3913 Self {
3914 s_type: StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT,
3915 next: ptr::null(),
3916 src: DeviceOrHostAddressConstKHR::default(),
3917 dst: MicromapEXT::default(),
3918 mode: CopyMicromapModeEXT::default(),
3919 }
3920 }
3921}
3922
3923unsafe impl Send for CopyMemoryToMicromapInfoEXT {}
3924unsafe impl Sync for CopyMemoryToMicromapInfoEXT {}
3925
3926#[repr(C)]
3928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3929pub struct CopyMicromapInfoEXT {
3930 pub s_type: StructureType,
3931 pub next: *const c_void,
3932 pub src: MicromapEXT,
3933 pub dst: MicromapEXT,
3934 pub mode: CopyMicromapModeEXT,
3935}
3936
3937impl Default for CopyMicromapInfoEXT {
3938 #[inline]
3939 fn default() -> Self {
3940 Self {
3941 s_type: StructureType::COPY_MICROMAP_INFO_EXT,
3942 next: ptr::null(),
3943 src: MicromapEXT::default(),
3944 dst: MicromapEXT::default(),
3945 mode: CopyMicromapModeEXT::default(),
3946 }
3947 }
3948}
3949
3950unsafe impl Send for CopyMicromapInfoEXT {}
3951unsafe impl Sync for CopyMicromapInfoEXT {}
3952
3953#[repr(C)]
3955#[derive(Copy, Clone, Debug)]
3956pub struct CopyMicromapToMemoryInfoEXT {
3957 pub s_type: StructureType,
3958 pub next: *const c_void,
3959 pub src: MicromapEXT,
3960 pub dst: DeviceOrHostAddressKHR,
3961 pub mode: CopyMicromapModeEXT,
3962}
3963
3964impl Default for CopyMicromapToMemoryInfoEXT {
3965 #[inline]
3966 fn default() -> Self {
3967 Self {
3968 s_type: StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT,
3969 next: ptr::null(),
3970 src: MicromapEXT::default(),
3971 dst: DeviceOrHostAddressKHR::default(),
3972 mode: CopyMicromapModeEXT::default(),
3973 }
3974 }
3975}
3976
3977unsafe impl Send for CopyMicromapToMemoryInfoEXT {}
3978unsafe impl Sync for CopyMicromapToMemoryInfoEXT {}
3979
3980#[repr(C)]
3982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3983pub struct CopyTensorInfoARM {
3984 pub s_type: StructureType,
3985 pub next: *const c_void,
3986 pub src_tensor: TensorARM,
3987 pub dst_tensor: TensorARM,
3988 pub region_count: u32,
3989 pub regions: *const TensorCopyARM,
3990}
3991
3992impl Default for CopyTensorInfoARM {
3993 #[inline]
3994 fn default() -> Self {
3995 Self {
3996 s_type: StructureType::COPY_TENSOR_INFO_ARM,
3997 next: ptr::null(),
3998 src_tensor: TensorARM::default(),
3999 dst_tensor: TensorARM::default(),
4000 region_count: u32::default(),
4001 regions: ptr::null(),
4002 }
4003 }
4004}
4005
4006unsafe impl Send for CopyTensorInfoARM {}
4007unsafe impl Sync for CopyTensorInfoARM {}
4008
4009#[repr(C)]
4011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4012pub struct CuFunctionCreateInfoNVX {
4013 pub s_type: StructureType,
4014 pub next: *const c_void,
4015 pub module: CuModuleNVX,
4016 pub name: *const c_char,
4017}
4018
4019impl Default for CuFunctionCreateInfoNVX {
4020 #[inline]
4021 fn default() -> Self {
4022 Self {
4023 s_type: StructureType::CU_FUNCTION_CREATE_INFO_NVX,
4024 next: ptr::null(),
4025 module: CuModuleNVX::default(),
4026 name: ptr::null(),
4027 }
4028 }
4029}
4030
4031unsafe impl Send for CuFunctionCreateInfoNVX {}
4032unsafe impl Sync for CuFunctionCreateInfoNVX {}
4033
4034#[repr(C)]
4036#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4037pub struct CuLaunchInfoNVX {
4038 pub s_type: StructureType,
4039 pub next: *const c_void,
4040 pub function: CuFunctionNVX,
4041 pub grid_dim_x: u32,
4042 pub grid_dim_y: u32,
4043 pub grid_dim_z: u32,
4044 pub block_dim_x: u32,
4045 pub block_dim_y: u32,
4046 pub block_dim_z: u32,
4047 pub shared_mem_bytes: u32,
4048 pub param_count: usize,
4049 pub params: *const c_void,
4050 pub extra_count: usize,
4051 pub extras: *const c_void,
4052}
4053
4054impl Default for CuLaunchInfoNVX {
4055 #[inline]
4056 fn default() -> Self {
4057 Self {
4058 s_type: StructureType::CU_LAUNCH_INFO_NVX,
4059 next: ptr::null(),
4060 function: CuFunctionNVX::default(),
4061 grid_dim_x: u32::default(),
4062 grid_dim_y: u32::default(),
4063 grid_dim_z: u32::default(),
4064 block_dim_x: u32::default(),
4065 block_dim_y: u32::default(),
4066 block_dim_z: u32::default(),
4067 shared_mem_bytes: u32::default(),
4068 param_count: usize::default(),
4069 params: ptr::null(),
4070 extra_count: usize::default(),
4071 extras: ptr::null(),
4072 }
4073 }
4074}
4075
4076unsafe impl Send for CuLaunchInfoNVX {}
4077unsafe impl Sync for CuLaunchInfoNVX {}
4078
4079#[repr(C)]
4081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4082pub struct CuModuleCreateInfoNVX {
4083 pub s_type: StructureType,
4084 pub next: *const c_void,
4085 pub data_size: usize,
4086 pub data: *const c_void,
4087}
4088
4089impl Default for CuModuleCreateInfoNVX {
4090 #[inline]
4091 fn default() -> Self {
4092 Self {
4093 s_type: StructureType::CU_MODULE_CREATE_INFO_NVX,
4094 next: ptr::null(),
4095 data_size: usize::default(),
4096 data: ptr::null(),
4097 }
4098 }
4099}
4100
4101unsafe impl Send for CuModuleCreateInfoNVX {}
4102unsafe impl Sync for CuModuleCreateInfoNVX {}
4103
4104#[repr(C)]
4106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4107pub struct CuModuleTexturingModeCreateInfoNVX {
4108 pub s_type: StructureType,
4109 pub next: *const c_void,
4110 pub use64bit_texturing: Bool32,
4111}
4112
4113impl Default for CuModuleTexturingModeCreateInfoNVX {
4114 #[inline]
4115 fn default() -> Self {
4116 Self {
4117 s_type: StructureType::CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX,
4118 next: ptr::null(),
4119 use64bit_texturing: Bool32::default(),
4120 }
4121 }
4122}
4123
4124unsafe impl Send for CuModuleTexturingModeCreateInfoNVX {}
4125unsafe impl Sync for CuModuleTexturingModeCreateInfoNVX {}
4126
4127#[repr(C)]
4129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4130pub struct CudaFunctionCreateInfoNV {
4131 pub s_type: StructureType,
4132 pub next: *const c_void,
4133 pub module: CudaModuleNV,
4134 pub name: *const c_char,
4135}
4136
4137impl Default for CudaFunctionCreateInfoNV {
4138 #[inline]
4139 fn default() -> Self {
4140 Self {
4141 s_type: StructureType::CUDA_FUNCTION_CREATE_INFO_NV,
4142 next: ptr::null(),
4143 module: CudaModuleNV::default(),
4144 name: ptr::null(),
4145 }
4146 }
4147}
4148
4149unsafe impl Send for CudaFunctionCreateInfoNV {}
4150unsafe impl Sync for CudaFunctionCreateInfoNV {}
4151
4152#[repr(C)]
4154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4155pub struct CudaLaunchInfoNV {
4156 pub s_type: StructureType,
4157 pub next: *const c_void,
4158 pub function: CudaFunctionNV,
4159 pub grid_dim_x: u32,
4160 pub grid_dim_y: u32,
4161 pub grid_dim_z: u32,
4162 pub block_dim_x: u32,
4163 pub block_dim_y: u32,
4164 pub block_dim_z: u32,
4165 pub shared_mem_bytes: u32,
4166 pub param_count: usize,
4167 pub params: *const c_void,
4168 pub extra_count: usize,
4169 pub extras: *const c_void,
4170}
4171
4172impl Default for CudaLaunchInfoNV {
4173 #[inline]
4174 fn default() -> Self {
4175 Self {
4176 s_type: StructureType::CUDA_LAUNCH_INFO_NV,
4177 next: ptr::null(),
4178 function: CudaFunctionNV::default(),
4179 grid_dim_x: u32::default(),
4180 grid_dim_y: u32::default(),
4181 grid_dim_z: u32::default(),
4182 block_dim_x: u32::default(),
4183 block_dim_y: u32::default(),
4184 block_dim_z: u32::default(),
4185 shared_mem_bytes: u32::default(),
4186 param_count: usize::default(),
4187 params: ptr::null(),
4188 extra_count: usize::default(),
4189 extras: ptr::null(),
4190 }
4191 }
4192}
4193
4194unsafe impl Send for CudaLaunchInfoNV {}
4195unsafe impl Sync for CudaLaunchInfoNV {}
4196
4197#[repr(C)]
4199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4200pub struct CudaModuleCreateInfoNV {
4201 pub s_type: StructureType,
4202 pub next: *const c_void,
4203 pub data_size: usize,
4204 pub data: *const c_void,
4205}
4206
4207impl Default for CudaModuleCreateInfoNV {
4208 #[inline]
4209 fn default() -> Self {
4210 Self {
4211 s_type: StructureType::CUDA_MODULE_CREATE_INFO_NV,
4212 next: ptr::null(),
4213 data_size: usize::default(),
4214 data: ptr::null(),
4215 }
4216 }
4217}
4218
4219unsafe impl Send for CudaModuleCreateInfoNV {}
4220unsafe impl Sync for CudaModuleCreateInfoNV {}
4221
4222#[repr(C)]
4224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4225pub struct D3D12FenceSubmitInfoKHR {
4226 pub s_type: StructureType,
4227 pub next: *const c_void,
4228 pub wait_semaphore_values_count: u32,
4229 pub wait_semaphore_values: *const u64,
4230 pub signal_semaphore_values_count: u32,
4231 pub signal_semaphore_values: *const u64,
4232}
4233
4234impl Default for D3D12FenceSubmitInfoKHR {
4235 #[inline]
4236 fn default() -> Self {
4237 Self {
4238 s_type: StructureType::D3D12_FENCE_SUBMIT_INFO_KHR,
4239 next: ptr::null(),
4240 wait_semaphore_values_count: u32::default(),
4241 wait_semaphore_values: ptr::null(),
4242 signal_semaphore_values_count: u32::default(),
4243 signal_semaphore_values: ptr::null(),
4244 }
4245 }
4246}
4247
4248unsafe impl Send for D3D12FenceSubmitInfoKHR {}
4249unsafe impl Sync for D3D12FenceSubmitInfoKHR {}
4250
4251#[repr(C)]
4253#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4254pub struct DataGraphPipelineCompilerControlCreateInfoARM {
4255 pub s_type: StructureType,
4256 pub next: *const c_void,
4257 pub vendor_options: *const c_char,
4258}
4259
4260impl Default for DataGraphPipelineCompilerControlCreateInfoARM {
4261 #[inline]
4262 fn default() -> Self {
4263 Self {
4264 s_type: StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
4265 next: ptr::null(),
4266 vendor_options: ptr::null(),
4267 }
4268 }
4269}
4270
4271unsafe impl Send for DataGraphPipelineCompilerControlCreateInfoARM {}
4272unsafe impl Sync for DataGraphPipelineCompilerControlCreateInfoARM {}
4273
4274#[repr(C)]
4276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4277pub struct DataGraphPipelineConstantARM {
4278 pub s_type: StructureType,
4279 pub next: *const c_void,
4280 pub id: u32,
4281 pub constant_data: *const c_void,
4282}
4283
4284impl Default for DataGraphPipelineConstantARM {
4285 #[inline]
4286 fn default() -> Self {
4287 Self {
4288 s_type: StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM,
4289 next: ptr::null(),
4290 id: u32::default(),
4291 constant_data: ptr::null(),
4292 }
4293 }
4294}
4295
4296unsafe impl Send for DataGraphPipelineConstantARM {}
4297unsafe impl Sync for DataGraphPipelineConstantARM {}
4298
4299#[repr(C)]
4301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4302pub struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4303 pub s_type: StructureType,
4304 pub next: *const c_void,
4305 pub dimension: u32,
4306 pub zero_count: u32,
4307 pub group_size: u32,
4308}
4309
4310impl Default for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4311 #[inline]
4312 fn default() -> Self {
4313 Self {
4314 s_type:
4315 StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
4316 next: ptr::null(),
4317 dimension: u32::default(),
4318 zero_count: u32::default(),
4319 group_size: u32::default(),
4320 }
4321 }
4322}
4323
4324unsafe impl Send for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4325unsafe impl Sync for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4326
4327#[repr(C)]
4329#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4330pub struct DataGraphPipelineCreateInfoARM {
4331 pub s_type: StructureType,
4332 pub next: *const c_void,
4333 pub flags: PipelineCreateFlags2KHR,
4334 pub layout: PipelineLayout,
4335 pub resource_info_count: u32,
4336 pub resource_infos: *const DataGraphPipelineResourceInfoARM,
4337}
4338
4339impl Default for DataGraphPipelineCreateInfoARM {
4340 #[inline]
4341 fn default() -> Self {
4342 Self {
4343 s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
4344 next: ptr::null(),
4345 flags: PipelineCreateFlags2KHR::default(),
4346 layout: PipelineLayout::default(),
4347 resource_info_count: u32::default(),
4348 resource_infos: ptr::null(),
4349 }
4350 }
4351}
4352
4353unsafe impl Send for DataGraphPipelineCreateInfoARM {}
4354unsafe impl Sync for DataGraphPipelineCreateInfoARM {}
4355
4356#[repr(C)]
4358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4359pub struct DataGraphPipelineDispatchInfoARM {
4360 pub s_type: StructureType,
4361 pub next: *mut c_void,
4362 pub flags: DataGraphPipelineDispatchFlagsARM,
4363}
4364
4365impl Default for DataGraphPipelineDispatchInfoARM {
4366 #[inline]
4367 fn default() -> Self {
4368 Self {
4369 s_type: StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
4370 next: ptr::null_mut(),
4371 flags: DataGraphPipelineDispatchFlagsARM::default(),
4372 }
4373 }
4374}
4375
4376unsafe impl Send for DataGraphPipelineDispatchInfoARM {}
4377unsafe impl Sync for DataGraphPipelineDispatchInfoARM {}
4378
4379#[repr(C)]
4381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4382pub struct DataGraphPipelineIdentifierCreateInfoARM {
4383 pub s_type: StructureType,
4384 pub next: *const c_void,
4385 pub identifier_size: u32,
4386 pub identifier: *const u8,
4387}
4388
4389impl Default for DataGraphPipelineIdentifierCreateInfoARM {
4390 #[inline]
4391 fn default() -> Self {
4392 Self {
4393 s_type: StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
4394 next: ptr::null(),
4395 identifier_size: u32::default(),
4396 identifier: ptr::null(),
4397 }
4398 }
4399}
4400
4401unsafe impl Send for DataGraphPipelineIdentifierCreateInfoARM {}
4402unsafe impl Sync for DataGraphPipelineIdentifierCreateInfoARM {}
4403
4404#[repr(C)]
4406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4407pub struct DataGraphPipelineInfoARM {
4408 pub s_type: StructureType,
4409 pub next: *const c_void,
4410 pub data_graph_pipeline: Pipeline,
4411}
4412
4413impl Default for DataGraphPipelineInfoARM {
4414 #[inline]
4415 fn default() -> Self {
4416 Self {
4417 s_type: StructureType::DATA_GRAPH_PIPELINE_INFO_ARM,
4418 next: ptr::null(),
4419 data_graph_pipeline: Pipeline::default(),
4420 }
4421 }
4422}
4423
4424unsafe impl Send for DataGraphPipelineInfoARM {}
4425unsafe impl Sync for DataGraphPipelineInfoARM {}
4426
4427#[repr(C)]
4429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4430pub struct DataGraphPipelinePropertyQueryResultARM {
4431 pub s_type: StructureType,
4432 pub next: *const c_void,
4433 pub property: DataGraphPipelinePropertyARM,
4434 pub is_text: Bool32,
4435 pub data_size: usize,
4436 pub data: *mut c_void,
4437}
4438
4439impl Default for DataGraphPipelinePropertyQueryResultARM {
4440 #[inline]
4441 fn default() -> Self {
4442 Self {
4443 s_type: StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
4444 next: ptr::null(),
4445 property: DataGraphPipelinePropertyARM::default(),
4446 is_text: Bool32::default(),
4447 data_size: usize::default(),
4448 data: ptr::null_mut(),
4449 }
4450 }
4451}
4452
4453unsafe impl Send for DataGraphPipelinePropertyQueryResultARM {}
4454unsafe impl Sync for DataGraphPipelinePropertyQueryResultARM {}
4455
4456#[repr(C)]
4458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4459pub struct DataGraphPipelineResourceInfoARM {
4460 pub s_type: StructureType,
4461 pub next: *const c_void,
4462 pub descriptor_set: u32,
4463 pub binding: u32,
4464 pub array_element: u32,
4465}
4466
4467impl Default for DataGraphPipelineResourceInfoARM {
4468 #[inline]
4469 fn default() -> Self {
4470 Self {
4471 s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
4472 next: ptr::null(),
4473 descriptor_set: u32::default(),
4474 binding: u32::default(),
4475 array_element: u32::default(),
4476 }
4477 }
4478}
4479
4480unsafe impl Send for DataGraphPipelineResourceInfoARM {}
4481unsafe impl Sync for DataGraphPipelineResourceInfoARM {}
4482
4483#[repr(C)]
4485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4486pub struct DataGraphPipelineSessionBindPointRequirementARM {
4487 pub s_type: StructureType,
4488 pub next: *const c_void,
4489 pub bind_point: DataGraphPipelineSessionBindPointARM,
4490 pub bind_point_type: DataGraphPipelineSessionBindPointTypeARM,
4491 pub num_objects: u32,
4492}
4493
4494impl Default for DataGraphPipelineSessionBindPointRequirementARM {
4495 #[inline]
4496 fn default() -> Self {
4497 Self {
4498 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
4499 next: ptr::null(),
4500 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4501 bind_point_type: DataGraphPipelineSessionBindPointTypeARM::default(),
4502 num_objects: u32::default(),
4503 }
4504 }
4505}
4506
4507unsafe impl Send for DataGraphPipelineSessionBindPointRequirementARM {}
4508unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementARM {}
4509
4510#[repr(C)]
4512#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4513pub struct DataGraphPipelineSessionBindPointRequirementsInfoARM {
4514 pub s_type: StructureType,
4515 pub next: *const c_void,
4516 pub session: DataGraphPipelineSessionARM,
4517}
4518
4519impl Default for DataGraphPipelineSessionBindPointRequirementsInfoARM {
4520 #[inline]
4521 fn default() -> Self {
4522 Self {
4523 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
4524 next: ptr::null(),
4525 session: DataGraphPipelineSessionARM::default(),
4526 }
4527 }
4528}
4529
4530unsafe impl Send for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4531unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4532
4533#[repr(C)]
4535#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4536pub struct DataGraphPipelineSessionCreateInfoARM {
4537 pub s_type: StructureType,
4538 pub next: *const c_void,
4539 pub flags: DataGraphPipelineSessionCreateFlagsARM,
4540 pub data_graph_pipeline: Pipeline,
4541}
4542
4543impl Default for DataGraphPipelineSessionCreateInfoARM {
4544 #[inline]
4545 fn default() -> Self {
4546 Self {
4547 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
4548 next: ptr::null(),
4549 flags: DataGraphPipelineSessionCreateFlagsARM::default(),
4550 data_graph_pipeline: Pipeline::default(),
4551 }
4552 }
4553}
4554
4555unsafe impl Send for DataGraphPipelineSessionCreateInfoARM {}
4556unsafe impl Sync for DataGraphPipelineSessionCreateInfoARM {}
4557
4558#[repr(C)]
4560#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4561pub struct DataGraphPipelineSessionMemoryRequirementsInfoARM {
4562 pub s_type: StructureType,
4563 pub next: *const c_void,
4564 pub session: DataGraphPipelineSessionARM,
4565 pub bind_point: DataGraphPipelineSessionBindPointARM,
4566 pub object_index: u32,
4567}
4568
4569impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM {
4570 #[inline]
4571 fn default() -> Self {
4572 Self {
4573 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
4574 next: ptr::null(),
4575 session: DataGraphPipelineSessionARM::default(),
4576 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4577 object_index: u32::default(),
4578 }
4579 }
4580}
4581
4582unsafe impl Send for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4583unsafe impl Sync for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4584
4585#[repr(C)]
4587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4588pub struct DataGraphPipelineShaderModuleCreateInfoARM {
4589 pub s_type: StructureType,
4590 pub next: *const c_void,
4591 pub module: ShaderModule,
4592 pub name: *const c_char,
4593 pub specialization_info: *const SpecializationInfo,
4594 pub constant_count: u32,
4595 pub constants: *const DataGraphPipelineConstantARM,
4596}
4597
4598impl Default for DataGraphPipelineShaderModuleCreateInfoARM {
4599 #[inline]
4600 fn default() -> Self {
4601 Self {
4602 s_type: StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
4603 next: ptr::null(),
4604 module: ShaderModule::default(),
4605 name: ptr::null(),
4606 specialization_info: ptr::null(),
4607 constant_count: u32::default(),
4608 constants: ptr::null(),
4609 }
4610 }
4611}
4612
4613unsafe impl Send for DataGraphPipelineShaderModuleCreateInfoARM {}
4614unsafe impl Sync for DataGraphPipelineShaderModuleCreateInfoARM {}
4615
4616#[repr(C)]
4618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4619pub struct DataGraphProcessingEngineCreateInfoARM {
4620 pub s_type: StructureType,
4621 pub next: *const c_void,
4622 pub processing_engine_count: u32,
4623 pub processing_engines: *mut PhysicalDeviceDataGraphProcessingEngineARM,
4624}
4625
4626impl Default for DataGraphProcessingEngineCreateInfoARM {
4627 #[inline]
4628 fn default() -> Self {
4629 Self {
4630 s_type: StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
4631 next: ptr::null(),
4632 processing_engine_count: u32::default(),
4633 processing_engines: ptr::null_mut(),
4634 }
4635 }
4636}
4637
4638unsafe impl Send for DataGraphProcessingEngineCreateInfoARM {}
4639unsafe impl Sync for DataGraphProcessingEngineCreateInfoARM {}
4640
4641#[repr(C)]
4643#[derive(Copy, Clone, Debug, PartialEq)]
4644pub struct DebugMarkerMarkerInfoEXT {
4645 pub s_type: StructureType,
4646 pub next: *const c_void,
4647 pub marker_name: *const c_char,
4648 pub color: [f32; 4],
4649}
4650
4651impl Default for DebugMarkerMarkerInfoEXT {
4652 #[inline]
4653 fn default() -> Self {
4654 Self {
4655 s_type: StructureType::DEBUG_MARKER_MARKER_INFO_EXT,
4656 next: ptr::null(),
4657 marker_name: ptr::null(),
4658 color: [f32::default(); 4],
4659 }
4660 }
4661}
4662
4663unsafe impl Send for DebugMarkerMarkerInfoEXT {}
4664unsafe impl Sync for DebugMarkerMarkerInfoEXT {}
4665
4666#[repr(C)]
4668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4669pub struct DebugMarkerObjectNameInfoEXT {
4670 pub s_type: StructureType,
4671 pub next: *const c_void,
4672 pub object_type: DebugReportObjectTypeEXT,
4673 pub object: u64,
4674 pub object_name: *const c_char,
4675}
4676
4677impl Default for DebugMarkerObjectNameInfoEXT {
4678 #[inline]
4679 fn default() -> Self {
4680 Self {
4681 s_type: StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
4682 next: ptr::null(),
4683 object_type: DebugReportObjectTypeEXT::default(),
4684 object: u64::default(),
4685 object_name: ptr::null(),
4686 }
4687 }
4688}
4689
4690unsafe impl Send for DebugMarkerObjectNameInfoEXT {}
4691unsafe impl Sync for DebugMarkerObjectNameInfoEXT {}
4692
4693#[repr(C)]
4695#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4696pub struct DebugMarkerObjectTagInfoEXT {
4697 pub s_type: StructureType,
4698 pub next: *const c_void,
4699 pub object_type: DebugReportObjectTypeEXT,
4700 pub object: u64,
4701 pub tag_name: u64,
4702 pub tag_size: usize,
4703 pub tag: *const c_void,
4704}
4705
4706impl Default for DebugMarkerObjectTagInfoEXT {
4707 #[inline]
4708 fn default() -> Self {
4709 Self {
4710 s_type: StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
4711 next: ptr::null(),
4712 object_type: DebugReportObjectTypeEXT::default(),
4713 object: u64::default(),
4714 tag_name: u64::default(),
4715 tag_size: usize::default(),
4716 tag: ptr::null(),
4717 }
4718 }
4719}
4720
4721unsafe impl Send for DebugMarkerObjectTagInfoEXT {}
4722unsafe impl Sync for DebugMarkerObjectTagInfoEXT {}
4723
4724#[repr(C)]
4726#[derive(Copy, Clone)]
4727pub struct DebugReportCallbackCreateInfoEXT {
4728 pub s_type: StructureType,
4729 pub next: *const c_void,
4730 pub flags: DebugReportFlagsEXT,
4731 pub callback: PFN_vkDebugReportCallbackEXT,
4732 pub user_data: *mut c_void,
4733}
4734
4735impl fmt::Debug for DebugReportCallbackCreateInfoEXT {
4736 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4737 f.debug_struct("DebugReportCallbackCreateInfoEXT")
4738 .field("s_type", &self.s_type)
4739 .field("next", &self.next)
4740 .field("flags", &self.flags)
4741 .field("callback", &(self.callback.map(|f| f as *const u8)))
4742 .field("user_data", &self.user_data)
4743 .finish()
4744 }
4745}
4746
4747impl Default for DebugReportCallbackCreateInfoEXT {
4748 #[inline]
4749 fn default() -> Self {
4750 Self {
4751 s_type: StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
4752 next: ptr::null(),
4753 flags: DebugReportFlagsEXT::default(),
4754 callback: PFN_vkDebugReportCallbackEXT::default(),
4755 user_data: ptr::null_mut(),
4756 }
4757 }
4758}
4759
4760unsafe impl Send for DebugReportCallbackCreateInfoEXT {}
4761unsafe impl Sync for DebugReportCallbackCreateInfoEXT {}
4762
4763#[repr(C)]
4765#[derive(Copy, Clone, Debug, PartialEq)]
4766pub struct DebugUtilsLabelEXT {
4767 pub s_type: StructureType,
4768 pub next: *const c_void,
4769 pub label_name: *const c_char,
4770 pub color: [f32; 4],
4771}
4772
4773impl Default for DebugUtilsLabelEXT {
4774 #[inline]
4775 fn default() -> Self {
4776 Self {
4777 s_type: StructureType::DEBUG_UTILS_LABEL_EXT,
4778 next: ptr::null(),
4779 label_name: ptr::null(),
4780 color: [f32::default(); 4],
4781 }
4782 }
4783}
4784
4785unsafe impl Send for DebugUtilsLabelEXT {}
4786unsafe impl Sync for DebugUtilsLabelEXT {}
4787
4788#[repr(C)]
4790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4791pub struct DebugUtilsMessengerCallbackDataEXT {
4792 pub s_type: StructureType,
4793 pub next: *const c_void,
4794 pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
4795 pub message_id_name: *const c_char,
4796 pub message_id_number: i32,
4797 pub message: *const c_char,
4798 pub queue_label_count: u32,
4799 pub queue_labels: *const DebugUtilsLabelEXT,
4800 pub cmd_buf_label_count: u32,
4801 pub cmd_buf_labels: *const DebugUtilsLabelEXT,
4802 pub object_count: u32,
4803 pub objects: *const DebugUtilsObjectNameInfoEXT,
4804}
4805
4806impl Default for DebugUtilsMessengerCallbackDataEXT {
4807 #[inline]
4808 fn default() -> Self {
4809 Self {
4810 s_type: StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
4811 next: ptr::null(),
4812 flags: DebugUtilsMessengerCallbackDataFlagsEXT::default(),
4813 message_id_name: ptr::null(),
4814 message_id_number: i32::default(),
4815 message: ptr::null(),
4816 queue_label_count: u32::default(),
4817 queue_labels: ptr::null(),
4818 cmd_buf_label_count: u32::default(),
4819 cmd_buf_labels: ptr::null(),
4820 object_count: u32::default(),
4821 objects: ptr::null(),
4822 }
4823 }
4824}
4825
4826unsafe impl Send for DebugUtilsMessengerCallbackDataEXT {}
4827unsafe impl Sync for DebugUtilsMessengerCallbackDataEXT {}
4828
4829#[repr(C)]
4831#[derive(Copy, Clone)]
4832pub struct DebugUtilsMessengerCreateInfoEXT {
4833 pub s_type: StructureType,
4834 pub next: *const c_void,
4835 pub flags: DebugUtilsMessengerCreateFlagsEXT,
4836 pub message_severity: DebugUtilsMessageSeverityFlagsEXT,
4837 pub message_type: DebugUtilsMessageTypeFlagsEXT,
4838 pub user_callback: PFN_vkDebugUtilsMessengerCallbackEXT,
4839 pub user_data: *mut c_void,
4840}
4841
4842impl fmt::Debug for DebugUtilsMessengerCreateInfoEXT {
4843 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4844 f.debug_struct("DebugUtilsMessengerCreateInfoEXT")
4845 .field("s_type", &self.s_type)
4846 .field("next", &self.next)
4847 .field("flags", &self.flags)
4848 .field("message_severity", &self.message_severity)
4849 .field("message_type", &self.message_type)
4850 .field(
4851 "user_callback",
4852 &(self.user_callback.map(|f| f as *const u8)),
4853 )
4854 .field("user_data", &self.user_data)
4855 .finish()
4856 }
4857}
4858
4859impl Default for DebugUtilsMessengerCreateInfoEXT {
4860 #[inline]
4861 fn default() -> Self {
4862 Self {
4863 s_type: StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
4864 next: ptr::null(),
4865 flags: DebugUtilsMessengerCreateFlagsEXT::default(),
4866 message_severity: DebugUtilsMessageSeverityFlagsEXT::default(),
4867 message_type: DebugUtilsMessageTypeFlagsEXT::default(),
4868 user_callback: PFN_vkDebugUtilsMessengerCallbackEXT::default(),
4869 user_data: ptr::null_mut(),
4870 }
4871 }
4872}
4873
4874unsafe impl Send for DebugUtilsMessengerCreateInfoEXT {}
4875unsafe impl Sync for DebugUtilsMessengerCreateInfoEXT {}
4876
4877#[repr(C)]
4879#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4880pub struct DebugUtilsObjectNameInfoEXT {
4881 pub s_type: StructureType,
4882 pub next: *const c_void,
4883 pub object_type: ObjectType,
4884 pub object_handle: u64,
4885 pub object_name: *const c_char,
4886}
4887
4888impl Default for DebugUtilsObjectNameInfoEXT {
4889 #[inline]
4890 fn default() -> Self {
4891 Self {
4892 s_type: StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
4893 next: ptr::null(),
4894 object_type: ObjectType::default(),
4895 object_handle: u64::default(),
4896 object_name: ptr::null(),
4897 }
4898 }
4899}
4900
4901unsafe impl Send for DebugUtilsObjectNameInfoEXT {}
4902unsafe impl Sync for DebugUtilsObjectNameInfoEXT {}
4903
4904#[repr(C)]
4906#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4907pub struct DebugUtilsObjectTagInfoEXT {
4908 pub s_type: StructureType,
4909 pub next: *const c_void,
4910 pub object_type: ObjectType,
4911 pub object_handle: u64,
4912 pub tag_name: u64,
4913 pub tag_size: usize,
4914 pub tag: *const c_void,
4915}
4916
4917impl Default for DebugUtilsObjectTagInfoEXT {
4918 #[inline]
4919 fn default() -> Self {
4920 Self {
4921 s_type: StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
4922 next: ptr::null(),
4923 object_type: ObjectType::default(),
4924 object_handle: u64::default(),
4925 tag_name: u64::default(),
4926 tag_size: usize::default(),
4927 tag: ptr::null(),
4928 }
4929 }
4930}
4931
4932unsafe impl Send for DebugUtilsObjectTagInfoEXT {}
4933unsafe impl Sync for DebugUtilsObjectTagInfoEXT {}
4934
4935#[repr(C)]
4937#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4938pub struct DecompressMemoryRegionNV {
4939 pub src_address: DeviceAddress,
4940 pub dst_address: DeviceAddress,
4941 pub compressed_size: DeviceSize,
4942 pub decompressed_size: DeviceSize,
4943 pub decompression_method: MemoryDecompressionMethodFlagsNV,
4944}
4945
4946#[repr(C)]
4948#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4949pub struct DedicatedAllocationBufferCreateInfoNV {
4950 pub s_type: StructureType,
4951 pub next: *const c_void,
4952 pub dedicated_allocation: Bool32,
4953}
4954
4955impl Default for DedicatedAllocationBufferCreateInfoNV {
4956 #[inline]
4957 fn default() -> Self {
4958 Self {
4959 s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
4960 next: ptr::null(),
4961 dedicated_allocation: Bool32::default(),
4962 }
4963 }
4964}
4965
4966unsafe impl Send for DedicatedAllocationBufferCreateInfoNV {}
4967unsafe impl Sync for DedicatedAllocationBufferCreateInfoNV {}
4968
4969#[repr(C)]
4971#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4972pub struct DedicatedAllocationImageCreateInfoNV {
4973 pub s_type: StructureType,
4974 pub next: *const c_void,
4975 pub dedicated_allocation: Bool32,
4976}
4977
4978impl Default for DedicatedAllocationImageCreateInfoNV {
4979 #[inline]
4980 fn default() -> Self {
4981 Self {
4982 s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
4983 next: ptr::null(),
4984 dedicated_allocation: Bool32::default(),
4985 }
4986 }
4987}
4988
4989unsafe impl Send for DedicatedAllocationImageCreateInfoNV {}
4990unsafe impl Sync for DedicatedAllocationImageCreateInfoNV {}
4991
4992#[repr(C)]
4994#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4995pub struct DedicatedAllocationMemoryAllocateInfoNV {
4996 pub s_type: StructureType,
4997 pub next: *const c_void,
4998 pub image: Image,
4999 pub buffer: Buffer,
5000}
5001
5002impl Default for DedicatedAllocationMemoryAllocateInfoNV {
5003 #[inline]
5004 fn default() -> Self {
5005 Self {
5006 s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
5007 next: ptr::null(),
5008 image: Image::default(),
5009 buffer: Buffer::default(),
5010 }
5011 }
5012}
5013
5014unsafe impl Send for DedicatedAllocationMemoryAllocateInfoNV {}
5015unsafe impl Sync for DedicatedAllocationMemoryAllocateInfoNV {}
5016
5017#[repr(C)]
5019#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5020pub struct DependencyInfo {
5021 pub s_type: StructureType,
5022 pub next: *const c_void,
5023 pub dependency_flags: DependencyFlags,
5024 pub memory_barrier_count: u32,
5025 pub memory_barriers: *const MemoryBarrier2,
5026 pub buffer_memory_barrier_count: u32,
5027 pub buffer_memory_barriers: *const BufferMemoryBarrier2,
5028 pub image_memory_barrier_count: u32,
5029 pub image_memory_barriers: *const ImageMemoryBarrier2,
5030}
5031
5032impl Default for DependencyInfo {
5033 #[inline]
5034 fn default() -> Self {
5035 Self {
5036 s_type: StructureType::DEPENDENCY_INFO,
5037 next: ptr::null(),
5038 dependency_flags: DependencyFlags::default(),
5039 memory_barrier_count: u32::default(),
5040 memory_barriers: ptr::null(),
5041 buffer_memory_barrier_count: u32::default(),
5042 buffer_memory_barriers: ptr::null(),
5043 image_memory_barrier_count: u32::default(),
5044 image_memory_barriers: ptr::null(),
5045 }
5046 }
5047}
5048
5049unsafe impl Send for DependencyInfo {}
5050unsafe impl Sync for DependencyInfo {}
5051
5052#[repr(C)]
5054#[derive(Copy, Clone, Debug, PartialEq)]
5055pub struct DepthBiasInfoEXT {
5056 pub s_type: StructureType,
5057 pub next: *const c_void,
5058 pub depth_bias_constant_factor: f32,
5059 pub depth_bias_clamp: f32,
5060 pub depth_bias_slope_factor: f32,
5061}
5062
5063impl Default for DepthBiasInfoEXT {
5064 #[inline]
5065 fn default() -> Self {
5066 Self {
5067 s_type: StructureType::DEPTH_BIAS_INFO_EXT,
5068 next: ptr::null(),
5069 depth_bias_constant_factor: f32::default(),
5070 depth_bias_clamp: f32::default(),
5071 depth_bias_slope_factor: f32::default(),
5072 }
5073 }
5074}
5075
5076unsafe impl Send for DepthBiasInfoEXT {}
5077unsafe impl Sync for DepthBiasInfoEXT {}
5078
5079#[repr(C)]
5081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5082pub struct DepthBiasRepresentationInfoEXT {
5083 pub s_type: StructureType,
5084 pub next: *const c_void,
5085 pub depth_bias_representation: DepthBiasRepresentationEXT,
5086 pub depth_bias_exact: Bool32,
5087}
5088
5089impl Default for DepthBiasRepresentationInfoEXT {
5090 #[inline]
5091 fn default() -> Self {
5092 Self {
5093 s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
5094 next: ptr::null(),
5095 depth_bias_representation: DepthBiasRepresentationEXT::default(),
5096 depth_bias_exact: Bool32::default(),
5097 }
5098 }
5099}
5100
5101unsafe impl Send for DepthBiasRepresentationInfoEXT {}
5102unsafe impl Sync for DepthBiasRepresentationInfoEXT {}
5103
5104#[repr(C)]
5106#[derive(Copy, Clone, Default, Debug, PartialEq)]
5107pub struct DepthClampRangeEXT {
5108 pub min_depth_clamp: f32,
5109 pub max_depth_clamp: f32,
5110}
5111
5112#[repr(C)]
5114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5115pub struct DescriptorAddressInfoEXT {
5116 pub s_type: StructureType,
5117 pub next: *mut c_void,
5118 pub address: DeviceAddress,
5119 pub range: DeviceSize,
5120 pub format: Format,
5121}
5122
5123impl Default for DescriptorAddressInfoEXT {
5124 #[inline]
5125 fn default() -> Self {
5126 Self {
5127 s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
5128 next: ptr::null_mut(),
5129 address: DeviceAddress::default(),
5130 range: DeviceSize::default(),
5131 format: Format::default(),
5132 }
5133 }
5134}
5135
5136unsafe impl Send for DescriptorAddressInfoEXT {}
5137unsafe impl Sync for DescriptorAddressInfoEXT {}
5138
5139#[repr(C)]
5141#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5142pub struct DescriptorBufferBindingInfoEXT {
5143 pub s_type: StructureType,
5144 pub next: *const c_void,
5145 pub address: DeviceAddress,
5146 pub usage: BufferUsageFlags,
5147}
5148
5149impl Default for DescriptorBufferBindingInfoEXT {
5150 #[inline]
5151 fn default() -> Self {
5152 Self {
5153 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
5154 next: ptr::null(),
5155 address: DeviceAddress::default(),
5156 usage: BufferUsageFlags::default(),
5157 }
5158 }
5159}
5160
5161unsafe impl Send for DescriptorBufferBindingInfoEXT {}
5162unsafe impl Sync for DescriptorBufferBindingInfoEXT {}
5163
5164#[repr(C)]
5166#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5167pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5168 pub s_type: StructureType,
5169 pub next: *const c_void,
5170 pub buffer: Buffer,
5171}
5172
5173impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5174 #[inline]
5175 fn default() -> Self {
5176 Self {
5177 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
5178 next: ptr::null(),
5179 buffer: Buffer::default(),
5180 }
5181 }
5182}
5183
5184unsafe impl Send for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5185unsafe impl Sync for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5186
5187#[repr(C)]
5189#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5190pub struct DescriptorBufferInfo {
5191 pub buffer: Buffer,
5192 pub offset: DeviceSize,
5193 pub range: DeviceSize,
5194}
5195
5196#[repr(C)]
5198#[derive(Copy, Clone, Debug)]
5199pub struct DescriptorGetInfoEXT {
5200 pub s_type: StructureType,
5201 pub next: *const c_void,
5202 pub type_: DescriptorType,
5203 pub data: DescriptorDataEXT,
5204}
5205
5206impl Default for DescriptorGetInfoEXT {
5207 #[inline]
5208 fn default() -> Self {
5209 Self {
5210 s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
5211 next: ptr::null(),
5212 type_: DescriptorType::default(),
5213 data: DescriptorDataEXT::default(),
5214 }
5215 }
5216}
5217
5218unsafe impl Send for DescriptorGetInfoEXT {}
5219unsafe impl Sync for DescriptorGetInfoEXT {}
5220
5221#[repr(C)]
5223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5224pub struct DescriptorGetTensorInfoARM {
5225 pub s_type: StructureType,
5226 pub next: *const c_void,
5227 pub tensor_view: TensorViewARM,
5228}
5229
5230impl Default for DescriptorGetTensorInfoARM {
5231 #[inline]
5232 fn default() -> Self {
5233 Self {
5234 s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
5235 next: ptr::null(),
5236 tensor_view: TensorViewARM::default(),
5237 }
5238 }
5239}
5240
5241unsafe impl Send for DescriptorGetTensorInfoARM {}
5242unsafe impl Sync for DescriptorGetTensorInfoARM {}
5243
5244#[repr(C)]
5246#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5247pub struct DescriptorImageInfo {
5248 pub sampler: Sampler,
5249 pub image_view: ImageView,
5250 pub image_layout: ImageLayout,
5251}
5252
5253#[repr(C)]
5255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5256pub struct DescriptorPoolCreateInfo {
5257 pub s_type: StructureType,
5258 pub next: *const c_void,
5259 pub flags: DescriptorPoolCreateFlags,
5260 pub max_sets: u32,
5261 pub pool_size_count: u32,
5262 pub pool_sizes: *const DescriptorPoolSize,
5263}
5264
5265impl Default for DescriptorPoolCreateInfo {
5266 #[inline]
5267 fn default() -> Self {
5268 Self {
5269 s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
5270 next: ptr::null(),
5271 flags: DescriptorPoolCreateFlags::default(),
5272 max_sets: u32::default(),
5273 pool_size_count: u32::default(),
5274 pool_sizes: ptr::null(),
5275 }
5276 }
5277}
5278
5279unsafe impl Send for DescriptorPoolCreateInfo {}
5280unsafe impl Sync for DescriptorPoolCreateInfo {}
5281
5282#[repr(C)]
5284#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5285pub struct DescriptorPoolInlineUniformBlockCreateInfo {
5286 pub s_type: StructureType,
5287 pub next: *const c_void,
5288 pub max_inline_uniform_block_bindings: u32,
5289}
5290
5291impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
5292 #[inline]
5293 fn default() -> Self {
5294 Self {
5295 s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
5296 next: ptr::null(),
5297 max_inline_uniform_block_bindings: u32::default(),
5298 }
5299 }
5300}
5301
5302unsafe impl Send for DescriptorPoolInlineUniformBlockCreateInfo {}
5303unsafe impl Sync for DescriptorPoolInlineUniformBlockCreateInfo {}
5304
5305#[repr(C)]
5307#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5308pub struct DescriptorPoolSize {
5309 pub type_: DescriptorType,
5310 pub descriptor_count: u32,
5311}
5312
5313#[repr(C)]
5315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5316pub struct DescriptorSetAllocateInfo {
5317 pub s_type: StructureType,
5318 pub next: *const c_void,
5319 pub descriptor_pool: DescriptorPool,
5320 pub descriptor_set_count: u32,
5321 pub set_layouts: *const DescriptorSetLayout,
5322}
5323
5324impl Default for DescriptorSetAllocateInfo {
5325 #[inline]
5326 fn default() -> Self {
5327 Self {
5328 s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
5329 next: ptr::null(),
5330 descriptor_pool: DescriptorPool::default(),
5331 descriptor_set_count: u32::default(),
5332 set_layouts: ptr::null(),
5333 }
5334 }
5335}
5336
5337unsafe impl Send for DescriptorSetAllocateInfo {}
5338unsafe impl Sync for DescriptorSetAllocateInfo {}
5339
5340#[repr(C)]
5342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5343pub struct DescriptorSetBindingReferenceVALVE {
5344 pub s_type: StructureType,
5345 pub next: *const c_void,
5346 pub descriptor_set_layout: DescriptorSetLayout,
5347 pub binding: u32,
5348}
5349
5350impl Default for DescriptorSetBindingReferenceVALVE {
5351 #[inline]
5352 fn default() -> Self {
5353 Self {
5354 s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
5355 next: ptr::null(),
5356 descriptor_set_layout: DescriptorSetLayout::default(),
5357 binding: u32::default(),
5358 }
5359 }
5360}
5361
5362unsafe impl Send for DescriptorSetBindingReferenceVALVE {}
5363unsafe impl Sync for DescriptorSetBindingReferenceVALVE {}
5364
5365#[repr(C)]
5367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5368pub struct DescriptorSetLayoutBinding {
5369 pub binding: u32,
5370 pub descriptor_type: DescriptorType,
5371 pub descriptor_count: u32,
5372 pub stage_flags: ShaderStageFlags,
5373 pub immutable_samplers: *const Sampler,
5374}
5375
5376impl Default for DescriptorSetLayoutBinding {
5377 #[inline]
5378 fn default() -> Self {
5379 Self {
5380 binding: u32::default(),
5381 descriptor_type: DescriptorType::default(),
5382 descriptor_count: u32::default(),
5383 stage_flags: ShaderStageFlags::default(),
5384 immutable_samplers: ptr::null(),
5385 }
5386 }
5387}
5388
5389unsafe impl Send for DescriptorSetLayoutBinding {}
5390unsafe impl Sync for DescriptorSetLayoutBinding {}
5391
5392#[repr(C)]
5394#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5395pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
5396 pub s_type: StructureType,
5397 pub next: *const c_void,
5398 pub binding_count: u32,
5399 pub binding_flags: *const DescriptorBindingFlags,
5400}
5401
5402impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
5403 #[inline]
5404 fn default() -> Self {
5405 Self {
5406 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
5407 next: ptr::null(),
5408 binding_count: u32::default(),
5409 binding_flags: ptr::null(),
5410 }
5411 }
5412}
5413
5414unsafe impl Send for DescriptorSetLayoutBindingFlagsCreateInfo {}
5415unsafe impl Sync for DescriptorSetLayoutBindingFlagsCreateInfo {}
5416
5417#[repr(C)]
5419#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5420pub struct DescriptorSetLayoutCreateInfo {
5421 pub s_type: StructureType,
5422 pub next: *const c_void,
5423 pub flags: DescriptorSetLayoutCreateFlags,
5424 pub binding_count: u32,
5425 pub bindings: *const DescriptorSetLayoutBinding,
5426}
5427
5428impl Default for DescriptorSetLayoutCreateInfo {
5429 #[inline]
5430 fn default() -> Self {
5431 Self {
5432 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
5433 next: ptr::null(),
5434 flags: DescriptorSetLayoutCreateFlags::default(),
5435 binding_count: u32::default(),
5436 bindings: ptr::null(),
5437 }
5438 }
5439}
5440
5441unsafe impl Send for DescriptorSetLayoutCreateInfo {}
5442unsafe impl Sync for DescriptorSetLayoutCreateInfo {}
5443
5444#[repr(C)]
5446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5447pub struct DescriptorSetLayoutHostMappingInfoVALVE {
5448 pub s_type: StructureType,
5449 pub next: *mut c_void,
5450 pub descriptor_offset: usize,
5451 pub descriptor_size: u32,
5452}
5453
5454impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
5455 #[inline]
5456 fn default() -> Self {
5457 Self {
5458 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
5459 next: ptr::null_mut(),
5460 descriptor_offset: usize::default(),
5461 descriptor_size: u32::default(),
5462 }
5463 }
5464}
5465
5466unsafe impl Send for DescriptorSetLayoutHostMappingInfoVALVE {}
5467unsafe impl Sync for DescriptorSetLayoutHostMappingInfoVALVE {}
5468
5469#[repr(C)]
5471#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5472pub struct DescriptorSetLayoutSupport {
5473 pub s_type: StructureType,
5474 pub next: *mut c_void,
5475 pub supported: Bool32,
5476}
5477
5478impl Default for DescriptorSetLayoutSupport {
5479 #[inline]
5480 fn default() -> Self {
5481 Self {
5482 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
5483 next: ptr::null_mut(),
5484 supported: Bool32::default(),
5485 }
5486 }
5487}
5488
5489unsafe impl Send for DescriptorSetLayoutSupport {}
5490unsafe impl Sync for DescriptorSetLayoutSupport {}
5491
5492#[repr(C)]
5494#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5495pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
5496 pub s_type: StructureType,
5497 pub next: *const c_void,
5498 pub descriptor_set_count: u32,
5499 pub descriptor_counts: *const u32,
5500}
5501
5502impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
5503 #[inline]
5504 fn default() -> Self {
5505 Self {
5506 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
5507 next: ptr::null(),
5508 descriptor_set_count: u32::default(),
5509 descriptor_counts: ptr::null(),
5510 }
5511 }
5512}
5513
5514unsafe impl Send for DescriptorSetVariableDescriptorCountAllocateInfo {}
5515unsafe impl Sync for DescriptorSetVariableDescriptorCountAllocateInfo {}
5516
5517#[repr(C)]
5519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5520pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
5521 pub s_type: StructureType,
5522 pub next: *mut c_void,
5523 pub max_variable_descriptor_count: u32,
5524}
5525
5526impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
5527 #[inline]
5528 fn default() -> Self {
5529 Self {
5530 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
5531 next: ptr::null_mut(),
5532 max_variable_descriptor_count: u32::default(),
5533 }
5534 }
5535}
5536
5537unsafe impl Send for DescriptorSetVariableDescriptorCountLayoutSupport {}
5538unsafe impl Sync for DescriptorSetVariableDescriptorCountLayoutSupport {}
5539
5540#[repr(C)]
5542#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5543pub struct DescriptorUpdateTemplateCreateInfo {
5544 pub s_type: StructureType,
5545 pub next: *const c_void,
5546 pub flags: DescriptorUpdateTemplateCreateFlags,
5547 pub descriptor_update_entry_count: u32,
5548 pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
5549 pub template_type: DescriptorUpdateTemplateType,
5550 pub descriptor_set_layout: DescriptorSetLayout,
5551 pub pipeline_bind_point: PipelineBindPoint,
5552 pub pipeline_layout: PipelineLayout,
5553 pub set: u32,
5554}
5555
5556impl Default for DescriptorUpdateTemplateCreateInfo {
5557 #[inline]
5558 fn default() -> Self {
5559 Self {
5560 s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
5561 next: ptr::null(),
5562 flags: DescriptorUpdateTemplateCreateFlags::default(),
5563 descriptor_update_entry_count: u32::default(),
5564 descriptor_update_entries: ptr::null(),
5565 template_type: DescriptorUpdateTemplateType::default(),
5566 descriptor_set_layout: DescriptorSetLayout::default(),
5567 pipeline_bind_point: PipelineBindPoint::default(),
5568 pipeline_layout: PipelineLayout::default(),
5569 set: u32::default(),
5570 }
5571 }
5572}
5573
5574unsafe impl Send for DescriptorUpdateTemplateCreateInfo {}
5575unsafe impl Sync for DescriptorUpdateTemplateCreateInfo {}
5576
5577#[repr(C)]
5579#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5580pub struct DescriptorUpdateTemplateEntry {
5581 pub dst_binding: u32,
5582 pub dst_array_element: u32,
5583 pub descriptor_count: u32,
5584 pub descriptor_type: DescriptorType,
5585 pub offset: usize,
5586 pub stride: usize,
5587}
5588
5589#[repr(C)]
5591#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5592pub struct DeviceAddressBindingCallbackDataEXT {
5593 pub s_type: StructureType,
5594 pub next: *mut c_void,
5595 pub flags: DeviceAddressBindingFlagsEXT,
5596 pub base_address: DeviceAddress,
5597 pub size: DeviceSize,
5598 pub binding_type: DeviceAddressBindingTypeEXT,
5599}
5600
5601impl Default for DeviceAddressBindingCallbackDataEXT {
5602 #[inline]
5603 fn default() -> Self {
5604 Self {
5605 s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
5606 next: ptr::null_mut(),
5607 flags: DeviceAddressBindingFlagsEXT::default(),
5608 base_address: DeviceAddress::default(),
5609 size: DeviceSize::default(),
5610 binding_type: DeviceAddressBindingTypeEXT::default(),
5611 }
5612 }
5613}
5614
5615unsafe impl Send for DeviceAddressBindingCallbackDataEXT {}
5616unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {}
5617
5618#[repr(C)]
5620#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5621pub struct DeviceBufferMemoryRequirements {
5622 pub s_type: StructureType,
5623 pub next: *const c_void,
5624 pub create_info: *const BufferCreateInfo,
5625}
5626
5627impl Default for DeviceBufferMemoryRequirements {
5628 #[inline]
5629 fn default() -> Self {
5630 Self {
5631 s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
5632 next: ptr::null(),
5633 create_info: ptr::null(),
5634 }
5635 }
5636}
5637
5638unsafe impl Send for DeviceBufferMemoryRequirements {}
5639unsafe impl Sync for DeviceBufferMemoryRequirements {}
5640
5641#[repr(C)]
5643#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5644pub struct DeviceCreateInfo {
5645 pub s_type: StructureType,
5646 pub next: *const c_void,
5647 pub flags: DeviceCreateFlags,
5648 pub queue_create_info_count: u32,
5649 pub queue_create_infos: *const DeviceQueueCreateInfo,
5650 pub enabled_layer_count: u32,
5651 pub enabled_layer_names: *const *const c_char,
5652 pub enabled_extension_count: u32,
5653 pub enabled_extension_names: *const *const c_char,
5654 pub enabled_features: *const PhysicalDeviceFeatures,
5655}
5656
5657impl Default for DeviceCreateInfo {
5658 #[inline]
5659 fn default() -> Self {
5660 Self {
5661 s_type: StructureType::DEVICE_CREATE_INFO,
5662 next: ptr::null(),
5663 flags: DeviceCreateFlags::default(),
5664 queue_create_info_count: u32::default(),
5665 queue_create_infos: ptr::null(),
5666 enabled_layer_count: u32::default(),
5667 enabled_layer_names: ptr::null(),
5668 enabled_extension_count: u32::default(),
5669 enabled_extension_names: ptr::null(),
5670 enabled_features: ptr::null(),
5671 }
5672 }
5673}
5674
5675unsafe impl Send for DeviceCreateInfo {}
5676unsafe impl Sync for DeviceCreateInfo {}
5677
5678#[repr(C)]
5680#[derive(Copy, Clone)]
5681pub struct DeviceDeviceMemoryReportCreateInfoEXT {
5682 pub s_type: StructureType,
5683 pub next: *const c_void,
5684 pub flags: DeviceMemoryReportFlagsEXT,
5685 pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
5686 pub user_data: *mut c_void,
5687}
5688
5689impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
5690 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5691 f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
5692 .field("s_type", &self.s_type)
5693 .field("next", &self.next)
5694 .field("flags", &self.flags)
5695 .field(
5696 "user_callback",
5697 &(self.user_callback.map(|f| f as *const u8)),
5698 )
5699 .field("user_data", &self.user_data)
5700 .finish()
5701 }
5702}
5703
5704impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
5705 #[inline]
5706 fn default() -> Self {
5707 Self {
5708 s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
5709 next: ptr::null(),
5710 flags: DeviceMemoryReportFlagsEXT::default(),
5711 user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
5712 user_data: ptr::null_mut(),
5713 }
5714 }
5715}
5716
5717unsafe impl Send for DeviceDeviceMemoryReportCreateInfoEXT {}
5718unsafe impl Sync for DeviceDeviceMemoryReportCreateInfoEXT {}
5719
5720#[repr(C)]
5722#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5723pub struct DeviceDiagnosticsConfigCreateInfoNV {
5724 pub s_type: StructureType,
5725 pub next: *const c_void,
5726 pub flags: DeviceDiagnosticsConfigFlagsNV,
5727}
5728
5729impl Default for DeviceDiagnosticsConfigCreateInfoNV {
5730 #[inline]
5731 fn default() -> Self {
5732 Self {
5733 s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
5734 next: ptr::null(),
5735 flags: DeviceDiagnosticsConfigFlagsNV::default(),
5736 }
5737 }
5738}
5739
5740unsafe impl Send for DeviceDiagnosticsConfigCreateInfoNV {}
5741unsafe impl Sync for DeviceDiagnosticsConfigCreateInfoNV {}
5742
5743#[repr(C)]
5745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5746pub struct DeviceEventInfoEXT {
5747 pub s_type: StructureType,
5748 pub next: *const c_void,
5749 pub device_event: DeviceEventTypeEXT,
5750}
5751
5752impl Default for DeviceEventInfoEXT {
5753 #[inline]
5754 fn default() -> Self {
5755 Self {
5756 s_type: StructureType::DEVICE_EVENT_INFO_EXT,
5757 next: ptr::null(),
5758 device_event: DeviceEventTypeEXT::default(),
5759 }
5760 }
5761}
5762
5763unsafe impl Send for DeviceEventInfoEXT {}
5764unsafe impl Sync for DeviceEventInfoEXT {}
5765
5766#[repr(C)]
5768#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5769pub struct DeviceFaultAddressInfoEXT {
5770 pub address_type: DeviceFaultAddressTypeEXT,
5771 pub reported_address: DeviceAddress,
5772 pub address_precision: DeviceSize,
5773}
5774
5775#[repr(C)]
5777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5778pub struct DeviceFaultCountsEXT {
5779 pub s_type: StructureType,
5780 pub next: *mut c_void,
5781 pub address_info_count: u32,
5782 pub vendor_info_count: u32,
5783 pub vendor_binary_size: DeviceSize,
5784}
5785
5786impl Default for DeviceFaultCountsEXT {
5787 #[inline]
5788 fn default() -> Self {
5789 Self {
5790 s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
5791 next: ptr::null_mut(),
5792 address_info_count: u32::default(),
5793 vendor_info_count: u32::default(),
5794 vendor_binary_size: DeviceSize::default(),
5795 }
5796 }
5797}
5798
5799unsafe impl Send for DeviceFaultCountsEXT {}
5800unsafe impl Sync for DeviceFaultCountsEXT {}
5801
5802#[repr(C)]
5804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5805pub struct DeviceFaultInfoEXT {
5806 pub s_type: StructureType,
5807 pub next: *mut c_void,
5808 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5809 pub address_infos: *mut DeviceFaultAddressInfoEXT,
5810 pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
5811 pub vendor_binary_data: *mut c_void,
5812}
5813
5814impl Default for DeviceFaultInfoEXT {
5815 #[inline]
5816 fn default() -> Self {
5817 Self {
5818 s_type: StructureType::DEVICE_FAULT_INFO_EXT,
5819 next: ptr::null_mut(),
5820 description: StringArray::default(),
5821 address_infos: ptr::null_mut(),
5822 vendor_infos: ptr::null_mut(),
5823 vendor_binary_data: ptr::null_mut(),
5824 }
5825 }
5826}
5827
5828unsafe impl Send for DeviceFaultInfoEXT {}
5829unsafe impl Sync for DeviceFaultInfoEXT {}
5830
5831#[repr(C)]
5833#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5834pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
5835 pub header_size: u32,
5836 pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
5837 pub vendor_id: u32,
5838 pub device_id: u32,
5839 pub driver_version: u32,
5840 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
5841 pub application_name_offset: u32,
5842 pub application_version: u32,
5843 pub engine_name_offset: u32,
5844 pub engine_version: u32,
5845 pub api_version: u32,
5846}
5847
5848#[repr(C)]
5850#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5851pub struct DeviceFaultVendorInfoEXT {
5852 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5853 pub vendor_fault_code: u64,
5854 pub vendor_fault_data: u64,
5855}
5856
5857#[repr(C)]
5859#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5860pub struct DeviceGroupBindSparseInfo {
5861 pub s_type: StructureType,
5862 pub next: *const c_void,
5863 pub resource_device_index: u32,
5864 pub memory_device_index: u32,
5865}
5866
5867impl Default for DeviceGroupBindSparseInfo {
5868 #[inline]
5869 fn default() -> Self {
5870 Self {
5871 s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
5872 next: ptr::null(),
5873 resource_device_index: u32::default(),
5874 memory_device_index: u32::default(),
5875 }
5876 }
5877}
5878
5879unsafe impl Send for DeviceGroupBindSparseInfo {}
5880unsafe impl Sync for DeviceGroupBindSparseInfo {}
5881
5882#[repr(C)]
5884#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5885pub struct DeviceGroupCommandBufferBeginInfo {
5886 pub s_type: StructureType,
5887 pub next: *const c_void,
5888 pub device_mask: u32,
5889}
5890
5891impl Default for DeviceGroupCommandBufferBeginInfo {
5892 #[inline]
5893 fn default() -> Self {
5894 Self {
5895 s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
5896 next: ptr::null(),
5897 device_mask: u32::default(),
5898 }
5899 }
5900}
5901
5902unsafe impl Send for DeviceGroupCommandBufferBeginInfo {}
5903unsafe impl Sync for DeviceGroupCommandBufferBeginInfo {}
5904
5905#[repr(C)]
5907#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5908pub struct DeviceGroupDeviceCreateInfo {
5909 pub s_type: StructureType,
5910 pub next: *const c_void,
5911 pub physical_device_count: u32,
5912 pub physical_devices: *const PhysicalDevice,
5913}
5914
5915impl Default for DeviceGroupDeviceCreateInfo {
5916 #[inline]
5917 fn default() -> Self {
5918 Self {
5919 s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
5920 next: ptr::null(),
5921 physical_device_count: u32::default(),
5922 physical_devices: ptr::null(),
5923 }
5924 }
5925}
5926
5927unsafe impl Send for DeviceGroupDeviceCreateInfo {}
5928unsafe impl Sync for DeviceGroupDeviceCreateInfo {}
5929
5930#[repr(C)]
5932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5933pub struct DeviceGroupPresentCapabilitiesKHR {
5934 pub s_type: StructureType,
5935 pub next: *mut c_void,
5936 pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE],
5937 pub modes: DeviceGroupPresentModeFlagsKHR,
5938}
5939
5940impl Default for DeviceGroupPresentCapabilitiesKHR {
5941 #[inline]
5942 fn default() -> Self {
5943 Self {
5944 s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
5945 next: ptr::null_mut(),
5946 present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
5947 modes: DeviceGroupPresentModeFlagsKHR::default(),
5948 }
5949 }
5950}
5951
5952unsafe impl Send for DeviceGroupPresentCapabilitiesKHR {}
5953unsafe impl Sync for DeviceGroupPresentCapabilitiesKHR {}
5954
5955#[repr(C)]
5957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5958pub struct DeviceGroupPresentInfoKHR {
5959 pub s_type: StructureType,
5960 pub next: *const c_void,
5961 pub swapchain_count: u32,
5962 pub device_masks: *const u32,
5963 pub mode: DeviceGroupPresentModeFlagsKHR,
5964}
5965
5966impl Default for DeviceGroupPresentInfoKHR {
5967 #[inline]
5968 fn default() -> Self {
5969 Self {
5970 s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
5971 next: ptr::null(),
5972 swapchain_count: u32::default(),
5973 device_masks: ptr::null(),
5974 mode: DeviceGroupPresentModeFlagsKHR::default(),
5975 }
5976 }
5977}
5978
5979unsafe impl Send for DeviceGroupPresentInfoKHR {}
5980unsafe impl Sync for DeviceGroupPresentInfoKHR {}
5981
5982#[repr(C)]
5984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5985pub struct DeviceGroupRenderPassBeginInfo {
5986 pub s_type: StructureType,
5987 pub next: *const c_void,
5988 pub device_mask: u32,
5989 pub device_render_area_count: u32,
5990 pub device_render_areas: *const Rect2D,
5991}
5992
5993impl Default for DeviceGroupRenderPassBeginInfo {
5994 #[inline]
5995 fn default() -> Self {
5996 Self {
5997 s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
5998 next: ptr::null(),
5999 device_mask: u32::default(),
6000 device_render_area_count: u32::default(),
6001 device_render_areas: ptr::null(),
6002 }
6003 }
6004}
6005
6006unsafe impl Send for DeviceGroupRenderPassBeginInfo {}
6007unsafe impl Sync for DeviceGroupRenderPassBeginInfo {}
6008
6009#[repr(C)]
6011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6012pub struct DeviceGroupSubmitInfo {
6013 pub s_type: StructureType,
6014 pub next: *const c_void,
6015 pub wait_semaphore_count: u32,
6016 pub wait_semaphore_device_indices: *const u32,
6017 pub command_buffer_count: u32,
6018 pub command_buffer_device_masks: *const u32,
6019 pub signal_semaphore_count: u32,
6020 pub signal_semaphore_device_indices: *const u32,
6021}
6022
6023impl Default for DeviceGroupSubmitInfo {
6024 #[inline]
6025 fn default() -> Self {
6026 Self {
6027 s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
6028 next: ptr::null(),
6029 wait_semaphore_count: u32::default(),
6030 wait_semaphore_device_indices: ptr::null(),
6031 command_buffer_count: u32::default(),
6032 command_buffer_device_masks: ptr::null(),
6033 signal_semaphore_count: u32::default(),
6034 signal_semaphore_device_indices: ptr::null(),
6035 }
6036 }
6037}
6038
6039unsafe impl Send for DeviceGroupSubmitInfo {}
6040unsafe impl Sync for DeviceGroupSubmitInfo {}
6041
6042#[repr(C)]
6044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6045pub struct DeviceGroupSwapchainCreateInfoKHR {
6046 pub s_type: StructureType,
6047 pub next: *const c_void,
6048 pub modes: DeviceGroupPresentModeFlagsKHR,
6049}
6050
6051impl Default for DeviceGroupSwapchainCreateInfoKHR {
6052 #[inline]
6053 fn default() -> Self {
6054 Self {
6055 s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
6056 next: ptr::null(),
6057 modes: DeviceGroupPresentModeFlagsKHR::default(),
6058 }
6059 }
6060}
6061
6062unsafe impl Send for DeviceGroupSwapchainCreateInfoKHR {}
6063unsafe impl Sync for DeviceGroupSwapchainCreateInfoKHR {}
6064
6065#[repr(C)]
6067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6068pub struct DeviceImageMemoryRequirements {
6069 pub s_type: StructureType,
6070 pub next: *const c_void,
6071 pub create_info: *const ImageCreateInfo,
6072 pub plane_aspect: ImageAspectFlags,
6073}
6074
6075impl Default for DeviceImageMemoryRequirements {
6076 #[inline]
6077 fn default() -> Self {
6078 Self {
6079 s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
6080 next: ptr::null(),
6081 create_info: ptr::null(),
6082 plane_aspect: ImageAspectFlags::default(),
6083 }
6084 }
6085}
6086
6087unsafe impl Send for DeviceImageMemoryRequirements {}
6088unsafe impl Sync for DeviceImageMemoryRequirements {}
6089
6090#[repr(C)]
6092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6093pub struct DeviceImageSubresourceInfo {
6094 pub s_type: StructureType,
6095 pub next: *const c_void,
6096 pub create_info: *const ImageCreateInfo,
6097 pub subresource: *const ImageSubresource2,
6098}
6099
6100impl Default for DeviceImageSubresourceInfo {
6101 #[inline]
6102 fn default() -> Self {
6103 Self {
6104 s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
6105 next: ptr::null(),
6106 create_info: ptr::null(),
6107 subresource: ptr::null(),
6108 }
6109 }
6110}
6111
6112unsafe impl Send for DeviceImageSubresourceInfo {}
6113unsafe impl Sync for DeviceImageSubresourceInfo {}
6114
6115#[repr(C)]
6117#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6118pub struct DeviceMemoryOpaqueCaptureAddressInfo {
6119 pub s_type: StructureType,
6120 pub next: *const c_void,
6121 pub memory: DeviceMemory,
6122}
6123
6124impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
6125 #[inline]
6126 fn default() -> Self {
6127 Self {
6128 s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
6129 next: ptr::null(),
6130 memory: DeviceMemory::default(),
6131 }
6132 }
6133}
6134
6135unsafe impl Send for DeviceMemoryOpaqueCaptureAddressInfo {}
6136unsafe impl Sync for DeviceMemoryOpaqueCaptureAddressInfo {}
6137
6138#[repr(C)]
6140#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6141pub struct DeviceMemoryOverallocationCreateInfoAMD {
6142 pub s_type: StructureType,
6143 pub next: *const c_void,
6144 pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
6145}
6146
6147impl Default for DeviceMemoryOverallocationCreateInfoAMD {
6148 #[inline]
6149 fn default() -> Self {
6150 Self {
6151 s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
6152 next: ptr::null(),
6153 overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
6154 }
6155 }
6156}
6157
6158unsafe impl Send for DeviceMemoryOverallocationCreateInfoAMD {}
6159unsafe impl Sync for DeviceMemoryOverallocationCreateInfoAMD {}
6160
6161#[repr(C)]
6163#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6164pub struct DeviceMemoryReportCallbackDataEXT {
6165 pub s_type: StructureType,
6166 pub next: *mut c_void,
6167 pub flags: DeviceMemoryReportFlagsEXT,
6168 pub type_: DeviceMemoryReportEventTypeEXT,
6169 pub memory_object_id: u64,
6170 pub size: DeviceSize,
6171 pub object_type: ObjectType,
6172 pub object_handle: u64,
6173 pub heap_index: u32,
6174}
6175
6176impl Default for DeviceMemoryReportCallbackDataEXT {
6177 #[inline]
6178 fn default() -> Self {
6179 Self {
6180 s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
6181 next: ptr::null_mut(),
6182 flags: DeviceMemoryReportFlagsEXT::default(),
6183 type_: DeviceMemoryReportEventTypeEXT::default(),
6184 memory_object_id: u64::default(),
6185 size: DeviceSize::default(),
6186 object_type: ObjectType::default(),
6187 object_handle: u64::default(),
6188 heap_index: u32::default(),
6189 }
6190 }
6191}
6192
6193unsafe impl Send for DeviceMemoryReportCallbackDataEXT {}
6194unsafe impl Sync for DeviceMemoryReportCallbackDataEXT {}
6195
6196#[repr(C)]
6198#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6199pub struct DevicePipelineBinaryInternalCacheControlKHR {
6200 pub s_type: StructureType,
6201 pub next: *const c_void,
6202 pub disable_internal_cache: Bool32,
6203}
6204
6205impl Default for DevicePipelineBinaryInternalCacheControlKHR {
6206 #[inline]
6207 fn default() -> Self {
6208 Self {
6209 s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
6210 next: ptr::null(),
6211 disable_internal_cache: Bool32::default(),
6212 }
6213 }
6214}
6215
6216unsafe impl Send for DevicePipelineBinaryInternalCacheControlKHR {}
6217unsafe impl Sync for DevicePipelineBinaryInternalCacheControlKHR {}
6218
6219#[repr(C)]
6221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6222pub struct DevicePrivateDataCreateInfo {
6223 pub s_type: StructureType,
6224 pub next: *const c_void,
6225 pub private_data_slot_request_count: u32,
6226}
6227
6228impl Default for DevicePrivateDataCreateInfo {
6229 #[inline]
6230 fn default() -> Self {
6231 Self {
6232 s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
6233 next: ptr::null(),
6234 private_data_slot_request_count: u32::default(),
6235 }
6236 }
6237}
6238
6239unsafe impl Send for DevicePrivateDataCreateInfo {}
6240unsafe impl Sync for DevicePrivateDataCreateInfo {}
6241
6242#[repr(C)]
6244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6245pub struct DeviceQueueCreateInfo {
6246 pub s_type: StructureType,
6247 pub next: *const c_void,
6248 pub flags: DeviceQueueCreateFlags,
6249 pub queue_family_index: u32,
6250 pub queue_count: u32,
6251 pub queue_priorities: *const f32,
6252}
6253
6254impl Default for DeviceQueueCreateInfo {
6255 #[inline]
6256 fn default() -> Self {
6257 Self {
6258 s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
6259 next: ptr::null(),
6260 flags: DeviceQueueCreateFlags::default(),
6261 queue_family_index: u32::default(),
6262 queue_count: u32::default(),
6263 queue_priorities: ptr::null(),
6264 }
6265 }
6266}
6267
6268unsafe impl Send for DeviceQueueCreateInfo {}
6269unsafe impl Sync for DeviceQueueCreateInfo {}
6270
6271#[repr(C)]
6273#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6274pub struct DeviceQueueGlobalPriorityCreateInfo {
6275 pub s_type: StructureType,
6276 pub next: *const c_void,
6277 pub global_priority: QueueGlobalPriority,
6278}
6279
6280impl Default for DeviceQueueGlobalPriorityCreateInfo {
6281 #[inline]
6282 fn default() -> Self {
6283 Self {
6284 s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
6285 next: ptr::null(),
6286 global_priority: QueueGlobalPriority::default(),
6287 }
6288 }
6289}
6290
6291unsafe impl Send for DeviceQueueGlobalPriorityCreateInfo {}
6292unsafe impl Sync for DeviceQueueGlobalPriorityCreateInfo {}
6293
6294#[repr(C)]
6296#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6297pub struct DeviceQueueInfo2 {
6298 pub s_type: StructureType,
6299 pub next: *const c_void,
6300 pub flags: DeviceQueueCreateFlags,
6301 pub queue_family_index: u32,
6302 pub queue_index: u32,
6303}
6304
6305impl Default for DeviceQueueInfo2 {
6306 #[inline]
6307 fn default() -> Self {
6308 Self {
6309 s_type: StructureType::DEVICE_QUEUE_INFO_2,
6310 next: ptr::null(),
6311 flags: DeviceQueueCreateFlags::default(),
6312 queue_family_index: u32::default(),
6313 queue_index: u32::default(),
6314 }
6315 }
6316}
6317
6318unsafe impl Send for DeviceQueueInfo2 {}
6319unsafe impl Sync for DeviceQueueInfo2 {}
6320
6321#[repr(C)]
6323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6324pub struct DeviceQueueShaderCoreControlCreateInfoARM {
6325 pub s_type: StructureType,
6326 pub next: *mut c_void,
6327 pub shader_core_count: u32,
6328}
6329
6330impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
6331 #[inline]
6332 fn default() -> Self {
6333 Self {
6334 s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
6335 next: ptr::null_mut(),
6336 shader_core_count: u32::default(),
6337 }
6338 }
6339}
6340
6341unsafe impl Send for DeviceQueueShaderCoreControlCreateInfoARM {}
6342unsafe impl Sync for DeviceQueueShaderCoreControlCreateInfoARM {}
6343
6344#[repr(C)]
6346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6347pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6348 pub s_type: StructureType,
6349 pub next: *const c_void,
6350 pub semaphore_sci_sync_pool_request_count: u32,
6351}
6352
6353impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6354 #[inline]
6355 fn default() -> Self {
6356 Self {
6357 s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
6358 next: ptr::null(),
6359 semaphore_sci_sync_pool_request_count: u32::default(),
6360 }
6361 }
6362}
6363
6364unsafe impl Send for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6365unsafe impl Sync for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6366
6367#[repr(C)]
6369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6370pub struct DeviceTensorMemoryRequirementsARM {
6371 pub s_type: StructureType,
6372 pub next: *const c_void,
6373 pub create_info: *const TensorCreateInfoARM,
6374}
6375
6376impl Default for DeviceTensorMemoryRequirementsARM {
6377 #[inline]
6378 fn default() -> Self {
6379 Self {
6380 s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
6381 next: ptr::null(),
6382 create_info: ptr::null(),
6383 }
6384 }
6385}
6386
6387unsafe impl Send for DeviceTensorMemoryRequirementsARM {}
6388unsafe impl Sync for DeviceTensorMemoryRequirementsARM {}
6389
6390#[repr(C)]
6392#[derive(Copy, Clone)]
6393pub struct DirectDriverLoadingInfoLUNARG {
6394 pub s_type: StructureType,
6395 pub next: *mut c_void,
6396 pub flags: DirectDriverLoadingFlagsLUNARG,
6397 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
6398}
6399
6400impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
6401 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6402 f.debug_struct("DirectDriverLoadingInfoLUNARG")
6403 .field("s_type", &self.s_type)
6404 .field("next", &self.next)
6405 .field("flags", &self.flags)
6406 .field(
6407 "get_instance_proc_addr",
6408 &(self.get_instance_proc_addr.map(|f| f as *const u8)),
6409 )
6410 .finish()
6411 }
6412}
6413
6414impl Default for DirectDriverLoadingInfoLUNARG {
6415 #[inline]
6416 fn default() -> Self {
6417 Self {
6418 s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
6419 next: ptr::null_mut(),
6420 flags: DirectDriverLoadingFlagsLUNARG::default(),
6421 get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
6422 }
6423 }
6424}
6425
6426unsafe impl Send for DirectDriverLoadingInfoLUNARG {}
6427unsafe impl Sync for DirectDriverLoadingInfoLUNARG {}
6428
6429#[repr(C)]
6431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6432pub struct DirectDriverLoadingListLUNARG {
6433 pub s_type: StructureType,
6434 pub next: *const c_void,
6435 pub mode: DirectDriverLoadingModeLUNARG,
6436 pub driver_count: u32,
6437 pub drivers: *const DirectDriverLoadingInfoLUNARG,
6438}
6439
6440impl Default for DirectDriverLoadingListLUNARG {
6441 #[inline]
6442 fn default() -> Self {
6443 Self {
6444 s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
6445 next: ptr::null(),
6446 mode: DirectDriverLoadingModeLUNARG::default(),
6447 driver_count: u32::default(),
6448 drivers: ptr::null(),
6449 }
6450 }
6451}
6452
6453unsafe impl Send for DirectDriverLoadingListLUNARG {}
6454unsafe impl Sync for DirectDriverLoadingListLUNARG {}
6455
6456#[repr(C)]
6458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6459pub struct DirectFBSurfaceCreateInfoEXT {
6460 pub s_type: StructureType,
6461 pub next: *const c_void,
6462 pub flags: DirectFBSurfaceCreateFlagsEXT,
6463 pub dfb: *mut IDirectFB,
6464 pub surface: *mut IDirectFBSurface,
6465}
6466
6467impl Default for DirectFBSurfaceCreateInfoEXT {
6468 #[inline]
6469 fn default() -> Self {
6470 Self {
6471 s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
6472 next: ptr::null(),
6473 flags: DirectFBSurfaceCreateFlagsEXT::default(),
6474 dfb: ptr::null_mut(),
6475 surface: ptr::null_mut(),
6476 }
6477 }
6478}
6479
6480unsafe impl Send for DirectFBSurfaceCreateInfoEXT {}
6481unsafe impl Sync for DirectFBSurfaceCreateInfoEXT {}
6482
6483#[repr(C)]
6485#[derive(Copy, Clone, Default, Debug)]
6486pub struct DispatchGraphCountInfoAMDX {
6487 pub count: u32,
6488 pub infos: DeviceOrHostAddressConstAMDX,
6489 pub stride: u64,
6490}
6491
6492#[repr(C)]
6494#[derive(Copy, Clone, Default, Debug)]
6495pub struct DispatchGraphInfoAMDX {
6496 pub node_index: u32,
6497 pub payload_count: u32,
6498 pub payloads: DeviceOrHostAddressConstAMDX,
6499 pub payload_stride: u64,
6500}
6501
6502#[repr(C)]
6504#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6505pub struct DispatchIndirectCommand {
6506 pub x: u32,
6507 pub y: u32,
6508 pub z: u32,
6509}
6510
6511#[repr(C)]
6513#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6514pub struct DispatchTileInfoQCOM {
6515 pub s_type: StructureType,
6516 pub next: *const c_void,
6517}
6518
6519impl Default for DispatchTileInfoQCOM {
6520 #[inline]
6521 fn default() -> Self {
6522 Self {
6523 s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
6524 next: ptr::null(),
6525 }
6526 }
6527}
6528
6529unsafe impl Send for DispatchTileInfoQCOM {}
6530unsafe impl Sync for DispatchTileInfoQCOM {}
6531
6532#[repr(C)]
6534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6535pub struct DisplayEventInfoEXT {
6536 pub s_type: StructureType,
6537 pub next: *const c_void,
6538 pub display_event: DisplayEventTypeEXT,
6539}
6540
6541impl Default for DisplayEventInfoEXT {
6542 #[inline]
6543 fn default() -> Self {
6544 Self {
6545 s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
6546 next: ptr::null(),
6547 display_event: DisplayEventTypeEXT::default(),
6548 }
6549 }
6550}
6551
6552unsafe impl Send for DisplayEventInfoEXT {}
6553unsafe impl Sync for DisplayEventInfoEXT {}
6554
6555#[repr(C)]
6557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6558pub struct DisplayModeCreateInfoKHR {
6559 pub s_type: StructureType,
6560 pub next: *const c_void,
6561 pub flags: DisplayModeCreateFlagsKHR,
6562 pub parameters: DisplayModeParametersKHR,
6563}
6564
6565impl Default for DisplayModeCreateInfoKHR {
6566 #[inline]
6567 fn default() -> Self {
6568 Self {
6569 s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
6570 next: ptr::null(),
6571 flags: DisplayModeCreateFlagsKHR::default(),
6572 parameters: DisplayModeParametersKHR::default(),
6573 }
6574 }
6575}
6576
6577unsafe impl Send for DisplayModeCreateInfoKHR {}
6578unsafe impl Sync for DisplayModeCreateInfoKHR {}
6579
6580#[repr(C)]
6582#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6583pub struct DisplayModeParametersKHR {
6584 pub visible_region: Extent2D,
6585 pub refresh_rate: u32,
6586}
6587
6588#[repr(C)]
6590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6591pub struct DisplayModeProperties2KHR {
6592 pub s_type: StructureType,
6593 pub next: *mut c_void,
6594 pub display_mode_properties: DisplayModePropertiesKHR,
6595}
6596
6597impl Default for DisplayModeProperties2KHR {
6598 #[inline]
6599 fn default() -> Self {
6600 Self {
6601 s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
6602 next: ptr::null_mut(),
6603 display_mode_properties: DisplayModePropertiesKHR::default(),
6604 }
6605 }
6606}
6607
6608unsafe impl Send for DisplayModeProperties2KHR {}
6609unsafe impl Sync for DisplayModeProperties2KHR {}
6610
6611#[repr(C)]
6613#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6614pub struct DisplayModePropertiesKHR {
6615 pub display_mode: DisplayModeKHR,
6616 pub parameters: DisplayModeParametersKHR,
6617}
6618
6619#[repr(C)]
6621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6622pub struct DisplayModeStereoPropertiesNV {
6623 pub s_type: StructureType,
6624 pub next: *const c_void,
6625 pub hdmi_3d_supported: Bool32,
6626}
6627
6628impl Default for DisplayModeStereoPropertiesNV {
6629 #[inline]
6630 fn default() -> Self {
6631 Self {
6632 s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
6633 next: ptr::null(),
6634 hdmi_3d_supported: Bool32::default(),
6635 }
6636 }
6637}
6638
6639unsafe impl Send for DisplayModeStereoPropertiesNV {}
6640unsafe impl Sync for DisplayModeStereoPropertiesNV {}
6641
6642#[repr(C)]
6644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6645pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
6646 pub s_type: StructureType,
6647 pub next: *mut c_void,
6648 pub local_dimming_support: Bool32,
6649}
6650
6651impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
6652 #[inline]
6653 fn default() -> Self {
6654 Self {
6655 s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
6656 next: ptr::null_mut(),
6657 local_dimming_support: Bool32::default(),
6658 }
6659 }
6660}
6661
6662unsafe impl Send for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6663unsafe impl Sync for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6664
6665#[repr(C)]
6667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6668pub struct DisplayPlaneCapabilities2KHR {
6669 pub s_type: StructureType,
6670 pub next: *mut c_void,
6671 pub capabilities: DisplayPlaneCapabilitiesKHR,
6672}
6673
6674impl Default for DisplayPlaneCapabilities2KHR {
6675 #[inline]
6676 fn default() -> Self {
6677 Self {
6678 s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
6679 next: ptr::null_mut(),
6680 capabilities: DisplayPlaneCapabilitiesKHR::default(),
6681 }
6682 }
6683}
6684
6685unsafe impl Send for DisplayPlaneCapabilities2KHR {}
6686unsafe impl Sync for DisplayPlaneCapabilities2KHR {}
6687
6688#[repr(C)]
6690#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6691pub struct DisplayPlaneCapabilitiesKHR {
6692 pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
6693 pub min_src_position: Offset2D,
6694 pub max_src_position: Offset2D,
6695 pub min_src_extent: Extent2D,
6696 pub max_src_extent: Extent2D,
6697 pub min_dst_position: Offset2D,
6698 pub max_dst_position: Offset2D,
6699 pub min_dst_extent: Extent2D,
6700 pub max_dst_extent: Extent2D,
6701}
6702
6703#[repr(C)]
6705#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6706pub struct DisplayPlaneInfo2KHR {
6707 pub s_type: StructureType,
6708 pub next: *const c_void,
6709 pub mode: DisplayModeKHR,
6710 pub plane_index: u32,
6711}
6712
6713impl Default for DisplayPlaneInfo2KHR {
6714 #[inline]
6715 fn default() -> Self {
6716 Self {
6717 s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
6718 next: ptr::null(),
6719 mode: DisplayModeKHR::default(),
6720 plane_index: u32::default(),
6721 }
6722 }
6723}
6724
6725unsafe impl Send for DisplayPlaneInfo2KHR {}
6726unsafe impl Sync for DisplayPlaneInfo2KHR {}
6727
6728#[repr(C)]
6730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6731pub struct DisplayPlaneProperties2KHR {
6732 pub s_type: StructureType,
6733 pub next: *mut c_void,
6734 pub display_plane_properties: DisplayPlanePropertiesKHR,
6735}
6736
6737impl Default for DisplayPlaneProperties2KHR {
6738 #[inline]
6739 fn default() -> Self {
6740 Self {
6741 s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
6742 next: ptr::null_mut(),
6743 display_plane_properties: DisplayPlanePropertiesKHR::default(),
6744 }
6745 }
6746}
6747
6748unsafe impl Send for DisplayPlaneProperties2KHR {}
6749unsafe impl Sync for DisplayPlaneProperties2KHR {}
6750
6751#[repr(C)]
6753#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6754pub struct DisplayPlanePropertiesKHR {
6755 pub current_display: DisplayKHR,
6756 pub current_stack_index: u32,
6757}
6758
6759#[repr(C)]
6761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6762pub struct DisplayPowerInfoEXT {
6763 pub s_type: StructureType,
6764 pub next: *const c_void,
6765 pub power_state: DisplayPowerStateEXT,
6766}
6767
6768impl Default for DisplayPowerInfoEXT {
6769 #[inline]
6770 fn default() -> Self {
6771 Self {
6772 s_type: StructureType::DISPLAY_POWER_INFO_EXT,
6773 next: ptr::null(),
6774 power_state: DisplayPowerStateEXT::default(),
6775 }
6776 }
6777}
6778
6779unsafe impl Send for DisplayPowerInfoEXT {}
6780unsafe impl Sync for DisplayPowerInfoEXT {}
6781
6782#[repr(C)]
6784#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6785pub struct DisplayPresentInfoKHR {
6786 pub s_type: StructureType,
6787 pub next: *const c_void,
6788 pub src_rect: Rect2D,
6789 pub dst_rect: Rect2D,
6790 pub persistent: Bool32,
6791}
6792
6793impl Default for DisplayPresentInfoKHR {
6794 #[inline]
6795 fn default() -> Self {
6796 Self {
6797 s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
6798 next: ptr::null(),
6799 src_rect: Rect2D::default(),
6800 dst_rect: Rect2D::default(),
6801 persistent: Bool32::default(),
6802 }
6803 }
6804}
6805
6806unsafe impl Send for DisplayPresentInfoKHR {}
6807unsafe impl Sync for DisplayPresentInfoKHR {}
6808
6809#[repr(C)]
6811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6812pub struct DisplayProperties2KHR {
6813 pub s_type: StructureType,
6814 pub next: *mut c_void,
6815 pub display_properties: DisplayPropertiesKHR,
6816}
6817
6818impl Default for DisplayProperties2KHR {
6819 #[inline]
6820 fn default() -> Self {
6821 Self {
6822 s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
6823 next: ptr::null_mut(),
6824 display_properties: DisplayPropertiesKHR::default(),
6825 }
6826 }
6827}
6828
6829unsafe impl Send for DisplayProperties2KHR {}
6830unsafe impl Sync for DisplayProperties2KHR {}
6831
6832#[repr(C)]
6834#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6835pub struct DisplayPropertiesKHR {
6836 pub display: DisplayKHR,
6837 pub display_name: *const c_char,
6838 pub physical_dimensions: Extent2D,
6839 pub physical_resolution: Extent2D,
6840 pub supported_transforms: SurfaceTransformFlagsKHR,
6841 pub plane_reorder_possible: Bool32,
6842 pub persistent_content: Bool32,
6843}
6844
6845impl Default for DisplayPropertiesKHR {
6846 #[inline]
6847 fn default() -> Self {
6848 Self {
6849 display: DisplayKHR::default(),
6850 display_name: ptr::null(),
6851 physical_dimensions: Extent2D::default(),
6852 physical_resolution: Extent2D::default(),
6853 supported_transforms: SurfaceTransformFlagsKHR::default(),
6854 plane_reorder_possible: Bool32::default(),
6855 persistent_content: Bool32::default(),
6856 }
6857 }
6858}
6859
6860unsafe impl Send for DisplayPropertiesKHR {}
6861unsafe impl Sync for DisplayPropertiesKHR {}
6862
6863#[repr(C)]
6865#[derive(Copy, Clone, Debug, PartialEq)]
6866pub struct DisplaySurfaceCreateInfoKHR {
6867 pub s_type: StructureType,
6868 pub next: *const c_void,
6869 pub flags: DisplaySurfaceCreateFlagsKHR,
6870 pub display_mode: DisplayModeKHR,
6871 pub plane_index: u32,
6872 pub plane_stack_index: u32,
6873 pub transform: SurfaceTransformFlagsKHR,
6874 pub global_alpha: f32,
6875 pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
6876 pub image_extent: Extent2D,
6877}
6878
6879impl Default for DisplaySurfaceCreateInfoKHR {
6880 #[inline]
6881 fn default() -> Self {
6882 Self {
6883 s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
6884 next: ptr::null(),
6885 flags: DisplaySurfaceCreateFlagsKHR::default(),
6886 display_mode: DisplayModeKHR::default(),
6887 plane_index: u32::default(),
6888 plane_stack_index: u32::default(),
6889 transform: SurfaceTransformFlagsKHR::default(),
6890 global_alpha: f32::default(),
6891 alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
6892 image_extent: Extent2D::default(),
6893 }
6894 }
6895}
6896
6897unsafe impl Send for DisplaySurfaceCreateInfoKHR {}
6898unsafe impl Sync for DisplaySurfaceCreateInfoKHR {}
6899
6900#[repr(C)]
6902#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6903pub struct DisplaySurfaceStereoCreateInfoNV {
6904 pub s_type: StructureType,
6905 pub next: *const c_void,
6906 pub stereo_type: DisplaySurfaceStereoTypeNV,
6907}
6908
6909impl Default for DisplaySurfaceStereoCreateInfoNV {
6910 #[inline]
6911 fn default() -> Self {
6912 Self {
6913 s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
6914 next: ptr::null(),
6915 stereo_type: DisplaySurfaceStereoTypeNV::default(),
6916 }
6917 }
6918}
6919
6920unsafe impl Send for DisplaySurfaceStereoCreateInfoNV {}
6921unsafe impl Sync for DisplaySurfaceStereoCreateInfoNV {}
6922
6923#[repr(C)]
6925#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6926pub struct DrawIndexedIndirectCommand {
6927 pub index_count: u32,
6928 pub instance_count: u32,
6929 pub first_index: u32,
6930 pub vertex_offset: i32,
6931 pub first_instance: u32,
6932}
6933
6934#[repr(C)]
6936#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6937pub struct DrawIndirectCommand {
6938 pub vertex_count: u32,
6939 pub instance_count: u32,
6940 pub first_vertex: u32,
6941 pub first_instance: u32,
6942}
6943
6944#[repr(C)]
6946#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6947pub struct DrawIndirectCountIndirectCommandEXT {
6948 pub buffer_address: DeviceAddress,
6949 pub stride: u32,
6950 pub command_count: u32,
6951}
6952
6953#[repr(C)]
6955#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6956pub struct DrawMeshTasksIndirectCommandEXT {
6957 pub group_count_x: u32,
6958 pub group_count_y: u32,
6959 pub group_count_z: u32,
6960}
6961
6962#[repr(C)]
6964#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6965pub struct DrawMeshTasksIndirectCommandNV {
6966 pub task_count: u32,
6967 pub first_task: u32,
6968}
6969
6970#[repr(C)]
6972#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6973pub struct DrmFormatModifierProperties2EXT {
6974 pub drm_format_modifier: u64,
6975 pub drm_format_modifier_plane_count: u32,
6976 pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
6977}
6978
6979#[repr(C)]
6981#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6982pub struct DrmFormatModifierPropertiesEXT {
6983 pub drm_format_modifier: u64,
6984 pub drm_format_modifier_plane_count: u32,
6985 pub drm_format_modifier_tiling_features: FormatFeatureFlags,
6986}
6987
6988#[repr(C)]
6990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6991pub struct DrmFormatModifierPropertiesList2EXT {
6992 pub s_type: StructureType,
6993 pub next: *mut c_void,
6994 pub drm_format_modifier_count: u32,
6995 pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
6996}
6997
6998impl Default for DrmFormatModifierPropertiesList2EXT {
6999 #[inline]
7000 fn default() -> Self {
7001 Self {
7002 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
7003 next: ptr::null_mut(),
7004 drm_format_modifier_count: u32::default(),
7005 drm_format_modifier_properties: ptr::null_mut(),
7006 }
7007 }
7008}
7009
7010unsafe impl Send for DrmFormatModifierPropertiesList2EXT {}
7011unsafe impl Sync for DrmFormatModifierPropertiesList2EXT {}
7012
7013#[repr(C)]
7015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7016pub struct DrmFormatModifierPropertiesListEXT {
7017 pub s_type: StructureType,
7018 pub next: *mut c_void,
7019 pub drm_format_modifier_count: u32,
7020 pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
7021}
7022
7023impl Default for DrmFormatModifierPropertiesListEXT {
7024 #[inline]
7025 fn default() -> Self {
7026 Self {
7027 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
7028 next: ptr::null_mut(),
7029 drm_format_modifier_count: u32::default(),
7030 drm_format_modifier_properties: ptr::null_mut(),
7031 }
7032 }
7033}
7034
7035unsafe impl Send for DrmFormatModifierPropertiesListEXT {}
7036unsafe impl Sync for DrmFormatModifierPropertiesListEXT {}
7037
7038#[repr(C)]
7040#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7041pub struct EventCreateInfo {
7042 pub s_type: StructureType,
7043 pub next: *const c_void,
7044 pub flags: EventCreateFlags,
7045}
7046
7047impl Default for EventCreateInfo {
7048 #[inline]
7049 fn default() -> Self {
7050 Self {
7051 s_type: StructureType::EVENT_CREATE_INFO,
7052 next: ptr::null(),
7053 flags: EventCreateFlags::default(),
7054 }
7055 }
7056}
7057
7058unsafe impl Send for EventCreateInfo {}
7059unsafe impl Sync for EventCreateInfo {}
7060
7061#[repr(C)]
7063#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7064pub struct ExecutionGraphPipelineCreateInfoAMDX {
7065 pub s_type: StructureType,
7066 pub next: *const c_void,
7067 pub flags: PipelineCreateFlags,
7068 pub stage_count: u32,
7069 pub stages: *const PipelineShaderStageCreateInfo,
7070 pub library_info: *const PipelineLibraryCreateInfoKHR,
7071 pub layout: PipelineLayout,
7072 pub base_pipeline_handle: Pipeline,
7073 pub base_pipeline_index: i32,
7074}
7075
7076impl Default for ExecutionGraphPipelineCreateInfoAMDX {
7077 #[inline]
7078 fn default() -> Self {
7079 Self {
7080 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
7081 next: ptr::null(),
7082 flags: PipelineCreateFlags::default(),
7083 stage_count: u32::default(),
7084 stages: ptr::null(),
7085 library_info: ptr::null(),
7086 layout: PipelineLayout::default(),
7087 base_pipeline_handle: Pipeline::default(),
7088 base_pipeline_index: i32::default(),
7089 }
7090 }
7091}
7092
7093unsafe impl Send for ExecutionGraphPipelineCreateInfoAMDX {}
7094unsafe impl Sync for ExecutionGraphPipelineCreateInfoAMDX {}
7095
7096#[repr(C)]
7098#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7099pub struct ExecutionGraphPipelineScratchSizeAMDX {
7100 pub s_type: StructureType,
7101 pub next: *mut c_void,
7102 pub min_size: DeviceSize,
7103 pub max_size: DeviceSize,
7104 pub size_granularity: DeviceSize,
7105}
7106
7107impl Default for ExecutionGraphPipelineScratchSizeAMDX {
7108 #[inline]
7109 fn default() -> Self {
7110 Self {
7111 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
7112 next: ptr::null_mut(),
7113 min_size: DeviceSize::default(),
7114 max_size: DeviceSize::default(),
7115 size_granularity: DeviceSize::default(),
7116 }
7117 }
7118}
7119
7120unsafe impl Send for ExecutionGraphPipelineScratchSizeAMDX {}
7121unsafe impl Sync for ExecutionGraphPipelineScratchSizeAMDX {}
7122
7123#[repr(C)]
7125#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7126pub struct ExportFenceCreateInfo {
7127 pub s_type: StructureType,
7128 pub next: *const c_void,
7129 pub handle_types: ExternalFenceHandleTypeFlags,
7130}
7131
7132impl Default for ExportFenceCreateInfo {
7133 #[inline]
7134 fn default() -> Self {
7135 Self {
7136 s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
7137 next: ptr::null(),
7138 handle_types: ExternalFenceHandleTypeFlags::default(),
7139 }
7140 }
7141}
7142
7143unsafe impl Send for ExportFenceCreateInfo {}
7144unsafe impl Sync for ExportFenceCreateInfo {}
7145
7146#[repr(C)]
7148#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7149pub struct ExportFenceSciSyncInfoNV {
7150 pub s_type: StructureType,
7151 pub next: *const c_void,
7152 pub attributes: NvSciSyncAttrList,
7153}
7154
7155impl Default for ExportFenceSciSyncInfoNV {
7156 #[inline]
7157 fn default() -> Self {
7158 Self {
7159 s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
7160 next: ptr::null(),
7161 attributes: ptr::null_mut(),
7162 }
7163 }
7164}
7165
7166unsafe impl Send for ExportFenceSciSyncInfoNV {}
7167unsafe impl Sync for ExportFenceSciSyncInfoNV {}
7168
7169#[repr(C)]
7171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7172pub struct ExportFenceWin32HandleInfoKHR {
7173 pub s_type: StructureType,
7174 pub next: *const c_void,
7175 pub attributes: *const SECURITY_ATTRIBUTES,
7176 pub dw_access: DWORD,
7177 pub name: LPCWSTR,
7178}
7179
7180impl Default for ExportFenceWin32HandleInfoKHR {
7181 #[inline]
7182 fn default() -> Self {
7183 Self {
7184 s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
7185 next: ptr::null(),
7186 attributes: ptr::null(),
7187 dw_access: DWORD::default(),
7188 name: ptr::null_mut(),
7189 }
7190 }
7191}
7192
7193unsafe impl Send for ExportFenceWin32HandleInfoKHR {}
7194unsafe impl Sync for ExportFenceWin32HandleInfoKHR {}
7195
7196#[repr(C)]
7198#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7199pub struct ExportMemoryAllocateInfo {
7200 pub s_type: StructureType,
7201 pub next: *const c_void,
7202 pub handle_types: ExternalMemoryHandleTypeFlags,
7203}
7204
7205impl Default for ExportMemoryAllocateInfo {
7206 #[inline]
7207 fn default() -> Self {
7208 Self {
7209 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
7210 next: ptr::null(),
7211 handle_types: ExternalMemoryHandleTypeFlags::default(),
7212 }
7213 }
7214}
7215
7216unsafe impl Send for ExportMemoryAllocateInfo {}
7217unsafe impl Sync for ExportMemoryAllocateInfo {}
7218
7219#[repr(C)]
7221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7222pub struct ExportMemoryAllocateInfoNV {
7223 pub s_type: StructureType,
7224 pub next: *const c_void,
7225 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7226}
7227
7228impl Default for ExportMemoryAllocateInfoNV {
7229 #[inline]
7230 fn default() -> Self {
7231 Self {
7232 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
7233 next: ptr::null(),
7234 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7235 }
7236 }
7237}
7238
7239unsafe impl Send for ExportMemoryAllocateInfoNV {}
7240unsafe impl Sync for ExportMemoryAllocateInfoNV {}
7241
7242#[repr(C)]
7244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7245pub struct ExportMemorySciBufInfoNV {
7246 pub s_type: StructureType,
7247 pub next: *const c_void,
7248 pub attributes: NvSciBufAttrList,
7249}
7250
7251impl Default for ExportMemorySciBufInfoNV {
7252 #[inline]
7253 fn default() -> Self {
7254 Self {
7255 s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
7256 next: ptr::null(),
7257 attributes: ptr::null_mut(),
7258 }
7259 }
7260}
7261
7262unsafe impl Send for ExportMemorySciBufInfoNV {}
7263unsafe impl Sync for ExportMemorySciBufInfoNV {}
7264
7265#[repr(C)]
7267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7268pub struct ExportMemoryWin32HandleInfoKHR {
7269 pub s_type: StructureType,
7270 pub next: *const c_void,
7271 pub attributes: *const SECURITY_ATTRIBUTES,
7272 pub dw_access: DWORD,
7273 pub name: LPCWSTR,
7274}
7275
7276impl Default for ExportMemoryWin32HandleInfoKHR {
7277 #[inline]
7278 fn default() -> Self {
7279 Self {
7280 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
7281 next: ptr::null(),
7282 attributes: ptr::null(),
7283 dw_access: DWORD::default(),
7284 name: ptr::null_mut(),
7285 }
7286 }
7287}
7288
7289unsafe impl Send for ExportMemoryWin32HandleInfoKHR {}
7290unsafe impl Sync for ExportMemoryWin32HandleInfoKHR {}
7291
7292#[repr(C)]
7294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7295pub struct ExportMemoryWin32HandleInfoNV {
7296 pub s_type: StructureType,
7297 pub next: *const c_void,
7298 pub attributes: *const SECURITY_ATTRIBUTES,
7299 pub dw_access: DWORD,
7300}
7301
7302impl Default for ExportMemoryWin32HandleInfoNV {
7303 #[inline]
7304 fn default() -> Self {
7305 Self {
7306 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
7307 next: ptr::null(),
7308 attributes: ptr::null(),
7309 dw_access: DWORD::default(),
7310 }
7311 }
7312}
7313
7314unsafe impl Send for ExportMemoryWin32HandleInfoNV {}
7315unsafe impl Sync for ExportMemoryWin32HandleInfoNV {}
7316
7317#[repr(C)]
7319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7320pub struct ExportMetalBufferInfoEXT {
7321 pub s_type: StructureType,
7322 pub next: *const c_void,
7323 pub memory: DeviceMemory,
7324 pub mtl_buffer: MTLBuffer_id,
7325}
7326
7327impl Default for ExportMetalBufferInfoEXT {
7328 #[inline]
7329 fn default() -> Self {
7330 Self {
7331 s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
7332 next: ptr::null(),
7333 memory: DeviceMemory::default(),
7334 mtl_buffer: ptr::null_mut(),
7335 }
7336 }
7337}
7338
7339unsafe impl Send for ExportMetalBufferInfoEXT {}
7340unsafe impl Sync for ExportMetalBufferInfoEXT {}
7341
7342#[repr(C)]
7344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7345pub struct ExportMetalCommandQueueInfoEXT {
7346 pub s_type: StructureType,
7347 pub next: *const c_void,
7348 pub queue: Queue,
7349 pub mtl_command_queue: MTLCommandQueue_id,
7350}
7351
7352impl Default for ExportMetalCommandQueueInfoEXT {
7353 #[inline]
7354 fn default() -> Self {
7355 Self {
7356 s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
7357 next: ptr::null(),
7358 queue: Queue::default(),
7359 mtl_command_queue: ptr::null_mut(),
7360 }
7361 }
7362}
7363
7364unsafe impl Send for ExportMetalCommandQueueInfoEXT {}
7365unsafe impl Sync for ExportMetalCommandQueueInfoEXT {}
7366
7367#[repr(C)]
7369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7370pub struct ExportMetalDeviceInfoEXT {
7371 pub s_type: StructureType,
7372 pub next: *const c_void,
7373 pub mtl_device: MTLDevice_id,
7374}
7375
7376impl Default for ExportMetalDeviceInfoEXT {
7377 #[inline]
7378 fn default() -> Self {
7379 Self {
7380 s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
7381 next: ptr::null(),
7382 mtl_device: ptr::null_mut(),
7383 }
7384 }
7385}
7386
7387unsafe impl Send for ExportMetalDeviceInfoEXT {}
7388unsafe impl Sync for ExportMetalDeviceInfoEXT {}
7389
7390#[repr(C)]
7392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7393pub struct ExportMetalIOSurfaceInfoEXT {
7394 pub s_type: StructureType,
7395 pub next: *const c_void,
7396 pub image: Image,
7397 pub io_surface: IOSurfaceRef,
7398}
7399
7400impl Default for ExportMetalIOSurfaceInfoEXT {
7401 #[inline]
7402 fn default() -> Self {
7403 Self {
7404 s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
7405 next: ptr::null(),
7406 image: Image::default(),
7407 io_surface: ptr::null_mut(),
7408 }
7409 }
7410}
7411
7412unsafe impl Send for ExportMetalIOSurfaceInfoEXT {}
7413unsafe impl Sync for ExportMetalIOSurfaceInfoEXT {}
7414
7415#[repr(C)]
7417#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7418pub struct ExportMetalObjectCreateInfoEXT {
7419 pub s_type: StructureType,
7420 pub next: *const c_void,
7421 pub export_object_type: ExportMetalObjectTypeFlagsEXT,
7422}
7423
7424impl Default for ExportMetalObjectCreateInfoEXT {
7425 #[inline]
7426 fn default() -> Self {
7427 Self {
7428 s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
7429 next: ptr::null(),
7430 export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
7431 }
7432 }
7433}
7434
7435unsafe impl Send for ExportMetalObjectCreateInfoEXT {}
7436unsafe impl Sync for ExportMetalObjectCreateInfoEXT {}
7437
7438#[repr(C)]
7440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7441pub struct ExportMetalObjectsInfoEXT {
7442 pub s_type: StructureType,
7443 pub next: *const c_void,
7444}
7445
7446impl Default for ExportMetalObjectsInfoEXT {
7447 #[inline]
7448 fn default() -> Self {
7449 Self {
7450 s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
7451 next: ptr::null(),
7452 }
7453 }
7454}
7455
7456unsafe impl Send for ExportMetalObjectsInfoEXT {}
7457unsafe impl Sync for ExportMetalObjectsInfoEXT {}
7458
7459#[repr(C)]
7461#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7462pub struct ExportMetalSharedEventInfoEXT {
7463 pub s_type: StructureType,
7464 pub next: *const c_void,
7465 pub semaphore: Semaphore,
7466 pub event: Event,
7467 pub mtl_shared_event: MTLSharedEvent_id,
7468}
7469
7470impl Default for ExportMetalSharedEventInfoEXT {
7471 #[inline]
7472 fn default() -> Self {
7473 Self {
7474 s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
7475 next: ptr::null(),
7476 semaphore: Semaphore::default(),
7477 event: Event::default(),
7478 mtl_shared_event: ptr::null_mut(),
7479 }
7480 }
7481}
7482
7483unsafe impl Send for ExportMetalSharedEventInfoEXT {}
7484unsafe impl Sync for ExportMetalSharedEventInfoEXT {}
7485
7486#[repr(C)]
7488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7489pub struct ExportMetalTextureInfoEXT {
7490 pub s_type: StructureType,
7491 pub next: *const c_void,
7492 pub image: Image,
7493 pub image_view: ImageView,
7494 pub buffer_view: BufferView,
7495 pub plane: ImageAspectFlags,
7496 pub mtl_texture: MTLTexture_id,
7497}
7498
7499impl Default for ExportMetalTextureInfoEXT {
7500 #[inline]
7501 fn default() -> Self {
7502 Self {
7503 s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
7504 next: ptr::null(),
7505 image: Image::default(),
7506 image_view: ImageView::default(),
7507 buffer_view: BufferView::default(),
7508 plane: ImageAspectFlags::default(),
7509 mtl_texture: ptr::null_mut(),
7510 }
7511 }
7512}
7513
7514unsafe impl Send for ExportMetalTextureInfoEXT {}
7515unsafe impl Sync for ExportMetalTextureInfoEXT {}
7516
7517#[repr(C)]
7519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7520pub struct ExportSemaphoreCreateInfo {
7521 pub s_type: StructureType,
7522 pub next: *const c_void,
7523 pub handle_types: ExternalSemaphoreHandleTypeFlags,
7524}
7525
7526impl Default for ExportSemaphoreCreateInfo {
7527 #[inline]
7528 fn default() -> Self {
7529 Self {
7530 s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
7531 next: ptr::null(),
7532 handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7533 }
7534 }
7535}
7536
7537unsafe impl Send for ExportSemaphoreCreateInfo {}
7538unsafe impl Sync for ExportSemaphoreCreateInfo {}
7539
7540#[repr(C)]
7542#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7543pub struct ExportSemaphoreSciSyncInfoNV {
7544 pub s_type: StructureType,
7545 pub next: *const c_void,
7546 pub attributes: NvSciSyncAttrList,
7547}
7548
7549impl Default for ExportSemaphoreSciSyncInfoNV {
7550 #[inline]
7551 fn default() -> Self {
7552 Self {
7553 s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
7554 next: ptr::null(),
7555 attributes: ptr::null_mut(),
7556 }
7557 }
7558}
7559
7560unsafe impl Send for ExportSemaphoreSciSyncInfoNV {}
7561unsafe impl Sync for ExportSemaphoreSciSyncInfoNV {}
7562
7563#[repr(C)]
7565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7566pub struct ExportSemaphoreWin32HandleInfoKHR {
7567 pub s_type: StructureType,
7568 pub next: *const c_void,
7569 pub attributes: *const SECURITY_ATTRIBUTES,
7570 pub dw_access: DWORD,
7571 pub name: LPCWSTR,
7572}
7573
7574impl Default for ExportSemaphoreWin32HandleInfoKHR {
7575 #[inline]
7576 fn default() -> Self {
7577 Self {
7578 s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
7579 next: ptr::null(),
7580 attributes: ptr::null(),
7581 dw_access: DWORD::default(),
7582 name: ptr::null_mut(),
7583 }
7584 }
7585}
7586
7587unsafe impl Send for ExportSemaphoreWin32HandleInfoKHR {}
7588unsafe impl Sync for ExportSemaphoreWin32HandleInfoKHR {}
7589
7590#[repr(C)]
7592#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7593pub struct ExtensionProperties {
7594 pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
7595 pub spec_version: u32,
7596}
7597
7598#[repr(C)]
7600#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7601pub struct Extent2D {
7602 pub width: u32,
7603 pub height: u32,
7604}
7605
7606#[repr(C)]
7608#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7609pub struct Extent3D {
7610 pub width: u32,
7611 pub height: u32,
7612 pub depth: u32,
7613}
7614
7615#[repr(C)]
7617#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7618pub struct ExternalBufferProperties {
7619 pub s_type: StructureType,
7620 pub next: *mut c_void,
7621 pub external_memory_properties: ExternalMemoryProperties,
7622}
7623
7624impl Default for ExternalBufferProperties {
7625 #[inline]
7626 fn default() -> Self {
7627 Self {
7628 s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
7629 next: ptr::null_mut(),
7630 external_memory_properties: ExternalMemoryProperties::default(),
7631 }
7632 }
7633}
7634
7635unsafe impl Send for ExternalBufferProperties {}
7636unsafe impl Sync for ExternalBufferProperties {}
7637
7638#[repr(C)]
7640#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7641pub struct ExternalComputeQueueCreateInfoNV {
7642 pub s_type: StructureType,
7643 pub next: *const c_void,
7644 pub preferred_queue: Queue,
7645}
7646
7647impl Default for ExternalComputeQueueCreateInfoNV {
7648 #[inline]
7649 fn default() -> Self {
7650 Self {
7651 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
7652 next: ptr::null(),
7653 preferred_queue: Queue::default(),
7654 }
7655 }
7656}
7657
7658unsafe impl Send for ExternalComputeQueueCreateInfoNV {}
7659unsafe impl Sync for ExternalComputeQueueCreateInfoNV {}
7660
7661#[repr(C)]
7663#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7664pub struct ExternalComputeQueueDataParamsNV {
7665 pub s_type: StructureType,
7666 pub next: *const c_void,
7667 pub device_index: u32,
7668}
7669
7670impl Default for ExternalComputeQueueDataParamsNV {
7671 #[inline]
7672 fn default() -> Self {
7673 Self {
7674 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
7675 next: ptr::null(),
7676 device_index: u32::default(),
7677 }
7678 }
7679}
7680
7681unsafe impl Send for ExternalComputeQueueDataParamsNV {}
7682unsafe impl Sync for ExternalComputeQueueDataParamsNV {}
7683
7684#[repr(C)]
7686#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7687pub struct ExternalComputeQueueDeviceCreateInfoNV {
7688 pub s_type: StructureType,
7689 pub next: *const c_void,
7690 pub reserved_external_queues: u32,
7691}
7692
7693impl Default for ExternalComputeQueueDeviceCreateInfoNV {
7694 #[inline]
7695 fn default() -> Self {
7696 Self {
7697 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
7698 next: ptr::null(),
7699 reserved_external_queues: u32::default(),
7700 }
7701 }
7702}
7703
7704unsafe impl Send for ExternalComputeQueueDeviceCreateInfoNV {}
7705unsafe impl Sync for ExternalComputeQueueDeviceCreateInfoNV {}
7706
7707#[repr(C)]
7709#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7710pub struct ExternalFenceProperties {
7711 pub s_type: StructureType,
7712 pub next: *mut c_void,
7713 pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
7714 pub compatible_handle_types: ExternalFenceHandleTypeFlags,
7715 pub external_fence_features: ExternalFenceFeatureFlags,
7716}
7717
7718impl Default for ExternalFenceProperties {
7719 #[inline]
7720 fn default() -> Self {
7721 Self {
7722 s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
7723 next: ptr::null_mut(),
7724 export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
7725 compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
7726 external_fence_features: ExternalFenceFeatureFlags::default(),
7727 }
7728 }
7729}
7730
7731unsafe impl Send for ExternalFenceProperties {}
7732unsafe impl Sync for ExternalFenceProperties {}
7733
7734#[repr(C)]
7736#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7737pub struct ExternalFormatANDROID {
7738 pub s_type: StructureType,
7739 pub next: *mut c_void,
7740 pub external_format: u64,
7741}
7742
7743impl Default for ExternalFormatANDROID {
7744 #[inline]
7745 fn default() -> Self {
7746 Self {
7747 s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
7748 next: ptr::null_mut(),
7749 external_format: u64::default(),
7750 }
7751 }
7752}
7753
7754unsafe impl Send for ExternalFormatANDROID {}
7755unsafe impl Sync for ExternalFormatANDROID {}
7756
7757#[repr(C)]
7759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7760pub struct ExternalFormatQNX {
7761 pub s_type: StructureType,
7762 pub next: *mut c_void,
7763 pub external_format: u64,
7764}
7765
7766impl Default for ExternalFormatQNX {
7767 #[inline]
7768 fn default() -> Self {
7769 Self {
7770 s_type: StructureType::EXTERNAL_FORMAT_QNX,
7771 next: ptr::null_mut(),
7772 external_format: u64::default(),
7773 }
7774 }
7775}
7776
7777unsafe impl Send for ExternalFormatQNX {}
7778unsafe impl Sync for ExternalFormatQNX {}
7779
7780#[repr(C)]
7782#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7783pub struct ExternalImageFormatProperties {
7784 pub s_type: StructureType,
7785 pub next: *mut c_void,
7786 pub external_memory_properties: ExternalMemoryProperties,
7787}
7788
7789impl Default for ExternalImageFormatProperties {
7790 #[inline]
7791 fn default() -> Self {
7792 Self {
7793 s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
7794 next: ptr::null_mut(),
7795 external_memory_properties: ExternalMemoryProperties::default(),
7796 }
7797 }
7798}
7799
7800unsafe impl Send for ExternalImageFormatProperties {}
7801unsafe impl Sync for ExternalImageFormatProperties {}
7802
7803#[repr(C)]
7805#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7806pub struct ExternalImageFormatPropertiesNV {
7807 pub image_format_properties: ImageFormatProperties,
7808 pub external_memory_features: ExternalMemoryFeatureFlagsNV,
7809 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
7810 pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
7811}
7812
7813#[repr(C)]
7815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7816pub struct ExternalMemoryAcquireUnmodifiedEXT {
7817 pub s_type: StructureType,
7818 pub next: *const c_void,
7819 pub acquire_unmodified_memory: Bool32,
7820}
7821
7822impl Default for ExternalMemoryAcquireUnmodifiedEXT {
7823 #[inline]
7824 fn default() -> Self {
7825 Self {
7826 s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
7827 next: ptr::null(),
7828 acquire_unmodified_memory: Bool32::default(),
7829 }
7830 }
7831}
7832
7833unsafe impl Send for ExternalMemoryAcquireUnmodifiedEXT {}
7834unsafe impl Sync for ExternalMemoryAcquireUnmodifiedEXT {}
7835
7836#[repr(C)]
7838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7839pub struct ExternalMemoryBufferCreateInfo {
7840 pub s_type: StructureType,
7841 pub next: *const c_void,
7842 pub handle_types: ExternalMemoryHandleTypeFlags,
7843}
7844
7845impl Default for ExternalMemoryBufferCreateInfo {
7846 #[inline]
7847 fn default() -> Self {
7848 Self {
7849 s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
7850 next: ptr::null(),
7851 handle_types: ExternalMemoryHandleTypeFlags::default(),
7852 }
7853 }
7854}
7855
7856unsafe impl Send for ExternalMemoryBufferCreateInfo {}
7857unsafe impl Sync for ExternalMemoryBufferCreateInfo {}
7858
7859#[repr(C)]
7861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7862pub struct ExternalMemoryImageCreateInfo {
7863 pub s_type: StructureType,
7864 pub next: *const c_void,
7865 pub handle_types: ExternalMemoryHandleTypeFlags,
7866}
7867
7868impl Default for ExternalMemoryImageCreateInfo {
7869 #[inline]
7870 fn default() -> Self {
7871 Self {
7872 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
7873 next: ptr::null(),
7874 handle_types: ExternalMemoryHandleTypeFlags::default(),
7875 }
7876 }
7877}
7878
7879unsafe impl Send for ExternalMemoryImageCreateInfo {}
7880unsafe impl Sync for ExternalMemoryImageCreateInfo {}
7881
7882#[repr(C)]
7884#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7885pub struct ExternalMemoryImageCreateInfoNV {
7886 pub s_type: StructureType,
7887 pub next: *const c_void,
7888 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7889}
7890
7891impl Default for ExternalMemoryImageCreateInfoNV {
7892 #[inline]
7893 fn default() -> Self {
7894 Self {
7895 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
7896 next: ptr::null(),
7897 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7898 }
7899 }
7900}
7901
7902unsafe impl Send for ExternalMemoryImageCreateInfoNV {}
7903unsafe impl Sync for ExternalMemoryImageCreateInfoNV {}
7904
7905#[repr(C)]
7907#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7908pub struct ExternalMemoryProperties {
7909 pub external_memory_features: ExternalMemoryFeatureFlags,
7910 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
7911 pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
7912}
7913
7914#[repr(C)]
7916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7917pub struct ExternalMemoryTensorCreateInfoARM {
7918 pub s_type: StructureType,
7919 pub next: *const c_void,
7920 pub handle_types: ExternalMemoryHandleTypeFlags,
7921}
7922
7923impl Default for ExternalMemoryTensorCreateInfoARM {
7924 #[inline]
7925 fn default() -> Self {
7926 Self {
7927 s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
7928 next: ptr::null(),
7929 handle_types: ExternalMemoryHandleTypeFlags::default(),
7930 }
7931 }
7932}
7933
7934unsafe impl Send for ExternalMemoryTensorCreateInfoARM {}
7935unsafe impl Sync for ExternalMemoryTensorCreateInfoARM {}
7936
7937#[repr(C)]
7939#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7940pub struct ExternalSemaphoreProperties {
7941 pub s_type: StructureType,
7942 pub next: *mut c_void,
7943 pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
7944 pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
7945 pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
7946}
7947
7948impl Default for ExternalSemaphoreProperties {
7949 #[inline]
7950 fn default() -> Self {
7951 Self {
7952 s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
7953 next: ptr::null_mut(),
7954 export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7955 compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7956 external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
7957 }
7958 }
7959}
7960
7961unsafe impl Send for ExternalSemaphoreProperties {}
7962unsafe impl Sync for ExternalSemaphoreProperties {}
7963
7964#[repr(C)]
7966#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7967pub struct ExternalTensorPropertiesARM {
7968 pub s_type: StructureType,
7969 pub next: *const c_void,
7970 pub external_memory_properties: ExternalMemoryProperties,
7971}
7972
7973impl Default for ExternalTensorPropertiesARM {
7974 #[inline]
7975 fn default() -> Self {
7976 Self {
7977 s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
7978 next: ptr::null(),
7979 external_memory_properties: ExternalMemoryProperties::default(),
7980 }
7981 }
7982}
7983
7984unsafe impl Send for ExternalTensorPropertiesARM {}
7985unsafe impl Sync for ExternalTensorPropertiesARM {}
7986
7987#[repr(C)]
7989#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7990pub struct FenceCreateInfo {
7991 pub s_type: StructureType,
7992 pub next: *const c_void,
7993 pub flags: FenceCreateFlags,
7994}
7995
7996impl Default for FenceCreateInfo {
7997 #[inline]
7998 fn default() -> Self {
7999 Self {
8000 s_type: StructureType::FENCE_CREATE_INFO,
8001 next: ptr::null(),
8002 flags: FenceCreateFlags::default(),
8003 }
8004 }
8005}
8006
8007unsafe impl Send for FenceCreateInfo {}
8008unsafe impl Sync for FenceCreateInfo {}
8009
8010#[repr(C)]
8012#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8013pub struct FenceGetFdInfoKHR {
8014 pub s_type: StructureType,
8015 pub next: *const c_void,
8016 pub fence: Fence,
8017 pub handle_type: ExternalFenceHandleTypeFlags,
8018}
8019
8020impl Default for FenceGetFdInfoKHR {
8021 #[inline]
8022 fn default() -> Self {
8023 Self {
8024 s_type: StructureType::FENCE_GET_FD_INFO_KHR,
8025 next: ptr::null(),
8026 fence: Fence::default(),
8027 handle_type: ExternalFenceHandleTypeFlags::default(),
8028 }
8029 }
8030}
8031
8032unsafe impl Send for FenceGetFdInfoKHR {}
8033unsafe impl Sync for FenceGetFdInfoKHR {}
8034
8035#[repr(C)]
8037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8038pub struct FenceGetSciSyncInfoNV {
8039 pub s_type: StructureType,
8040 pub next: *const c_void,
8041 pub fence: Fence,
8042 pub handle_type: ExternalFenceHandleTypeFlags,
8043}
8044
8045impl Default for FenceGetSciSyncInfoNV {
8046 #[inline]
8047 fn default() -> Self {
8048 Self {
8049 s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
8050 next: ptr::null(),
8051 fence: Fence::default(),
8052 handle_type: ExternalFenceHandleTypeFlags::default(),
8053 }
8054 }
8055}
8056
8057unsafe impl Send for FenceGetSciSyncInfoNV {}
8058unsafe impl Sync for FenceGetSciSyncInfoNV {}
8059
8060#[repr(C)]
8062#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8063pub struct FenceGetWin32HandleInfoKHR {
8064 pub s_type: StructureType,
8065 pub next: *const c_void,
8066 pub fence: Fence,
8067 pub handle_type: ExternalFenceHandleTypeFlags,
8068}
8069
8070impl Default for FenceGetWin32HandleInfoKHR {
8071 #[inline]
8072 fn default() -> Self {
8073 Self {
8074 s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
8075 next: ptr::null(),
8076 fence: Fence::default(),
8077 handle_type: ExternalFenceHandleTypeFlags::default(),
8078 }
8079 }
8080}
8081
8082unsafe impl Send for FenceGetWin32HandleInfoKHR {}
8083unsafe impl Sync for FenceGetWin32HandleInfoKHR {}
8084
8085#[repr(C)]
8087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8088pub struct FilterCubicImageViewImageFormatPropertiesEXT {
8089 pub s_type: StructureType,
8090 pub next: *mut c_void,
8091 pub filter_cubic: Bool32,
8092 pub filter_cubic_minmax: Bool32,
8093}
8094
8095impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
8096 #[inline]
8097 fn default() -> Self {
8098 Self {
8099 s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
8100 next: ptr::null_mut(),
8101 filter_cubic: Bool32::default(),
8102 filter_cubic_minmax: Bool32::default(),
8103 }
8104 }
8105}
8106
8107unsafe impl Send for FilterCubicImageViewImageFormatPropertiesEXT {}
8108unsafe impl Sync for FilterCubicImageViewImageFormatPropertiesEXT {}
8109
8110#[repr(C)]
8112#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8113pub struct FormatProperties {
8114 pub linear_tiling_features: FormatFeatureFlags,
8115 pub optimal_tiling_features: FormatFeatureFlags,
8116 pub buffer_features: FormatFeatureFlags,
8117}
8118
8119#[repr(C)]
8121#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8122pub struct FormatProperties2 {
8123 pub s_type: StructureType,
8124 pub next: *mut c_void,
8125 pub format_properties: FormatProperties,
8126}
8127
8128impl Default for FormatProperties2 {
8129 #[inline]
8130 fn default() -> Self {
8131 Self {
8132 s_type: StructureType::FORMAT_PROPERTIES_2,
8133 next: ptr::null_mut(),
8134 format_properties: FormatProperties::default(),
8135 }
8136 }
8137}
8138
8139unsafe impl Send for FormatProperties2 {}
8140unsafe impl Sync for FormatProperties2 {}
8141
8142#[repr(C)]
8144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8145pub struct FormatProperties3 {
8146 pub s_type: StructureType,
8147 pub next: *mut c_void,
8148 pub linear_tiling_features: FormatFeatureFlags2,
8149 pub optimal_tiling_features: FormatFeatureFlags2,
8150 pub buffer_features: FormatFeatureFlags2,
8151}
8152
8153impl Default for FormatProperties3 {
8154 #[inline]
8155 fn default() -> Self {
8156 Self {
8157 s_type: StructureType::FORMAT_PROPERTIES_3,
8158 next: ptr::null_mut(),
8159 linear_tiling_features: FormatFeatureFlags2::default(),
8160 optimal_tiling_features: FormatFeatureFlags2::default(),
8161 buffer_features: FormatFeatureFlags2::default(),
8162 }
8163 }
8164}
8165
8166unsafe impl Send for FormatProperties3 {}
8167unsafe impl Sync for FormatProperties3 {}
8168
8169#[repr(C)]
8171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8172pub struct FragmentShadingRateAttachmentInfoKHR {
8173 pub s_type: StructureType,
8174 pub next: *const c_void,
8175 pub fragment_shading_rate_attachment: *const AttachmentReference2,
8176 pub shading_rate_attachment_texel_size: Extent2D,
8177}
8178
8179impl Default for FragmentShadingRateAttachmentInfoKHR {
8180 #[inline]
8181 fn default() -> Self {
8182 Self {
8183 s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
8184 next: ptr::null(),
8185 fragment_shading_rate_attachment: ptr::null(),
8186 shading_rate_attachment_texel_size: Extent2D::default(),
8187 }
8188 }
8189}
8190
8191unsafe impl Send for FragmentShadingRateAttachmentInfoKHR {}
8192unsafe impl Sync for FragmentShadingRateAttachmentInfoKHR {}
8193
8194#[repr(C)]
8196#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8197pub struct FrameBoundaryEXT {
8198 pub s_type: StructureType,
8199 pub next: *const c_void,
8200 pub flags: FrameBoundaryFlagsEXT,
8201 pub frame_id: u64,
8202 pub image_count: u32,
8203 pub images: *const Image,
8204 pub buffer_count: u32,
8205 pub buffers: *const Buffer,
8206 pub tag_name: u64,
8207 pub tag_size: usize,
8208 pub tag: *const c_void,
8209}
8210
8211impl Default for FrameBoundaryEXT {
8212 #[inline]
8213 fn default() -> Self {
8214 Self {
8215 s_type: StructureType::FRAME_BOUNDARY_EXT,
8216 next: ptr::null(),
8217 flags: FrameBoundaryFlagsEXT::default(),
8218 frame_id: u64::default(),
8219 image_count: u32::default(),
8220 images: ptr::null(),
8221 buffer_count: u32::default(),
8222 buffers: ptr::null(),
8223 tag_name: u64::default(),
8224 tag_size: usize::default(),
8225 tag: ptr::null(),
8226 }
8227 }
8228}
8229
8230unsafe impl Send for FrameBoundaryEXT {}
8231unsafe impl Sync for FrameBoundaryEXT {}
8232
8233#[repr(C)]
8235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8236pub struct FrameBoundaryTensorsARM {
8237 pub s_type: StructureType,
8238 pub next: *const c_void,
8239 pub tensor_count: u32,
8240 pub tensors: *const TensorARM,
8241}
8242
8243impl Default for FrameBoundaryTensorsARM {
8244 #[inline]
8245 fn default() -> Self {
8246 Self {
8247 s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
8248 next: ptr::null(),
8249 tensor_count: u32::default(),
8250 tensors: ptr::null(),
8251 }
8252 }
8253}
8254
8255unsafe impl Send for FrameBoundaryTensorsARM {}
8256unsafe impl Sync for FrameBoundaryTensorsARM {}
8257
8258#[repr(C)]
8260#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8261pub struct FramebufferAttachmentImageInfo {
8262 pub s_type: StructureType,
8263 pub next: *const c_void,
8264 pub flags: ImageCreateFlags,
8265 pub usage: ImageUsageFlags,
8266 pub width: u32,
8267 pub height: u32,
8268 pub layer_count: u32,
8269 pub view_format_count: u32,
8270 pub view_formats: *const Format,
8271}
8272
8273impl Default for FramebufferAttachmentImageInfo {
8274 #[inline]
8275 fn default() -> Self {
8276 Self {
8277 s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
8278 next: ptr::null(),
8279 flags: ImageCreateFlags::default(),
8280 usage: ImageUsageFlags::default(),
8281 width: u32::default(),
8282 height: u32::default(),
8283 layer_count: u32::default(),
8284 view_format_count: u32::default(),
8285 view_formats: ptr::null(),
8286 }
8287 }
8288}
8289
8290unsafe impl Send for FramebufferAttachmentImageInfo {}
8291unsafe impl Sync for FramebufferAttachmentImageInfo {}
8292
8293#[repr(C)]
8295#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8296pub struct FramebufferAttachmentsCreateInfo {
8297 pub s_type: StructureType,
8298 pub next: *const c_void,
8299 pub attachment_image_info_count: u32,
8300 pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
8301}
8302
8303impl Default for FramebufferAttachmentsCreateInfo {
8304 #[inline]
8305 fn default() -> Self {
8306 Self {
8307 s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
8308 next: ptr::null(),
8309 attachment_image_info_count: u32::default(),
8310 attachment_image_infos: ptr::null(),
8311 }
8312 }
8313}
8314
8315unsafe impl Send for FramebufferAttachmentsCreateInfo {}
8316unsafe impl Sync for FramebufferAttachmentsCreateInfo {}
8317
8318#[repr(C)]
8320#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8321pub struct FramebufferCreateInfo {
8322 pub s_type: StructureType,
8323 pub next: *const c_void,
8324 pub flags: FramebufferCreateFlags,
8325 pub render_pass: RenderPass,
8326 pub attachment_count: u32,
8327 pub attachments: *const ImageView,
8328 pub width: u32,
8329 pub height: u32,
8330 pub layers: u32,
8331}
8332
8333impl Default for FramebufferCreateInfo {
8334 #[inline]
8335 fn default() -> Self {
8336 Self {
8337 s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
8338 next: ptr::null(),
8339 flags: FramebufferCreateFlags::default(),
8340 render_pass: RenderPass::default(),
8341 attachment_count: u32::default(),
8342 attachments: ptr::null(),
8343 width: u32::default(),
8344 height: u32::default(),
8345 layers: u32::default(),
8346 }
8347 }
8348}
8349
8350unsafe impl Send for FramebufferCreateInfo {}
8351unsafe impl Sync for FramebufferCreateInfo {}
8352
8353#[repr(C)]
8355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8356pub struct FramebufferMixedSamplesCombinationNV {
8357 pub s_type: StructureType,
8358 pub next: *mut c_void,
8359 pub coverage_reduction_mode: CoverageReductionModeNV,
8360 pub rasterization_samples: SampleCountFlags,
8361 pub depth_stencil_samples: SampleCountFlags,
8362 pub color_samples: SampleCountFlags,
8363}
8364
8365impl Default for FramebufferMixedSamplesCombinationNV {
8366 #[inline]
8367 fn default() -> Self {
8368 Self {
8369 s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
8370 next: ptr::null_mut(),
8371 coverage_reduction_mode: CoverageReductionModeNV::default(),
8372 rasterization_samples: SampleCountFlags::default(),
8373 depth_stencil_samples: SampleCountFlags::default(),
8374 color_samples: SampleCountFlags::default(),
8375 }
8376 }
8377}
8378
8379unsafe impl Send for FramebufferMixedSamplesCombinationNV {}
8380unsafe impl Sync for FramebufferMixedSamplesCombinationNV {}
8381
8382#[repr(C)]
8384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8385pub struct GeneratedCommandsInfoEXT {
8386 pub s_type: StructureType,
8387 pub next: *const c_void,
8388 pub shader_stages: ShaderStageFlags,
8389 pub indirect_execution_set: IndirectExecutionSetEXT,
8390 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8391 pub indirect_address: DeviceAddress,
8392 pub indirect_address_size: DeviceSize,
8393 pub preprocess_address: DeviceAddress,
8394 pub preprocess_size: DeviceSize,
8395 pub max_sequence_count: u32,
8396 pub sequence_count_address: DeviceAddress,
8397 pub max_draw_count: u32,
8398}
8399
8400impl Default for GeneratedCommandsInfoEXT {
8401 #[inline]
8402 fn default() -> Self {
8403 Self {
8404 s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
8405 next: ptr::null(),
8406 shader_stages: ShaderStageFlags::default(),
8407 indirect_execution_set: IndirectExecutionSetEXT::default(),
8408 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8409 indirect_address: DeviceAddress::default(),
8410 indirect_address_size: DeviceSize::default(),
8411 preprocess_address: DeviceAddress::default(),
8412 preprocess_size: DeviceSize::default(),
8413 max_sequence_count: u32::default(),
8414 sequence_count_address: DeviceAddress::default(),
8415 max_draw_count: u32::default(),
8416 }
8417 }
8418}
8419
8420unsafe impl Send for GeneratedCommandsInfoEXT {}
8421unsafe impl Sync for GeneratedCommandsInfoEXT {}
8422
8423#[repr(C)]
8425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8426pub struct GeneratedCommandsInfoNV {
8427 pub s_type: StructureType,
8428 pub next: *const c_void,
8429 pub pipeline_bind_point: PipelineBindPoint,
8430 pub pipeline: Pipeline,
8431 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8432 pub stream_count: u32,
8433 pub streams: *const IndirectCommandsStreamNV,
8434 pub sequences_count: u32,
8435 pub preprocess_buffer: Buffer,
8436 pub preprocess_offset: DeviceSize,
8437 pub preprocess_size: DeviceSize,
8438 pub sequences_count_buffer: Buffer,
8439 pub sequences_count_offset: DeviceSize,
8440 pub sequences_index_buffer: Buffer,
8441 pub sequences_index_offset: DeviceSize,
8442}
8443
8444impl Default for GeneratedCommandsInfoNV {
8445 #[inline]
8446 fn default() -> Self {
8447 Self {
8448 s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
8449 next: ptr::null(),
8450 pipeline_bind_point: PipelineBindPoint::default(),
8451 pipeline: Pipeline::default(),
8452 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8453 stream_count: u32::default(),
8454 streams: ptr::null(),
8455 sequences_count: u32::default(),
8456 preprocess_buffer: Buffer::default(),
8457 preprocess_offset: DeviceSize::default(),
8458 preprocess_size: DeviceSize::default(),
8459 sequences_count_buffer: Buffer::default(),
8460 sequences_count_offset: DeviceSize::default(),
8461 sequences_index_buffer: Buffer::default(),
8462 sequences_index_offset: DeviceSize::default(),
8463 }
8464 }
8465}
8466
8467unsafe impl Send for GeneratedCommandsInfoNV {}
8468unsafe impl Sync for GeneratedCommandsInfoNV {}
8469
8470#[repr(C)]
8472#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8473pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
8474 pub s_type: StructureType,
8475 pub next: *const c_void,
8476 pub indirect_execution_set: IndirectExecutionSetEXT,
8477 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8478 pub max_sequence_count: u32,
8479 pub max_draw_count: u32,
8480}
8481
8482impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
8483 #[inline]
8484 fn default() -> Self {
8485 Self {
8486 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
8487 next: ptr::null(),
8488 indirect_execution_set: IndirectExecutionSetEXT::default(),
8489 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8490 max_sequence_count: u32::default(),
8491 max_draw_count: u32::default(),
8492 }
8493 }
8494}
8495
8496unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoEXT {}
8497unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoEXT {}
8498
8499#[repr(C)]
8501#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8502pub struct GeneratedCommandsMemoryRequirementsInfoNV {
8503 pub s_type: StructureType,
8504 pub next: *const c_void,
8505 pub pipeline_bind_point: PipelineBindPoint,
8506 pub pipeline: Pipeline,
8507 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8508 pub max_sequences_count: u32,
8509}
8510
8511impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
8512 #[inline]
8513 fn default() -> Self {
8514 Self {
8515 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
8516 next: ptr::null(),
8517 pipeline_bind_point: PipelineBindPoint::default(),
8518 pipeline: Pipeline::default(),
8519 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8520 max_sequences_count: u32::default(),
8521 }
8522 }
8523}
8524
8525unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoNV {}
8526unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoNV {}
8527
8528#[repr(C)]
8530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8531pub struct GeneratedCommandsPipelineInfoEXT {
8532 pub s_type: StructureType,
8533 pub next: *mut c_void,
8534 pub pipeline: Pipeline,
8535}
8536
8537impl Default for GeneratedCommandsPipelineInfoEXT {
8538 #[inline]
8539 fn default() -> Self {
8540 Self {
8541 s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
8542 next: ptr::null_mut(),
8543 pipeline: Pipeline::default(),
8544 }
8545 }
8546}
8547
8548unsafe impl Send for GeneratedCommandsPipelineInfoEXT {}
8549unsafe impl Sync for GeneratedCommandsPipelineInfoEXT {}
8550
8551#[repr(C)]
8553#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8554pub struct GeneratedCommandsShaderInfoEXT {
8555 pub s_type: StructureType,
8556 pub next: *mut c_void,
8557 pub shader_count: u32,
8558 pub shaders: *const ShaderEXT,
8559}
8560
8561impl Default for GeneratedCommandsShaderInfoEXT {
8562 #[inline]
8563 fn default() -> Self {
8564 Self {
8565 s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
8566 next: ptr::null_mut(),
8567 shader_count: u32::default(),
8568 shaders: ptr::null(),
8569 }
8570 }
8571}
8572
8573unsafe impl Send for GeneratedCommandsShaderInfoEXT {}
8574unsafe impl Sync for GeneratedCommandsShaderInfoEXT {}
8575
8576#[repr(C)]
8578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8579pub struct GeometryAABBNV {
8580 pub s_type: StructureType,
8581 pub next: *const c_void,
8582 pub aabb_data: Buffer,
8583 pub num_aab_bs: u32,
8584 pub stride: u32,
8585 pub offset: DeviceSize,
8586}
8587
8588impl Default for GeometryAABBNV {
8589 #[inline]
8590 fn default() -> Self {
8591 Self {
8592 s_type: StructureType::GEOMETRY_AABB_NV,
8593 next: ptr::null(),
8594 aabb_data: Buffer::default(),
8595 num_aab_bs: u32::default(),
8596 stride: u32::default(),
8597 offset: DeviceSize::default(),
8598 }
8599 }
8600}
8601
8602unsafe impl Send for GeometryAABBNV {}
8603unsafe impl Sync for GeometryAABBNV {}
8604
8605#[repr(C)]
8607#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8608pub struct GeometryDataNV {
8609 pub triangles: GeometryTrianglesNV,
8610 pub aabbs: GeometryAABBNV,
8611}
8612
8613#[repr(C)]
8615#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8616pub struct GeometryNV {
8617 pub s_type: StructureType,
8618 pub next: *const c_void,
8619 pub geometry_type: GeometryTypeKHR,
8620 pub geometry: GeometryDataNV,
8621 pub flags: GeometryFlagsKHR,
8622}
8623
8624impl Default for GeometryNV {
8625 #[inline]
8626 fn default() -> Self {
8627 Self {
8628 s_type: StructureType::GEOMETRY_NV,
8629 next: ptr::null(),
8630 geometry_type: GeometryTypeKHR::default(),
8631 geometry: GeometryDataNV::default(),
8632 flags: GeometryFlagsKHR::default(),
8633 }
8634 }
8635}
8636
8637unsafe impl Send for GeometryNV {}
8638unsafe impl Sync for GeometryNV {}
8639
8640#[repr(C)]
8642#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8643pub struct GeometryTrianglesNV {
8644 pub s_type: StructureType,
8645 pub next: *const c_void,
8646 pub vertex_data: Buffer,
8647 pub vertex_offset: DeviceSize,
8648 pub vertex_count: u32,
8649 pub vertex_stride: DeviceSize,
8650 pub vertex_format: Format,
8651 pub index_data: Buffer,
8652 pub index_offset: DeviceSize,
8653 pub index_count: u32,
8654 pub index_type: IndexType,
8655 pub transform_data: Buffer,
8656 pub transform_offset: DeviceSize,
8657}
8658
8659impl Default for GeometryTrianglesNV {
8660 #[inline]
8661 fn default() -> Self {
8662 Self {
8663 s_type: StructureType::GEOMETRY_TRIANGLES_NV,
8664 next: ptr::null(),
8665 vertex_data: Buffer::default(),
8666 vertex_offset: DeviceSize::default(),
8667 vertex_count: u32::default(),
8668 vertex_stride: DeviceSize::default(),
8669 vertex_format: Format::default(),
8670 index_data: Buffer::default(),
8671 index_offset: DeviceSize::default(),
8672 index_count: u32::default(),
8673 index_type: IndexType::default(),
8674 transform_data: Buffer::default(),
8675 transform_offset: DeviceSize::default(),
8676 }
8677 }
8678}
8679
8680unsafe impl Send for GeometryTrianglesNV {}
8681unsafe impl Sync for GeometryTrianglesNV {}
8682
8683#[repr(C)]
8685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8686pub struct GetLatencyMarkerInfoNV {
8687 pub s_type: StructureType,
8688 pub next: *const c_void,
8689 pub timing_count: u32,
8690 pub timings: *mut LatencyTimingsFrameReportNV,
8691}
8692
8693impl Default for GetLatencyMarkerInfoNV {
8694 #[inline]
8695 fn default() -> Self {
8696 Self {
8697 s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
8698 next: ptr::null(),
8699 timing_count: u32::default(),
8700 timings: ptr::null_mut(),
8701 }
8702 }
8703}
8704
8705unsafe impl Send for GetLatencyMarkerInfoNV {}
8706unsafe impl Sync for GetLatencyMarkerInfoNV {}
8707
8708#[repr(C)]
8710#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8711pub struct GraphicsPipelineCreateInfo {
8712 pub s_type: StructureType,
8713 pub next: *const c_void,
8714 pub flags: PipelineCreateFlags,
8715 pub stage_count: u32,
8716 pub stages: *const PipelineShaderStageCreateInfo,
8717 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8718 pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
8719 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8720 pub viewport_state: *const PipelineViewportStateCreateInfo,
8721 pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
8722 pub multisample_state: *const PipelineMultisampleStateCreateInfo,
8723 pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
8724 pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
8725 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
8726 pub layout: PipelineLayout,
8727 pub render_pass: RenderPass,
8728 pub subpass: u32,
8729 pub base_pipeline_handle: Pipeline,
8730 pub base_pipeline_index: i32,
8731}
8732
8733impl Default for GraphicsPipelineCreateInfo {
8734 #[inline]
8735 fn default() -> Self {
8736 Self {
8737 s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
8738 next: ptr::null(),
8739 flags: PipelineCreateFlags::default(),
8740 stage_count: u32::default(),
8741 stages: ptr::null(),
8742 vertex_input_state: ptr::null(),
8743 input_assembly_state: ptr::null(),
8744 tessellation_state: ptr::null(),
8745 viewport_state: ptr::null(),
8746 rasterization_state: ptr::null(),
8747 multisample_state: ptr::null(),
8748 depth_stencil_state: ptr::null(),
8749 color_blend_state: ptr::null(),
8750 dynamic_state: ptr::null(),
8751 layout: PipelineLayout::default(),
8752 render_pass: RenderPass::default(),
8753 subpass: u32::default(),
8754 base_pipeline_handle: Pipeline::default(),
8755 base_pipeline_index: i32::default(),
8756 }
8757 }
8758}
8759
8760unsafe impl Send for GraphicsPipelineCreateInfo {}
8761unsafe impl Sync for GraphicsPipelineCreateInfo {}
8762
8763#[repr(C)]
8765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8766pub struct GraphicsPipelineLibraryCreateInfoEXT {
8767 pub s_type: StructureType,
8768 pub next: *const c_void,
8769 pub flags: GraphicsPipelineLibraryFlagsEXT,
8770}
8771
8772impl Default for GraphicsPipelineLibraryCreateInfoEXT {
8773 #[inline]
8774 fn default() -> Self {
8775 Self {
8776 s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
8777 next: ptr::null(),
8778 flags: GraphicsPipelineLibraryFlagsEXT::default(),
8779 }
8780 }
8781}
8782
8783unsafe impl Send for GraphicsPipelineLibraryCreateInfoEXT {}
8784unsafe impl Sync for GraphicsPipelineLibraryCreateInfoEXT {}
8785
8786#[repr(C)]
8788#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8789pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
8790 pub s_type: StructureType,
8791 pub next: *const c_void,
8792 pub group_count: u32,
8793 pub groups: *const GraphicsShaderGroupCreateInfoNV,
8794 pub pipeline_count: u32,
8795 pub pipelines: *const Pipeline,
8796}
8797
8798impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
8799 #[inline]
8800 fn default() -> Self {
8801 Self {
8802 s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
8803 next: ptr::null(),
8804 group_count: u32::default(),
8805 groups: ptr::null(),
8806 pipeline_count: u32::default(),
8807 pipelines: ptr::null(),
8808 }
8809 }
8810}
8811
8812unsafe impl Send for GraphicsPipelineShaderGroupsCreateInfoNV {}
8813unsafe impl Sync for GraphicsPipelineShaderGroupsCreateInfoNV {}
8814
8815#[repr(C)]
8817#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8818pub struct GraphicsShaderGroupCreateInfoNV {
8819 pub s_type: StructureType,
8820 pub next: *const c_void,
8821 pub stage_count: u32,
8822 pub stages: *const PipelineShaderStageCreateInfo,
8823 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8824 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8825}
8826
8827impl Default for GraphicsShaderGroupCreateInfoNV {
8828 #[inline]
8829 fn default() -> Self {
8830 Self {
8831 s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
8832 next: ptr::null(),
8833 stage_count: u32::default(),
8834 stages: ptr::null(),
8835 vertex_input_state: ptr::null(),
8836 tessellation_state: ptr::null(),
8837 }
8838 }
8839}
8840
8841unsafe impl Send for GraphicsShaderGroupCreateInfoNV {}
8842unsafe impl Sync for GraphicsShaderGroupCreateInfoNV {}
8843
8844#[repr(C)]
8846#[derive(Copy, Clone, Debug, PartialEq)]
8847pub struct HdrMetadataEXT {
8848 pub s_type: StructureType,
8849 pub next: *const c_void,
8850 pub display_primary_red: XYColorEXT,
8851 pub display_primary_green: XYColorEXT,
8852 pub display_primary_blue: XYColorEXT,
8853 pub white_point: XYColorEXT,
8854 pub max_luminance: f32,
8855 pub min_luminance: f32,
8856 pub max_content_light_level: f32,
8857 pub max_frame_average_light_level: f32,
8858}
8859
8860impl Default for HdrMetadataEXT {
8861 #[inline]
8862 fn default() -> Self {
8863 Self {
8864 s_type: StructureType::HDR_METADATA_EXT,
8865 next: ptr::null(),
8866 display_primary_red: XYColorEXT::default(),
8867 display_primary_green: XYColorEXT::default(),
8868 display_primary_blue: XYColorEXT::default(),
8869 white_point: XYColorEXT::default(),
8870 max_luminance: f32::default(),
8871 min_luminance: f32::default(),
8872 max_content_light_level: f32::default(),
8873 max_frame_average_light_level: f32::default(),
8874 }
8875 }
8876}
8877
8878unsafe impl Send for HdrMetadataEXT {}
8879unsafe impl Sync for HdrMetadataEXT {}
8880
8881#[repr(C)]
8883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8884pub struct HdrVividDynamicMetadataHUAWEI {
8885 pub s_type: StructureType,
8886 pub next: *const c_void,
8887 pub dynamic_metadata_size: usize,
8888 pub dynamic_metadata: *const c_void,
8889}
8890
8891impl Default for HdrVividDynamicMetadataHUAWEI {
8892 #[inline]
8893 fn default() -> Self {
8894 Self {
8895 s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
8896 next: ptr::null(),
8897 dynamic_metadata_size: usize::default(),
8898 dynamic_metadata: ptr::null(),
8899 }
8900 }
8901}
8902
8903unsafe impl Send for HdrVividDynamicMetadataHUAWEI {}
8904unsafe impl Sync for HdrVividDynamicMetadataHUAWEI {}
8905
8906#[repr(C)]
8908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8909pub struct HeadlessSurfaceCreateInfoEXT {
8910 pub s_type: StructureType,
8911 pub next: *const c_void,
8912 pub flags: HeadlessSurfaceCreateFlagsEXT,
8913}
8914
8915impl Default for HeadlessSurfaceCreateInfoEXT {
8916 #[inline]
8917 fn default() -> Self {
8918 Self {
8919 s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
8920 next: ptr::null(),
8921 flags: HeadlessSurfaceCreateFlagsEXT::default(),
8922 }
8923 }
8924}
8925
8926unsafe impl Send for HeadlessSurfaceCreateInfoEXT {}
8927unsafe impl Sync for HeadlessSurfaceCreateInfoEXT {}
8928
8929#[repr(C)]
8931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8932pub struct HostImageCopyDevicePerformanceQuery {
8933 pub s_type: StructureType,
8934 pub next: *mut c_void,
8935 pub optimal_device_access: Bool32,
8936 pub identical_memory_layout: Bool32,
8937}
8938
8939impl Default for HostImageCopyDevicePerformanceQuery {
8940 #[inline]
8941 fn default() -> Self {
8942 Self {
8943 s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
8944 next: ptr::null_mut(),
8945 optimal_device_access: Bool32::default(),
8946 identical_memory_layout: Bool32::default(),
8947 }
8948 }
8949}
8950
8951unsafe impl Send for HostImageCopyDevicePerformanceQuery {}
8952unsafe impl Sync for HostImageCopyDevicePerformanceQuery {}
8953
8954#[repr(C)]
8956#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8957pub struct HostImageLayoutTransitionInfo {
8958 pub s_type: StructureType,
8959 pub next: *const c_void,
8960 pub image: Image,
8961 pub old_layout: ImageLayout,
8962 pub new_layout: ImageLayout,
8963 pub subresource_range: ImageSubresourceRange,
8964}
8965
8966impl Default for HostImageLayoutTransitionInfo {
8967 #[inline]
8968 fn default() -> Self {
8969 Self {
8970 s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
8971 next: ptr::null(),
8972 image: Image::default(),
8973 old_layout: ImageLayout::default(),
8974 new_layout: ImageLayout::default(),
8975 subresource_range: ImageSubresourceRange::default(),
8976 }
8977 }
8978}
8979
8980unsafe impl Send for HostImageLayoutTransitionInfo {}
8981unsafe impl Sync for HostImageLayoutTransitionInfo {}
8982
8983#[repr(C)]
8985#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8986pub struct IOSSurfaceCreateInfoMVK {
8987 pub s_type: StructureType,
8988 pub next: *const c_void,
8989 pub flags: IOSSurfaceCreateFlagsMVK,
8990 pub view: *const c_void,
8991}
8992
8993impl Default for IOSSurfaceCreateInfoMVK {
8994 #[inline]
8995 fn default() -> Self {
8996 Self {
8997 s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
8998 next: ptr::null(),
8999 flags: IOSSurfaceCreateFlagsMVK::default(),
9000 view: ptr::null(),
9001 }
9002 }
9003}
9004
9005unsafe impl Send for IOSSurfaceCreateInfoMVK {}
9006unsafe impl Sync for IOSSurfaceCreateInfoMVK {}
9007
9008#[repr(C)]
9010#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9011pub struct ImageAlignmentControlCreateInfoMESA {
9012 pub s_type: StructureType,
9013 pub next: *const c_void,
9014 pub maximum_requested_alignment: u32,
9015}
9016
9017impl Default for ImageAlignmentControlCreateInfoMESA {
9018 #[inline]
9019 fn default() -> Self {
9020 Self {
9021 s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
9022 next: ptr::null(),
9023 maximum_requested_alignment: u32::default(),
9024 }
9025 }
9026}
9027
9028unsafe impl Send for ImageAlignmentControlCreateInfoMESA {}
9029unsafe impl Sync for ImageAlignmentControlCreateInfoMESA {}
9030
9031#[repr(C)]
9033#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9034pub struct ImageBlit {
9035 pub src_subresource: ImageSubresourceLayers,
9036 pub src_offsets: [Offset3D; 2],
9037 pub dst_subresource: ImageSubresourceLayers,
9038 pub dst_offsets: [Offset3D; 2],
9039}
9040
9041#[repr(C)]
9043#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9044pub struct ImageBlit2 {
9045 pub s_type: StructureType,
9046 pub next: *const c_void,
9047 pub src_subresource: ImageSubresourceLayers,
9048 pub src_offsets: [Offset3D; 2],
9049 pub dst_subresource: ImageSubresourceLayers,
9050 pub dst_offsets: [Offset3D; 2],
9051}
9052
9053impl Default for ImageBlit2 {
9054 #[inline]
9055 fn default() -> Self {
9056 Self {
9057 s_type: StructureType::IMAGE_BLIT_2,
9058 next: ptr::null(),
9059 src_subresource: ImageSubresourceLayers::default(),
9060 src_offsets: [Offset3D::default(); 2],
9061 dst_subresource: ImageSubresourceLayers::default(),
9062 dst_offsets: [Offset3D::default(); 2],
9063 }
9064 }
9065}
9066
9067unsafe impl Send for ImageBlit2 {}
9068unsafe impl Sync for ImageBlit2 {}
9069
9070#[repr(C)]
9072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9073pub struct ImageCaptureDescriptorDataInfoEXT {
9074 pub s_type: StructureType,
9075 pub next: *const c_void,
9076 pub image: Image,
9077}
9078
9079impl Default for ImageCaptureDescriptorDataInfoEXT {
9080 #[inline]
9081 fn default() -> Self {
9082 Self {
9083 s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9084 next: ptr::null(),
9085 image: Image::default(),
9086 }
9087 }
9088}
9089
9090unsafe impl Send for ImageCaptureDescriptorDataInfoEXT {}
9091unsafe impl Sync for ImageCaptureDescriptorDataInfoEXT {}
9092
9093#[repr(C)]
9095#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9096pub struct ImageCompressionControlEXT {
9097 pub s_type: StructureType,
9098 pub next: *const c_void,
9099 pub flags: ImageCompressionFlagsEXT,
9100 pub compression_control_plane_count: u32,
9101 pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
9102}
9103
9104impl Default for ImageCompressionControlEXT {
9105 #[inline]
9106 fn default() -> Self {
9107 Self {
9108 s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
9109 next: ptr::null(),
9110 flags: ImageCompressionFlagsEXT::default(),
9111 compression_control_plane_count: u32::default(),
9112 fixed_rate_flags: ptr::null_mut(),
9113 }
9114 }
9115}
9116
9117unsafe impl Send for ImageCompressionControlEXT {}
9118unsafe impl Sync for ImageCompressionControlEXT {}
9119
9120#[repr(C)]
9122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9123pub struct ImageCompressionPropertiesEXT {
9124 pub s_type: StructureType,
9125 pub next: *mut c_void,
9126 pub image_compression_flags: ImageCompressionFlagsEXT,
9127 pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
9128}
9129
9130impl Default for ImageCompressionPropertiesEXT {
9131 #[inline]
9132 fn default() -> Self {
9133 Self {
9134 s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
9135 next: ptr::null_mut(),
9136 image_compression_flags: ImageCompressionFlagsEXT::default(),
9137 image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
9138 }
9139 }
9140}
9141
9142unsafe impl Send for ImageCompressionPropertiesEXT {}
9143unsafe impl Sync for ImageCompressionPropertiesEXT {}
9144
9145#[repr(C)]
9147#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9148pub struct ImageConstraintsInfoFUCHSIA {
9149 pub s_type: StructureType,
9150 pub next: *const c_void,
9151 pub format_constraints_count: u32,
9152 pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
9153 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
9154 pub flags: ImageConstraintsInfoFlagsFUCHSIA,
9155}
9156
9157impl Default for ImageConstraintsInfoFUCHSIA {
9158 #[inline]
9159 fn default() -> Self {
9160 Self {
9161 s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
9162 next: ptr::null(),
9163 format_constraints_count: u32::default(),
9164 format_constraints: ptr::null(),
9165 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
9166 flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
9167 }
9168 }
9169}
9170
9171unsafe impl Send for ImageConstraintsInfoFUCHSIA {}
9172unsafe impl Sync for ImageConstraintsInfoFUCHSIA {}
9173
9174#[repr(C)]
9176#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9177pub struct ImageCopy {
9178 pub src_subresource: ImageSubresourceLayers,
9179 pub src_offset: Offset3D,
9180 pub dst_subresource: ImageSubresourceLayers,
9181 pub dst_offset: Offset3D,
9182 pub extent: Extent3D,
9183}
9184
9185#[repr(C)]
9187#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9188pub struct ImageCopy2 {
9189 pub s_type: StructureType,
9190 pub next: *const c_void,
9191 pub src_subresource: ImageSubresourceLayers,
9192 pub src_offset: Offset3D,
9193 pub dst_subresource: ImageSubresourceLayers,
9194 pub dst_offset: Offset3D,
9195 pub extent: Extent3D,
9196}
9197
9198impl Default for ImageCopy2 {
9199 #[inline]
9200 fn default() -> Self {
9201 Self {
9202 s_type: StructureType::IMAGE_COPY_2,
9203 next: ptr::null(),
9204 src_subresource: ImageSubresourceLayers::default(),
9205 src_offset: Offset3D::default(),
9206 dst_subresource: ImageSubresourceLayers::default(),
9207 dst_offset: Offset3D::default(),
9208 extent: Extent3D::default(),
9209 }
9210 }
9211}
9212
9213unsafe impl Send for ImageCopy2 {}
9214unsafe impl Sync for ImageCopy2 {}
9215
9216#[repr(C)]
9218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9219pub struct ImageCreateInfo {
9220 pub s_type: StructureType,
9221 pub next: *const c_void,
9222 pub flags: ImageCreateFlags,
9223 pub image_type: ImageType,
9224 pub format: Format,
9225 pub extent: Extent3D,
9226 pub mip_levels: u32,
9227 pub array_layers: u32,
9228 pub samples: SampleCountFlags,
9229 pub tiling: ImageTiling,
9230 pub usage: ImageUsageFlags,
9231 pub sharing_mode: SharingMode,
9232 pub queue_family_index_count: u32,
9233 pub queue_family_indices: *const u32,
9234 pub initial_layout: ImageLayout,
9235}
9236
9237impl Default for ImageCreateInfo {
9238 #[inline]
9239 fn default() -> Self {
9240 Self {
9241 s_type: StructureType::IMAGE_CREATE_INFO,
9242 next: ptr::null(),
9243 flags: ImageCreateFlags::default(),
9244 image_type: ImageType::default(),
9245 format: Format::default(),
9246 extent: Extent3D::default(),
9247 mip_levels: u32::default(),
9248 array_layers: u32::default(),
9249 samples: SampleCountFlags::default(),
9250 tiling: ImageTiling::default(),
9251 usage: ImageUsageFlags::default(),
9252 sharing_mode: SharingMode::default(),
9253 queue_family_index_count: u32::default(),
9254 queue_family_indices: ptr::null(),
9255 initial_layout: ImageLayout::default(),
9256 }
9257 }
9258}
9259
9260unsafe impl Send for ImageCreateInfo {}
9261unsafe impl Sync for ImageCreateInfo {}
9262
9263#[repr(C)]
9265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9266pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
9267 pub s_type: StructureType,
9268 pub next: *const c_void,
9269 pub drm_format_modifier: u64,
9270 pub drm_format_modifier_plane_count: u32,
9271 pub plane_layouts: *const SubresourceLayout,
9272}
9273
9274impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
9275 #[inline]
9276 fn default() -> Self {
9277 Self {
9278 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
9279 next: ptr::null(),
9280 drm_format_modifier: u64::default(),
9281 drm_format_modifier_plane_count: u32::default(),
9282 plane_layouts: ptr::null(),
9283 }
9284 }
9285}
9286
9287unsafe impl Send for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9288unsafe impl Sync for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9289
9290#[repr(C)]
9292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9293pub struct ImageDrmFormatModifierListCreateInfoEXT {
9294 pub s_type: StructureType,
9295 pub next: *const c_void,
9296 pub drm_format_modifier_count: u32,
9297 pub drm_format_modifiers: *const u64,
9298}
9299
9300impl Default for ImageDrmFormatModifierListCreateInfoEXT {
9301 #[inline]
9302 fn default() -> Self {
9303 Self {
9304 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
9305 next: ptr::null(),
9306 drm_format_modifier_count: u32::default(),
9307 drm_format_modifiers: ptr::null(),
9308 }
9309 }
9310}
9311
9312unsafe impl Send for ImageDrmFormatModifierListCreateInfoEXT {}
9313unsafe impl Sync for ImageDrmFormatModifierListCreateInfoEXT {}
9314
9315#[repr(C)]
9317#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9318pub struct ImageDrmFormatModifierPropertiesEXT {
9319 pub s_type: StructureType,
9320 pub next: *mut c_void,
9321 pub drm_format_modifier: u64,
9322}
9323
9324impl Default for ImageDrmFormatModifierPropertiesEXT {
9325 #[inline]
9326 fn default() -> Self {
9327 Self {
9328 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
9329 next: ptr::null_mut(),
9330 drm_format_modifier: u64::default(),
9331 }
9332 }
9333}
9334
9335unsafe impl Send for ImageDrmFormatModifierPropertiesEXT {}
9336unsafe impl Sync for ImageDrmFormatModifierPropertiesEXT {}
9337
9338#[repr(C)]
9340#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9341pub struct ImageFormatConstraintsInfoFUCHSIA {
9342 pub s_type: StructureType,
9343 pub next: *const c_void,
9344 pub image_create_info: ImageCreateInfo,
9345 pub required_format_features: FormatFeatureFlags,
9346 pub flags: ImageFormatConstraintsFlagsFUCHSIA,
9347 pub sysmem_pixel_format: u64,
9348 pub color_space_count: u32,
9349 pub color_spaces: *const SysmemColorSpaceFUCHSIA,
9350}
9351
9352impl Default for ImageFormatConstraintsInfoFUCHSIA {
9353 #[inline]
9354 fn default() -> Self {
9355 Self {
9356 s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
9357 next: ptr::null(),
9358 image_create_info: ImageCreateInfo::default(),
9359 required_format_features: FormatFeatureFlags::default(),
9360 flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
9361 sysmem_pixel_format: u64::default(),
9362 color_space_count: u32::default(),
9363 color_spaces: ptr::null(),
9364 }
9365 }
9366}
9367
9368unsafe impl Send for ImageFormatConstraintsInfoFUCHSIA {}
9369unsafe impl Sync for ImageFormatConstraintsInfoFUCHSIA {}
9370
9371#[repr(C)]
9373#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9374pub struct ImageFormatListCreateInfo {
9375 pub s_type: StructureType,
9376 pub next: *const c_void,
9377 pub view_format_count: u32,
9378 pub view_formats: *const Format,
9379}
9380
9381impl Default for ImageFormatListCreateInfo {
9382 #[inline]
9383 fn default() -> Self {
9384 Self {
9385 s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
9386 next: ptr::null(),
9387 view_format_count: u32::default(),
9388 view_formats: ptr::null(),
9389 }
9390 }
9391}
9392
9393unsafe impl Send for ImageFormatListCreateInfo {}
9394unsafe impl Sync for ImageFormatListCreateInfo {}
9395
9396#[repr(C)]
9398#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9399pub struct ImageFormatProperties {
9400 pub max_extent: Extent3D,
9401 pub max_mip_levels: u32,
9402 pub max_array_layers: u32,
9403 pub sample_counts: SampleCountFlags,
9404 pub max_resource_size: DeviceSize,
9405}
9406
9407#[repr(C)]
9409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9410pub struct ImageFormatProperties2 {
9411 pub s_type: StructureType,
9412 pub next: *mut c_void,
9413 pub image_format_properties: ImageFormatProperties,
9414}
9415
9416impl Default for ImageFormatProperties2 {
9417 #[inline]
9418 fn default() -> Self {
9419 Self {
9420 s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
9421 next: ptr::null_mut(),
9422 image_format_properties: ImageFormatProperties::default(),
9423 }
9424 }
9425}
9426
9427unsafe impl Send for ImageFormatProperties2 {}
9428unsafe impl Sync for ImageFormatProperties2 {}
9429
9430#[repr(C)]
9432#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9433pub struct ImageMemoryBarrier {
9434 pub s_type: StructureType,
9435 pub next: *const c_void,
9436 pub src_access_mask: AccessFlags,
9437 pub dst_access_mask: AccessFlags,
9438 pub old_layout: ImageLayout,
9439 pub new_layout: ImageLayout,
9440 pub src_queue_family_index: u32,
9441 pub dst_queue_family_index: u32,
9442 pub image: Image,
9443 pub subresource_range: ImageSubresourceRange,
9444}
9445
9446impl Default for ImageMemoryBarrier {
9447 #[inline]
9448 fn default() -> Self {
9449 Self {
9450 s_type: StructureType::IMAGE_MEMORY_BARRIER,
9451 next: ptr::null(),
9452 src_access_mask: AccessFlags::default(),
9453 dst_access_mask: AccessFlags::default(),
9454 old_layout: ImageLayout::default(),
9455 new_layout: ImageLayout::default(),
9456 src_queue_family_index: u32::default(),
9457 dst_queue_family_index: u32::default(),
9458 image: Image::default(),
9459 subresource_range: ImageSubresourceRange::default(),
9460 }
9461 }
9462}
9463
9464unsafe impl Send for ImageMemoryBarrier {}
9465unsafe impl Sync for ImageMemoryBarrier {}
9466
9467#[repr(C)]
9469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9470pub struct ImageMemoryBarrier2 {
9471 pub s_type: StructureType,
9472 pub next: *const c_void,
9473 pub src_stage_mask: PipelineStageFlags2,
9474 pub src_access_mask: AccessFlags2,
9475 pub dst_stage_mask: PipelineStageFlags2,
9476 pub dst_access_mask: AccessFlags2,
9477 pub old_layout: ImageLayout,
9478 pub new_layout: ImageLayout,
9479 pub src_queue_family_index: u32,
9480 pub dst_queue_family_index: u32,
9481 pub image: Image,
9482 pub subresource_range: ImageSubresourceRange,
9483}
9484
9485impl Default for ImageMemoryBarrier2 {
9486 #[inline]
9487 fn default() -> Self {
9488 Self {
9489 s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
9490 next: ptr::null(),
9491 src_stage_mask: PipelineStageFlags2::default(),
9492 src_access_mask: AccessFlags2::default(),
9493 dst_stage_mask: PipelineStageFlags2::default(),
9494 dst_access_mask: AccessFlags2::default(),
9495 old_layout: ImageLayout::default(),
9496 new_layout: ImageLayout::default(),
9497 src_queue_family_index: u32::default(),
9498 dst_queue_family_index: u32::default(),
9499 image: Image::default(),
9500 subresource_range: ImageSubresourceRange::default(),
9501 }
9502 }
9503}
9504
9505unsafe impl Send for ImageMemoryBarrier2 {}
9506unsafe impl Sync for ImageMemoryBarrier2 {}
9507
9508#[repr(C)]
9510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9511pub struct ImageMemoryRequirementsInfo2 {
9512 pub s_type: StructureType,
9513 pub next: *const c_void,
9514 pub image: Image,
9515}
9516
9517impl Default for ImageMemoryRequirementsInfo2 {
9518 #[inline]
9519 fn default() -> Self {
9520 Self {
9521 s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
9522 next: ptr::null(),
9523 image: Image::default(),
9524 }
9525 }
9526}
9527
9528unsafe impl Send for ImageMemoryRequirementsInfo2 {}
9529unsafe impl Sync for ImageMemoryRequirementsInfo2 {}
9530
9531#[repr(C)]
9533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9534pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
9535 pub s_type: StructureType,
9536 pub next: *const c_void,
9537 pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
9538 pub image_pipe_handle: zx_handle_t,
9539}
9540
9541impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
9542 #[inline]
9543 fn default() -> Self {
9544 Self {
9545 s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
9546 next: ptr::null(),
9547 flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
9548 image_pipe_handle: zx_handle_t::default(),
9549 }
9550 }
9551}
9552
9553unsafe impl Send for ImagePipeSurfaceCreateInfoFUCHSIA {}
9554unsafe impl Sync for ImagePipeSurfaceCreateInfoFUCHSIA {}
9555
9556#[repr(C)]
9558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9559pub struct ImagePlaneMemoryRequirementsInfo {
9560 pub s_type: StructureType,
9561 pub next: *const c_void,
9562 pub plane_aspect: ImageAspectFlags,
9563}
9564
9565impl Default for ImagePlaneMemoryRequirementsInfo {
9566 #[inline]
9567 fn default() -> Self {
9568 Self {
9569 s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
9570 next: ptr::null(),
9571 plane_aspect: ImageAspectFlags::default(),
9572 }
9573 }
9574}
9575
9576unsafe impl Send for ImagePlaneMemoryRequirementsInfo {}
9577unsafe impl Sync for ImagePlaneMemoryRequirementsInfo {}
9578
9579#[repr(C)]
9581#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9582pub struct ImageResolve {
9583 pub src_subresource: ImageSubresourceLayers,
9584 pub src_offset: Offset3D,
9585 pub dst_subresource: ImageSubresourceLayers,
9586 pub dst_offset: Offset3D,
9587 pub extent: Extent3D,
9588}
9589
9590#[repr(C)]
9592#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9593pub struct ImageResolve2 {
9594 pub s_type: StructureType,
9595 pub next: *const c_void,
9596 pub src_subresource: ImageSubresourceLayers,
9597 pub src_offset: Offset3D,
9598 pub dst_subresource: ImageSubresourceLayers,
9599 pub dst_offset: Offset3D,
9600 pub extent: Extent3D,
9601}
9602
9603impl Default for ImageResolve2 {
9604 #[inline]
9605 fn default() -> Self {
9606 Self {
9607 s_type: StructureType::IMAGE_RESOLVE_2,
9608 next: ptr::null(),
9609 src_subresource: ImageSubresourceLayers::default(),
9610 src_offset: Offset3D::default(),
9611 dst_subresource: ImageSubresourceLayers::default(),
9612 dst_offset: Offset3D::default(),
9613 extent: Extent3D::default(),
9614 }
9615 }
9616}
9617
9618unsafe impl Send for ImageResolve2 {}
9619unsafe impl Sync for ImageResolve2 {}
9620
9621#[repr(C)]
9623#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9624pub struct ImageSparseMemoryRequirementsInfo2 {
9625 pub s_type: StructureType,
9626 pub next: *const c_void,
9627 pub image: Image,
9628}
9629
9630impl Default for ImageSparseMemoryRequirementsInfo2 {
9631 #[inline]
9632 fn default() -> Self {
9633 Self {
9634 s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
9635 next: ptr::null(),
9636 image: Image::default(),
9637 }
9638 }
9639}
9640
9641unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {}
9642unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {}
9643
9644#[repr(C)]
9646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9647pub struct ImageStencilUsageCreateInfo {
9648 pub s_type: StructureType,
9649 pub next: *const c_void,
9650 pub stencil_usage: ImageUsageFlags,
9651}
9652
9653impl Default for ImageStencilUsageCreateInfo {
9654 #[inline]
9655 fn default() -> Self {
9656 Self {
9657 s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
9658 next: ptr::null(),
9659 stencil_usage: ImageUsageFlags::default(),
9660 }
9661 }
9662}
9663
9664unsafe impl Send for ImageStencilUsageCreateInfo {}
9665unsafe impl Sync for ImageStencilUsageCreateInfo {}
9666
9667#[repr(C)]
9669#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9670pub struct ImageSubresource {
9671 pub aspect_mask: ImageAspectFlags,
9672 pub mip_level: u32,
9673 pub array_layer: u32,
9674}
9675
9676#[repr(C)]
9678#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9679pub struct ImageSubresource2 {
9680 pub s_type: StructureType,
9681 pub next: *mut c_void,
9682 pub image_subresource: ImageSubresource,
9683}
9684
9685impl Default for ImageSubresource2 {
9686 #[inline]
9687 fn default() -> Self {
9688 Self {
9689 s_type: StructureType::IMAGE_SUBRESOURCE_2,
9690 next: ptr::null_mut(),
9691 image_subresource: ImageSubresource::default(),
9692 }
9693 }
9694}
9695
9696unsafe impl Send for ImageSubresource2 {}
9697unsafe impl Sync for ImageSubresource2 {}
9698
9699#[repr(C)]
9701#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9702pub struct ImageSubresourceLayers {
9703 pub aspect_mask: ImageAspectFlags,
9704 pub mip_level: u32,
9705 pub base_array_layer: u32,
9706 pub layer_count: u32,
9707}
9708
9709#[repr(C)]
9711#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9712pub struct ImageSubresourceRange {
9713 pub aspect_mask: ImageAspectFlags,
9714 pub base_mip_level: u32,
9715 pub level_count: u32,
9716 pub base_array_layer: u32,
9717 pub layer_count: u32,
9718}
9719
9720#[repr(C)]
9722#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9723pub struct ImageSwapchainCreateInfoKHR {
9724 pub s_type: StructureType,
9725 pub next: *const c_void,
9726 pub swapchain: SwapchainKHR,
9727}
9728
9729impl Default for ImageSwapchainCreateInfoKHR {
9730 #[inline]
9731 fn default() -> Self {
9732 Self {
9733 s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
9734 next: ptr::null(),
9735 swapchain: SwapchainKHR::default(),
9736 }
9737 }
9738}
9739
9740unsafe impl Send for ImageSwapchainCreateInfoKHR {}
9741unsafe impl Sync for ImageSwapchainCreateInfoKHR {}
9742
9743#[repr(C)]
9745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9746pub struct ImageToMemoryCopy {
9747 pub s_type: StructureType,
9748 pub next: *const c_void,
9749 pub host_pointer: *mut c_void,
9750 pub memory_row_length: u32,
9751 pub memory_image_height: u32,
9752 pub image_subresource: ImageSubresourceLayers,
9753 pub image_offset: Offset3D,
9754 pub image_extent: Extent3D,
9755}
9756
9757impl Default for ImageToMemoryCopy {
9758 #[inline]
9759 fn default() -> Self {
9760 Self {
9761 s_type: StructureType::IMAGE_TO_MEMORY_COPY,
9762 next: ptr::null(),
9763 host_pointer: ptr::null_mut(),
9764 memory_row_length: u32::default(),
9765 memory_image_height: u32::default(),
9766 image_subresource: ImageSubresourceLayers::default(),
9767 image_offset: Offset3D::default(),
9768 image_extent: Extent3D::default(),
9769 }
9770 }
9771}
9772
9773unsafe impl Send for ImageToMemoryCopy {}
9774unsafe impl Sync for ImageToMemoryCopy {}
9775
9776#[repr(C)]
9778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9779pub struct ImageViewASTCDecodeModeEXT {
9780 pub s_type: StructureType,
9781 pub next: *const c_void,
9782 pub decode_mode: Format,
9783}
9784
9785impl Default for ImageViewASTCDecodeModeEXT {
9786 #[inline]
9787 fn default() -> Self {
9788 Self {
9789 s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
9790 next: ptr::null(),
9791 decode_mode: Format::default(),
9792 }
9793 }
9794}
9795
9796unsafe impl Send for ImageViewASTCDecodeModeEXT {}
9797unsafe impl Sync for ImageViewASTCDecodeModeEXT {}
9798
9799#[repr(C)]
9801#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9802pub struct ImageViewAddressPropertiesNVX {
9803 pub s_type: StructureType,
9804 pub next: *mut c_void,
9805 pub device_address: DeviceAddress,
9806 pub size: DeviceSize,
9807}
9808
9809impl Default for ImageViewAddressPropertiesNVX {
9810 #[inline]
9811 fn default() -> Self {
9812 Self {
9813 s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
9814 next: ptr::null_mut(),
9815 device_address: DeviceAddress::default(),
9816 size: DeviceSize::default(),
9817 }
9818 }
9819}
9820
9821unsafe impl Send for ImageViewAddressPropertiesNVX {}
9822unsafe impl Sync for ImageViewAddressPropertiesNVX {}
9823
9824#[repr(C)]
9826#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9827pub struct ImageViewCaptureDescriptorDataInfoEXT {
9828 pub s_type: StructureType,
9829 pub next: *const c_void,
9830 pub image_view: ImageView,
9831}
9832
9833impl Default for ImageViewCaptureDescriptorDataInfoEXT {
9834 #[inline]
9835 fn default() -> Self {
9836 Self {
9837 s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9838 next: ptr::null(),
9839 image_view: ImageView::default(),
9840 }
9841 }
9842}
9843
9844unsafe impl Send for ImageViewCaptureDescriptorDataInfoEXT {}
9845unsafe impl Sync for ImageViewCaptureDescriptorDataInfoEXT {}
9846
9847#[repr(C)]
9849#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9850pub struct ImageViewCreateInfo {
9851 pub s_type: StructureType,
9852 pub next: *const c_void,
9853 pub flags: ImageViewCreateFlags,
9854 pub image: Image,
9855 pub view_type: ImageViewType,
9856 pub format: Format,
9857 pub components: ComponentMapping,
9858 pub subresource_range: ImageSubresourceRange,
9859}
9860
9861impl Default for ImageViewCreateInfo {
9862 #[inline]
9863 fn default() -> Self {
9864 Self {
9865 s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
9866 next: ptr::null(),
9867 flags: ImageViewCreateFlags::default(),
9868 image: Image::default(),
9869 view_type: ImageViewType::default(),
9870 format: Format::default(),
9871 components: ComponentMapping::default(),
9872 subresource_range: ImageSubresourceRange::default(),
9873 }
9874 }
9875}
9876
9877unsafe impl Send for ImageViewCreateInfo {}
9878unsafe impl Sync for ImageViewCreateInfo {}
9879
9880#[repr(C)]
9882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9883pub struct ImageViewHandleInfoNVX {
9884 pub s_type: StructureType,
9885 pub next: *const c_void,
9886 pub image_view: ImageView,
9887 pub descriptor_type: DescriptorType,
9888 pub sampler: Sampler,
9889}
9890
9891impl Default for ImageViewHandleInfoNVX {
9892 #[inline]
9893 fn default() -> Self {
9894 Self {
9895 s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
9896 next: ptr::null(),
9897 image_view: ImageView::default(),
9898 descriptor_type: DescriptorType::default(),
9899 sampler: Sampler::default(),
9900 }
9901 }
9902}
9903
9904unsafe impl Send for ImageViewHandleInfoNVX {}
9905unsafe impl Sync for ImageViewHandleInfoNVX {}
9906
9907#[repr(C)]
9909#[derive(Copy, Clone, Debug, PartialEq)]
9910pub struct ImageViewMinLodCreateInfoEXT {
9911 pub s_type: StructureType,
9912 pub next: *const c_void,
9913 pub min_lod: f32,
9914}
9915
9916impl Default for ImageViewMinLodCreateInfoEXT {
9917 #[inline]
9918 fn default() -> Self {
9919 Self {
9920 s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
9921 next: ptr::null(),
9922 min_lod: f32::default(),
9923 }
9924 }
9925}
9926
9927unsafe impl Send for ImageViewMinLodCreateInfoEXT {}
9928unsafe impl Sync for ImageViewMinLodCreateInfoEXT {}
9929
9930#[repr(C)]
9932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9933pub struct ImageViewSampleWeightCreateInfoQCOM {
9934 pub s_type: StructureType,
9935 pub next: *const c_void,
9936 pub filter_center: Offset2D,
9937 pub filter_size: Extent2D,
9938 pub num_phases: u32,
9939}
9940
9941impl Default for ImageViewSampleWeightCreateInfoQCOM {
9942 #[inline]
9943 fn default() -> Self {
9944 Self {
9945 s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
9946 next: ptr::null(),
9947 filter_center: Offset2D::default(),
9948 filter_size: Extent2D::default(),
9949 num_phases: u32::default(),
9950 }
9951 }
9952}
9953
9954unsafe impl Send for ImageViewSampleWeightCreateInfoQCOM {}
9955unsafe impl Sync for ImageViewSampleWeightCreateInfoQCOM {}
9956
9957#[repr(C)]
9959#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9960pub struct ImageViewSlicedCreateInfoEXT {
9961 pub s_type: StructureType,
9962 pub next: *const c_void,
9963 pub slice_offset: u32,
9964 pub slice_count: u32,
9965}
9966
9967impl Default for ImageViewSlicedCreateInfoEXT {
9968 #[inline]
9969 fn default() -> Self {
9970 Self {
9971 s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
9972 next: ptr::null(),
9973 slice_offset: u32::default(),
9974 slice_count: u32::default(),
9975 }
9976 }
9977}
9978
9979unsafe impl Send for ImageViewSlicedCreateInfoEXT {}
9980unsafe impl Sync for ImageViewSlicedCreateInfoEXT {}
9981
9982#[repr(C)]
9984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9985pub struct ImageViewUsageCreateInfo {
9986 pub s_type: StructureType,
9987 pub next: *const c_void,
9988 pub usage: ImageUsageFlags,
9989}
9990
9991impl Default for ImageViewUsageCreateInfo {
9992 #[inline]
9993 fn default() -> Self {
9994 Self {
9995 s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
9996 next: ptr::null(),
9997 usage: ImageUsageFlags::default(),
9998 }
9999 }
10000}
10001
10002unsafe impl Send for ImageViewUsageCreateInfo {}
10003unsafe impl Sync for ImageViewUsageCreateInfo {}
10004
10005#[repr(C)]
10007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10008pub struct ImportAndroidHardwareBufferInfoANDROID {
10009 pub s_type: StructureType,
10010 pub next: *const c_void,
10011 pub buffer: *mut AHardwareBuffer,
10012}
10013
10014impl Default for ImportAndroidHardwareBufferInfoANDROID {
10015 #[inline]
10016 fn default() -> Self {
10017 Self {
10018 s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
10019 next: ptr::null(),
10020 buffer: ptr::null_mut(),
10021 }
10022 }
10023}
10024
10025unsafe impl Send for ImportAndroidHardwareBufferInfoANDROID {}
10026unsafe impl Sync for ImportAndroidHardwareBufferInfoANDROID {}
10027
10028#[repr(C)]
10030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10031pub struct ImportFenceFdInfoKHR {
10032 pub s_type: StructureType,
10033 pub next: *const c_void,
10034 pub fence: Fence,
10035 pub flags: FenceImportFlags,
10036 pub handle_type: ExternalFenceHandleTypeFlags,
10037 pub fd: c_int,
10038}
10039
10040impl Default for ImportFenceFdInfoKHR {
10041 #[inline]
10042 fn default() -> Self {
10043 Self {
10044 s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
10045 next: ptr::null(),
10046 fence: Fence::default(),
10047 flags: FenceImportFlags::default(),
10048 handle_type: ExternalFenceHandleTypeFlags::default(),
10049 fd: c_int::default(),
10050 }
10051 }
10052}
10053
10054unsafe impl Send for ImportFenceFdInfoKHR {}
10055unsafe impl Sync for ImportFenceFdInfoKHR {}
10056
10057#[repr(C)]
10059#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10060pub struct ImportFenceSciSyncInfoNV {
10061 pub s_type: StructureType,
10062 pub next: *const c_void,
10063 pub fence: Fence,
10064 pub handle_type: ExternalFenceHandleTypeFlags,
10065 pub handle: *mut c_void,
10066}
10067
10068impl Default for ImportFenceSciSyncInfoNV {
10069 #[inline]
10070 fn default() -> Self {
10071 Self {
10072 s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
10073 next: ptr::null(),
10074 fence: Fence::default(),
10075 handle_type: ExternalFenceHandleTypeFlags::default(),
10076 handle: ptr::null_mut(),
10077 }
10078 }
10079}
10080
10081unsafe impl Send for ImportFenceSciSyncInfoNV {}
10082unsafe impl Sync for ImportFenceSciSyncInfoNV {}
10083
10084#[repr(C)]
10086#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10087pub struct ImportFenceWin32HandleInfoKHR {
10088 pub s_type: StructureType,
10089 pub next: *const c_void,
10090 pub fence: Fence,
10091 pub flags: FenceImportFlags,
10092 pub handle_type: ExternalFenceHandleTypeFlags,
10093 pub handle: HANDLE,
10094 pub name: LPCWSTR,
10095}
10096
10097impl Default for ImportFenceWin32HandleInfoKHR {
10098 #[inline]
10099 fn default() -> Self {
10100 Self {
10101 s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
10102 next: ptr::null(),
10103 fence: Fence::default(),
10104 flags: FenceImportFlags::default(),
10105 handle_type: ExternalFenceHandleTypeFlags::default(),
10106 handle: ptr::null_mut(),
10107 name: ptr::null_mut(),
10108 }
10109 }
10110}
10111
10112unsafe impl Send for ImportFenceWin32HandleInfoKHR {}
10113unsafe impl Sync for ImportFenceWin32HandleInfoKHR {}
10114
10115#[repr(C)]
10117#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10118pub struct ImportMemoryBufferCollectionFUCHSIA {
10119 pub s_type: StructureType,
10120 pub next: *const c_void,
10121 pub collection: BufferCollectionFUCHSIA,
10122 pub index: u32,
10123}
10124
10125impl Default for ImportMemoryBufferCollectionFUCHSIA {
10126 #[inline]
10127 fn default() -> Self {
10128 Self {
10129 s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
10130 next: ptr::null(),
10131 collection: BufferCollectionFUCHSIA::default(),
10132 index: u32::default(),
10133 }
10134 }
10135}
10136
10137unsafe impl Send for ImportMemoryBufferCollectionFUCHSIA {}
10138unsafe impl Sync for ImportMemoryBufferCollectionFUCHSIA {}
10139
10140#[repr(C)]
10142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10143pub struct ImportMemoryFdInfoKHR {
10144 pub s_type: StructureType,
10145 pub next: *const c_void,
10146 pub handle_type: ExternalMemoryHandleTypeFlags,
10147 pub fd: c_int,
10148}
10149
10150impl Default for ImportMemoryFdInfoKHR {
10151 #[inline]
10152 fn default() -> Self {
10153 Self {
10154 s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
10155 next: ptr::null(),
10156 handle_type: ExternalMemoryHandleTypeFlags::default(),
10157 fd: c_int::default(),
10158 }
10159 }
10160}
10161
10162unsafe impl Send for ImportMemoryFdInfoKHR {}
10163unsafe impl Sync for ImportMemoryFdInfoKHR {}
10164
10165#[repr(C)]
10167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10168pub struct ImportMemoryHostPointerInfoEXT {
10169 pub s_type: StructureType,
10170 pub next: *const c_void,
10171 pub handle_type: ExternalMemoryHandleTypeFlags,
10172 pub host_pointer: *mut c_void,
10173}
10174
10175impl Default for ImportMemoryHostPointerInfoEXT {
10176 #[inline]
10177 fn default() -> Self {
10178 Self {
10179 s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
10180 next: ptr::null(),
10181 handle_type: ExternalMemoryHandleTypeFlags::default(),
10182 host_pointer: ptr::null_mut(),
10183 }
10184 }
10185}
10186
10187unsafe impl Send for ImportMemoryHostPointerInfoEXT {}
10188unsafe impl Sync for ImportMemoryHostPointerInfoEXT {}
10189
10190#[repr(C)]
10192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10193pub struct ImportMemoryMetalHandleInfoEXT {
10194 pub s_type: StructureType,
10195 pub next: *const c_void,
10196 pub handle_type: ExternalMemoryHandleTypeFlags,
10197 pub handle: *mut c_void,
10198}
10199
10200impl Default for ImportMemoryMetalHandleInfoEXT {
10201 #[inline]
10202 fn default() -> Self {
10203 Self {
10204 s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
10205 next: ptr::null(),
10206 handle_type: ExternalMemoryHandleTypeFlags::default(),
10207 handle: ptr::null_mut(),
10208 }
10209 }
10210}
10211
10212unsafe impl Send for ImportMemoryMetalHandleInfoEXT {}
10213unsafe impl Sync for ImportMemoryMetalHandleInfoEXT {}
10214
10215#[repr(C)]
10217#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10218pub struct ImportMemorySciBufInfoNV {
10219 pub s_type: StructureType,
10220 pub next: *const c_void,
10221 pub handle_type: ExternalMemoryHandleTypeFlags,
10222 pub handle: NvSciBufObj,
10223}
10224
10225impl Default for ImportMemorySciBufInfoNV {
10226 #[inline]
10227 fn default() -> Self {
10228 Self {
10229 s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
10230 next: ptr::null(),
10231 handle_type: ExternalMemoryHandleTypeFlags::default(),
10232 handle: ptr::null_mut(),
10233 }
10234 }
10235}
10236
10237unsafe impl Send for ImportMemorySciBufInfoNV {}
10238unsafe impl Sync for ImportMemorySciBufInfoNV {}
10239
10240#[repr(C)]
10242#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10243pub struct ImportMemoryWin32HandleInfoKHR {
10244 pub s_type: StructureType,
10245 pub next: *const c_void,
10246 pub handle_type: ExternalMemoryHandleTypeFlags,
10247 pub handle: HANDLE,
10248 pub name: LPCWSTR,
10249}
10250
10251impl Default for ImportMemoryWin32HandleInfoKHR {
10252 #[inline]
10253 fn default() -> Self {
10254 Self {
10255 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
10256 next: ptr::null(),
10257 handle_type: ExternalMemoryHandleTypeFlags::default(),
10258 handle: ptr::null_mut(),
10259 name: ptr::null_mut(),
10260 }
10261 }
10262}
10263
10264unsafe impl Send for ImportMemoryWin32HandleInfoKHR {}
10265unsafe impl Sync for ImportMemoryWin32HandleInfoKHR {}
10266
10267#[repr(C)]
10269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10270pub struct ImportMemoryWin32HandleInfoNV {
10271 pub s_type: StructureType,
10272 pub next: *const c_void,
10273 pub handle_type: ExternalMemoryHandleTypeFlagsNV,
10274 pub handle: HANDLE,
10275}
10276
10277impl Default for ImportMemoryWin32HandleInfoNV {
10278 #[inline]
10279 fn default() -> Self {
10280 Self {
10281 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
10282 next: ptr::null(),
10283 handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
10284 handle: ptr::null_mut(),
10285 }
10286 }
10287}
10288
10289unsafe impl Send for ImportMemoryWin32HandleInfoNV {}
10290unsafe impl Sync for ImportMemoryWin32HandleInfoNV {}
10291
10292#[repr(C)]
10294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10295pub struct ImportMemoryZirconHandleInfoFUCHSIA {
10296 pub s_type: StructureType,
10297 pub next: *const c_void,
10298 pub handle_type: ExternalMemoryHandleTypeFlags,
10299 pub handle: zx_handle_t,
10300}
10301
10302impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
10303 #[inline]
10304 fn default() -> Self {
10305 Self {
10306 s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
10307 next: ptr::null(),
10308 handle_type: ExternalMemoryHandleTypeFlags::default(),
10309 handle: zx_handle_t::default(),
10310 }
10311 }
10312}
10313
10314unsafe impl Send for ImportMemoryZirconHandleInfoFUCHSIA {}
10315unsafe impl Sync for ImportMemoryZirconHandleInfoFUCHSIA {}
10316
10317#[repr(C)]
10319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10320pub struct ImportMetalBufferInfoEXT {
10321 pub s_type: StructureType,
10322 pub next: *const c_void,
10323 pub mtl_buffer: MTLBuffer_id,
10324}
10325
10326impl Default for ImportMetalBufferInfoEXT {
10327 #[inline]
10328 fn default() -> Self {
10329 Self {
10330 s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
10331 next: ptr::null(),
10332 mtl_buffer: ptr::null_mut(),
10333 }
10334 }
10335}
10336
10337unsafe impl Send for ImportMetalBufferInfoEXT {}
10338unsafe impl Sync for ImportMetalBufferInfoEXT {}
10339
10340#[repr(C)]
10342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10343pub struct ImportMetalIOSurfaceInfoEXT {
10344 pub s_type: StructureType,
10345 pub next: *const c_void,
10346 pub io_surface: IOSurfaceRef,
10347}
10348
10349impl Default for ImportMetalIOSurfaceInfoEXT {
10350 #[inline]
10351 fn default() -> Self {
10352 Self {
10353 s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
10354 next: ptr::null(),
10355 io_surface: ptr::null_mut(),
10356 }
10357 }
10358}
10359
10360unsafe impl Send for ImportMetalIOSurfaceInfoEXT {}
10361unsafe impl Sync for ImportMetalIOSurfaceInfoEXT {}
10362
10363#[repr(C)]
10365#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10366pub struct ImportMetalSharedEventInfoEXT {
10367 pub s_type: StructureType,
10368 pub next: *const c_void,
10369 pub mtl_shared_event: MTLSharedEvent_id,
10370}
10371
10372impl Default for ImportMetalSharedEventInfoEXT {
10373 #[inline]
10374 fn default() -> Self {
10375 Self {
10376 s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
10377 next: ptr::null(),
10378 mtl_shared_event: ptr::null_mut(),
10379 }
10380 }
10381}
10382
10383unsafe impl Send for ImportMetalSharedEventInfoEXT {}
10384unsafe impl Sync for ImportMetalSharedEventInfoEXT {}
10385
10386#[repr(C)]
10388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10389pub struct ImportMetalTextureInfoEXT {
10390 pub s_type: StructureType,
10391 pub next: *const c_void,
10392 pub plane: ImageAspectFlags,
10393 pub mtl_texture: MTLTexture_id,
10394}
10395
10396impl Default for ImportMetalTextureInfoEXT {
10397 #[inline]
10398 fn default() -> Self {
10399 Self {
10400 s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
10401 next: ptr::null(),
10402 plane: ImageAspectFlags::default(),
10403 mtl_texture: ptr::null_mut(),
10404 }
10405 }
10406}
10407
10408unsafe impl Send for ImportMetalTextureInfoEXT {}
10409unsafe impl Sync for ImportMetalTextureInfoEXT {}
10410
10411#[repr(C)]
10413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10414pub struct ImportScreenBufferInfoQNX {
10415 pub s_type: StructureType,
10416 pub next: *const c_void,
10417 pub buffer: *mut _screen_buffer,
10418}
10419
10420impl Default for ImportScreenBufferInfoQNX {
10421 #[inline]
10422 fn default() -> Self {
10423 Self {
10424 s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
10425 next: ptr::null(),
10426 buffer: ptr::null_mut(),
10427 }
10428 }
10429}
10430
10431unsafe impl Send for ImportScreenBufferInfoQNX {}
10432unsafe impl Sync for ImportScreenBufferInfoQNX {}
10433
10434#[repr(C)]
10436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10437pub struct ImportSemaphoreFdInfoKHR {
10438 pub s_type: StructureType,
10439 pub next: *const c_void,
10440 pub semaphore: Semaphore,
10441 pub flags: SemaphoreImportFlags,
10442 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10443 pub fd: c_int,
10444}
10445
10446impl Default for ImportSemaphoreFdInfoKHR {
10447 #[inline]
10448 fn default() -> Self {
10449 Self {
10450 s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
10451 next: ptr::null(),
10452 semaphore: Semaphore::default(),
10453 flags: SemaphoreImportFlags::default(),
10454 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10455 fd: c_int::default(),
10456 }
10457 }
10458}
10459
10460unsafe impl Send for ImportSemaphoreFdInfoKHR {}
10461unsafe impl Sync for ImportSemaphoreFdInfoKHR {}
10462
10463#[repr(C)]
10465#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10466pub struct ImportSemaphoreSciSyncInfoNV {
10467 pub s_type: StructureType,
10468 pub next: *const c_void,
10469 pub semaphore: Semaphore,
10470 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10471 pub handle: *mut c_void,
10472}
10473
10474impl Default for ImportSemaphoreSciSyncInfoNV {
10475 #[inline]
10476 fn default() -> Self {
10477 Self {
10478 s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
10479 next: ptr::null(),
10480 semaphore: Semaphore::default(),
10481 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10482 handle: ptr::null_mut(),
10483 }
10484 }
10485}
10486
10487unsafe impl Send for ImportSemaphoreSciSyncInfoNV {}
10488unsafe impl Sync for ImportSemaphoreSciSyncInfoNV {}
10489
10490#[repr(C)]
10492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10493pub struct ImportSemaphoreWin32HandleInfoKHR {
10494 pub s_type: StructureType,
10495 pub next: *const c_void,
10496 pub semaphore: Semaphore,
10497 pub flags: SemaphoreImportFlags,
10498 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10499 pub handle: HANDLE,
10500 pub name: LPCWSTR,
10501}
10502
10503impl Default for ImportSemaphoreWin32HandleInfoKHR {
10504 #[inline]
10505 fn default() -> Self {
10506 Self {
10507 s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
10508 next: ptr::null(),
10509 semaphore: Semaphore::default(),
10510 flags: SemaphoreImportFlags::default(),
10511 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10512 handle: ptr::null_mut(),
10513 name: ptr::null_mut(),
10514 }
10515 }
10516}
10517
10518unsafe impl Send for ImportSemaphoreWin32HandleInfoKHR {}
10519unsafe impl Sync for ImportSemaphoreWin32HandleInfoKHR {}
10520
10521#[repr(C)]
10523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10524pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
10525 pub s_type: StructureType,
10526 pub next: *const c_void,
10527 pub semaphore: Semaphore,
10528 pub flags: SemaphoreImportFlags,
10529 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10530 pub zircon_handle: zx_handle_t,
10531}
10532
10533impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
10534 #[inline]
10535 fn default() -> Self {
10536 Self {
10537 s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
10538 next: ptr::null(),
10539 semaphore: Semaphore::default(),
10540 flags: SemaphoreImportFlags::default(),
10541 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10542 zircon_handle: zx_handle_t::default(),
10543 }
10544 }
10545}
10546
10547unsafe impl Send for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10548unsafe impl Sync for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10549
10550#[repr(C)]
10552#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10553pub struct IndirectCommandsExecutionSetTokenEXT {
10554 pub type_: IndirectExecutionSetInfoTypeEXT,
10555 pub shader_stages: ShaderStageFlags,
10556}
10557
10558#[repr(C)]
10560#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10561pub struct IndirectCommandsIndexBufferTokenEXT {
10562 pub mode: IndirectCommandsInputModeFlagsEXT,
10563}
10564
10565#[repr(C)]
10567#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10568pub struct IndirectCommandsLayoutCreateInfoEXT {
10569 pub s_type: StructureType,
10570 pub next: *const c_void,
10571 pub flags: IndirectCommandsLayoutUsageFlagsEXT,
10572 pub shader_stages: ShaderStageFlags,
10573 pub indirect_stride: u32,
10574 pub pipeline_layout: PipelineLayout,
10575 pub token_count: u32,
10576 pub tokens: *const IndirectCommandsLayoutTokenEXT,
10577}
10578
10579impl Default for IndirectCommandsLayoutCreateInfoEXT {
10580 #[inline]
10581 fn default() -> Self {
10582 Self {
10583 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
10584 next: ptr::null(),
10585 flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
10586 shader_stages: ShaderStageFlags::default(),
10587 indirect_stride: u32::default(),
10588 pipeline_layout: PipelineLayout::default(),
10589 token_count: u32::default(),
10590 tokens: ptr::null(),
10591 }
10592 }
10593}
10594
10595unsafe impl Send for IndirectCommandsLayoutCreateInfoEXT {}
10596unsafe impl Sync for IndirectCommandsLayoutCreateInfoEXT {}
10597
10598#[repr(C)]
10600#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10601pub struct IndirectCommandsLayoutCreateInfoNV {
10602 pub s_type: StructureType,
10603 pub next: *const c_void,
10604 pub flags: IndirectCommandsLayoutUsageFlagsNV,
10605 pub pipeline_bind_point: PipelineBindPoint,
10606 pub token_count: u32,
10607 pub tokens: *const IndirectCommandsLayoutTokenNV,
10608 pub stream_count: u32,
10609 pub stream_strides: *const u32,
10610}
10611
10612impl Default for IndirectCommandsLayoutCreateInfoNV {
10613 #[inline]
10614 fn default() -> Self {
10615 Self {
10616 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
10617 next: ptr::null(),
10618 flags: IndirectCommandsLayoutUsageFlagsNV::default(),
10619 pipeline_bind_point: PipelineBindPoint::default(),
10620 token_count: u32::default(),
10621 tokens: ptr::null(),
10622 stream_count: u32::default(),
10623 stream_strides: ptr::null(),
10624 }
10625 }
10626}
10627
10628unsafe impl Send for IndirectCommandsLayoutCreateInfoNV {}
10629unsafe impl Sync for IndirectCommandsLayoutCreateInfoNV {}
10630
10631#[repr(C)]
10633#[derive(Copy, Clone, Debug)]
10634pub struct IndirectCommandsLayoutTokenEXT {
10635 pub s_type: StructureType,
10636 pub next: *const c_void,
10637 pub type_: IndirectCommandsTokenTypeEXT,
10638 pub data: IndirectCommandsTokenDataEXT,
10639 pub offset: u32,
10640}
10641
10642impl Default for IndirectCommandsLayoutTokenEXT {
10643 #[inline]
10644 fn default() -> Self {
10645 Self {
10646 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
10647 next: ptr::null(),
10648 type_: IndirectCommandsTokenTypeEXT::default(),
10649 data: IndirectCommandsTokenDataEXT::default(),
10650 offset: u32::default(),
10651 }
10652 }
10653}
10654
10655unsafe impl Send for IndirectCommandsLayoutTokenEXT {}
10656unsafe impl Sync for IndirectCommandsLayoutTokenEXT {}
10657
10658#[repr(C)]
10660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10661pub struct IndirectCommandsLayoutTokenNV {
10662 pub s_type: StructureType,
10663 pub next: *const c_void,
10664 pub token_type: IndirectCommandsTokenTypeNV,
10665 pub stream: u32,
10666 pub offset: u32,
10667 pub vertex_binding_unit: u32,
10668 pub vertex_dynamic_stride: Bool32,
10669 pub pushconstant_pipeline_layout: PipelineLayout,
10670 pub pushconstant_shader_stage_flags: ShaderStageFlags,
10671 pub pushconstant_offset: u32,
10672 pub pushconstant_size: u32,
10673 pub indirect_state_flags: IndirectStateFlagsNV,
10674 pub index_type_count: u32,
10675 pub index_types: *const IndexType,
10676 pub index_type_values: *const u32,
10677}
10678
10679impl Default for IndirectCommandsLayoutTokenNV {
10680 #[inline]
10681 fn default() -> Self {
10682 Self {
10683 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
10684 next: ptr::null(),
10685 token_type: IndirectCommandsTokenTypeNV::default(),
10686 stream: u32::default(),
10687 offset: u32::default(),
10688 vertex_binding_unit: u32::default(),
10689 vertex_dynamic_stride: Bool32::default(),
10690 pushconstant_pipeline_layout: PipelineLayout::default(),
10691 pushconstant_shader_stage_flags: ShaderStageFlags::default(),
10692 pushconstant_offset: u32::default(),
10693 pushconstant_size: u32::default(),
10694 indirect_state_flags: IndirectStateFlagsNV::default(),
10695 index_type_count: u32::default(),
10696 index_types: ptr::null(),
10697 index_type_values: ptr::null(),
10698 }
10699 }
10700}
10701
10702unsafe impl Send for IndirectCommandsLayoutTokenNV {}
10703unsafe impl Sync for IndirectCommandsLayoutTokenNV {}
10704
10705#[repr(C)]
10707#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10708pub struct IndirectCommandsPushConstantTokenEXT {
10709 pub update_range: PushConstantRange,
10710}
10711
10712#[repr(C)]
10714#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10715pub struct IndirectCommandsStreamNV {
10716 pub buffer: Buffer,
10717 pub offset: DeviceSize,
10718}
10719
10720#[repr(C)]
10722#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10723pub struct IndirectCommandsVertexBufferTokenEXT {
10724 pub vertex_binding_unit: u32,
10725}
10726
10727#[repr(C)]
10729#[derive(Copy, Clone, Debug)]
10730pub struct IndirectExecutionSetCreateInfoEXT {
10731 pub s_type: StructureType,
10732 pub next: *const c_void,
10733 pub type_: IndirectExecutionSetInfoTypeEXT,
10734 pub info: IndirectExecutionSetInfoEXT,
10735}
10736
10737impl Default for IndirectExecutionSetCreateInfoEXT {
10738 #[inline]
10739 fn default() -> Self {
10740 Self {
10741 s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
10742 next: ptr::null(),
10743 type_: IndirectExecutionSetInfoTypeEXT::default(),
10744 info: IndirectExecutionSetInfoEXT::default(),
10745 }
10746 }
10747}
10748
10749unsafe impl Send for IndirectExecutionSetCreateInfoEXT {}
10750unsafe impl Sync for IndirectExecutionSetCreateInfoEXT {}
10751
10752#[repr(C)]
10754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10755pub struct IndirectExecutionSetPipelineInfoEXT {
10756 pub s_type: StructureType,
10757 pub next: *const c_void,
10758 pub initial_pipeline: Pipeline,
10759 pub max_pipeline_count: u32,
10760}
10761
10762impl Default for IndirectExecutionSetPipelineInfoEXT {
10763 #[inline]
10764 fn default() -> Self {
10765 Self {
10766 s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
10767 next: ptr::null(),
10768 initial_pipeline: Pipeline::default(),
10769 max_pipeline_count: u32::default(),
10770 }
10771 }
10772}
10773
10774unsafe impl Send for IndirectExecutionSetPipelineInfoEXT {}
10775unsafe impl Sync for IndirectExecutionSetPipelineInfoEXT {}
10776
10777#[repr(C)]
10779#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10780pub struct IndirectExecutionSetShaderInfoEXT {
10781 pub s_type: StructureType,
10782 pub next: *const c_void,
10783 pub shader_count: u32,
10784 pub initial_shaders: *const ShaderEXT,
10785 pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
10786 pub max_shader_count: u32,
10787 pub push_constant_range_count: u32,
10788 pub push_constant_ranges: *const PushConstantRange,
10789}
10790
10791impl Default for IndirectExecutionSetShaderInfoEXT {
10792 #[inline]
10793 fn default() -> Self {
10794 Self {
10795 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
10796 next: ptr::null(),
10797 shader_count: u32::default(),
10798 initial_shaders: ptr::null(),
10799 set_layout_infos: ptr::null(),
10800 max_shader_count: u32::default(),
10801 push_constant_range_count: u32::default(),
10802 push_constant_ranges: ptr::null(),
10803 }
10804 }
10805}
10806
10807unsafe impl Send for IndirectExecutionSetShaderInfoEXT {}
10808unsafe impl Sync for IndirectExecutionSetShaderInfoEXT {}
10809
10810#[repr(C)]
10812#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10813pub struct IndirectExecutionSetShaderLayoutInfoEXT {
10814 pub s_type: StructureType,
10815 pub next: *const c_void,
10816 pub set_layout_count: u32,
10817 pub set_layouts: *const DescriptorSetLayout,
10818}
10819
10820impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
10821 #[inline]
10822 fn default() -> Self {
10823 Self {
10824 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
10825 next: ptr::null(),
10826 set_layout_count: u32::default(),
10827 set_layouts: ptr::null(),
10828 }
10829 }
10830}
10831
10832unsafe impl Send for IndirectExecutionSetShaderLayoutInfoEXT {}
10833unsafe impl Sync for IndirectExecutionSetShaderLayoutInfoEXT {}
10834
10835#[repr(C)]
10837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10838pub struct InitializePerformanceApiInfoINTEL {
10839 pub s_type: StructureType,
10840 pub next: *const c_void,
10841 pub user_data: *mut c_void,
10842}
10843
10844impl Default for InitializePerformanceApiInfoINTEL {
10845 #[inline]
10846 fn default() -> Self {
10847 Self {
10848 s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
10849 next: ptr::null(),
10850 user_data: ptr::null_mut(),
10851 }
10852 }
10853}
10854
10855unsafe impl Send for InitializePerformanceApiInfoINTEL {}
10856unsafe impl Sync for InitializePerformanceApiInfoINTEL {}
10857
10858#[repr(C)]
10860#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10861pub struct InputAttachmentAspectReference {
10862 pub subpass: u32,
10863 pub input_attachment_index: u32,
10864 pub aspect_mask: ImageAspectFlags,
10865}
10866
10867#[repr(C)]
10869#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10870pub struct InstanceCreateInfo {
10871 pub s_type: StructureType,
10872 pub next: *const c_void,
10873 pub flags: InstanceCreateFlags,
10874 pub application_info: *const ApplicationInfo,
10875 pub enabled_layer_count: u32,
10876 pub enabled_layer_names: *const *const c_char,
10877 pub enabled_extension_count: u32,
10878 pub enabled_extension_names: *const *const c_char,
10879}
10880
10881impl Default for InstanceCreateInfo {
10882 #[inline]
10883 fn default() -> Self {
10884 Self {
10885 s_type: StructureType::INSTANCE_CREATE_INFO,
10886 next: ptr::null(),
10887 flags: InstanceCreateFlags::default(),
10888 application_info: ptr::null(),
10889 enabled_layer_count: u32::default(),
10890 enabled_layer_names: ptr::null(),
10891 enabled_extension_count: u32::default(),
10892 enabled_extension_names: ptr::null(),
10893 }
10894 }
10895}
10896
10897unsafe impl Send for InstanceCreateInfo {}
10898unsafe impl Sync for InstanceCreateInfo {}
10899
10900#[repr(C)]
10902#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10903pub struct LatencySleepInfoNV {
10904 pub s_type: StructureType,
10905 pub next: *const c_void,
10906 pub signal_semaphore: Semaphore,
10907 pub value: u64,
10908}
10909
10910impl Default for LatencySleepInfoNV {
10911 #[inline]
10912 fn default() -> Self {
10913 Self {
10914 s_type: StructureType::LATENCY_SLEEP_INFO_NV,
10915 next: ptr::null(),
10916 signal_semaphore: Semaphore::default(),
10917 value: u64::default(),
10918 }
10919 }
10920}
10921
10922unsafe impl Send for LatencySleepInfoNV {}
10923unsafe impl Sync for LatencySleepInfoNV {}
10924
10925#[repr(C)]
10927#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10928pub struct LatencySleepModeInfoNV {
10929 pub s_type: StructureType,
10930 pub next: *const c_void,
10931 pub low_latency_mode: Bool32,
10932 pub low_latency_boost: Bool32,
10933 pub minimum_interval_us: u32,
10934}
10935
10936impl Default for LatencySleepModeInfoNV {
10937 #[inline]
10938 fn default() -> Self {
10939 Self {
10940 s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
10941 next: ptr::null(),
10942 low_latency_mode: Bool32::default(),
10943 low_latency_boost: Bool32::default(),
10944 minimum_interval_us: u32::default(),
10945 }
10946 }
10947}
10948
10949unsafe impl Send for LatencySleepModeInfoNV {}
10950unsafe impl Sync for LatencySleepModeInfoNV {}
10951
10952#[repr(C)]
10954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10955pub struct LatencySubmissionPresentIdNV {
10956 pub s_type: StructureType,
10957 pub next: *const c_void,
10958 pub present_id: u64,
10959}
10960
10961impl Default for LatencySubmissionPresentIdNV {
10962 #[inline]
10963 fn default() -> Self {
10964 Self {
10965 s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
10966 next: ptr::null(),
10967 present_id: u64::default(),
10968 }
10969 }
10970}
10971
10972unsafe impl Send for LatencySubmissionPresentIdNV {}
10973unsafe impl Sync for LatencySubmissionPresentIdNV {}
10974
10975#[repr(C)]
10977#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10978pub struct LatencySurfaceCapabilitiesNV {
10979 pub s_type: StructureType,
10980 pub next: *const c_void,
10981 pub present_mode_count: u32,
10982 pub present_modes: *mut PresentModeKHR,
10983}
10984
10985impl Default for LatencySurfaceCapabilitiesNV {
10986 #[inline]
10987 fn default() -> Self {
10988 Self {
10989 s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
10990 next: ptr::null(),
10991 present_mode_count: u32::default(),
10992 present_modes: ptr::null_mut(),
10993 }
10994 }
10995}
10996
10997unsafe impl Send for LatencySurfaceCapabilitiesNV {}
10998unsafe impl Sync for LatencySurfaceCapabilitiesNV {}
10999
11000#[repr(C)]
11002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11003pub struct LatencyTimingsFrameReportNV {
11004 pub s_type: StructureType,
11005 pub next: *const c_void,
11006 pub present_id: u64,
11007 pub input_sample_time_us: u64,
11008 pub sim_start_time_us: u64,
11009 pub sim_end_time_us: u64,
11010 pub render_submit_start_time_us: u64,
11011 pub render_submit_end_time_us: u64,
11012 pub present_start_time_us: u64,
11013 pub present_end_time_us: u64,
11014 pub driver_start_time_us: u64,
11015 pub driver_end_time_us: u64,
11016 pub os_render_queue_start_time_us: u64,
11017 pub os_render_queue_end_time_us: u64,
11018 pub gpu_render_start_time_us: u64,
11019 pub gpu_render_end_time_us: u64,
11020}
11021
11022impl Default for LatencyTimingsFrameReportNV {
11023 #[inline]
11024 fn default() -> Self {
11025 Self {
11026 s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
11027 next: ptr::null(),
11028 present_id: u64::default(),
11029 input_sample_time_us: u64::default(),
11030 sim_start_time_us: u64::default(),
11031 sim_end_time_us: u64::default(),
11032 render_submit_start_time_us: u64::default(),
11033 render_submit_end_time_us: u64::default(),
11034 present_start_time_us: u64::default(),
11035 present_end_time_us: u64::default(),
11036 driver_start_time_us: u64::default(),
11037 driver_end_time_us: u64::default(),
11038 os_render_queue_start_time_us: u64::default(),
11039 os_render_queue_end_time_us: u64::default(),
11040 gpu_render_start_time_us: u64::default(),
11041 gpu_render_end_time_us: u64::default(),
11042 }
11043 }
11044}
11045
11046unsafe impl Send for LatencyTimingsFrameReportNV {}
11047unsafe impl Sync for LatencyTimingsFrameReportNV {}
11048
11049#[repr(C)]
11051#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11052pub struct LayerProperties {
11053 pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
11054 pub spec_version: u32,
11055 pub implementation_version: u32,
11056 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
11057}
11058
11059#[repr(C)]
11061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11062pub struct LayerSettingEXT {
11063 pub layer_name: *const c_char,
11064 pub setting_name: *const c_char,
11065 pub type_: LayerSettingTypeEXT,
11066 pub value_count: u32,
11067 pub values: *const c_void,
11068}
11069
11070impl Default for LayerSettingEXT {
11071 #[inline]
11072 fn default() -> Self {
11073 Self {
11074 layer_name: ptr::null(),
11075 setting_name: ptr::null(),
11076 type_: LayerSettingTypeEXT::default(),
11077 value_count: u32::default(),
11078 values: ptr::null(),
11079 }
11080 }
11081}
11082
11083unsafe impl Send for LayerSettingEXT {}
11084unsafe impl Sync for LayerSettingEXT {}
11085
11086#[repr(C)]
11088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11089pub struct LayerSettingsCreateInfoEXT {
11090 pub s_type: StructureType,
11091 pub next: *const c_void,
11092 pub setting_count: u32,
11093 pub settings: *const LayerSettingEXT,
11094}
11095
11096impl Default for LayerSettingsCreateInfoEXT {
11097 #[inline]
11098 fn default() -> Self {
11099 Self {
11100 s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
11101 next: ptr::null(),
11102 setting_count: u32::default(),
11103 settings: ptr::null(),
11104 }
11105 }
11106}
11107
11108unsafe impl Send for LayerSettingsCreateInfoEXT {}
11109unsafe impl Sync for LayerSettingsCreateInfoEXT {}
11110
11111#[repr(C)]
11113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11114pub struct MacOSSurfaceCreateInfoMVK {
11115 pub s_type: StructureType,
11116 pub next: *const c_void,
11117 pub flags: MacOSSurfaceCreateFlagsMVK,
11118 pub view: *const c_void,
11119}
11120
11121impl Default for MacOSSurfaceCreateInfoMVK {
11122 #[inline]
11123 fn default() -> Self {
11124 Self {
11125 s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
11126 next: ptr::null(),
11127 flags: MacOSSurfaceCreateFlagsMVK::default(),
11128 view: ptr::null(),
11129 }
11130 }
11131}
11132
11133unsafe impl Send for MacOSSurfaceCreateInfoMVK {}
11134unsafe impl Sync for MacOSSurfaceCreateInfoMVK {}
11135
11136#[repr(C)]
11138#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11139pub struct MappedMemoryRange {
11140 pub s_type: StructureType,
11141 pub next: *const c_void,
11142 pub memory: DeviceMemory,
11143 pub offset: DeviceSize,
11144 pub size: DeviceSize,
11145}
11146
11147impl Default for MappedMemoryRange {
11148 #[inline]
11149 fn default() -> Self {
11150 Self {
11151 s_type: StructureType::MAPPED_MEMORY_RANGE,
11152 next: ptr::null(),
11153 memory: DeviceMemory::default(),
11154 offset: DeviceSize::default(),
11155 size: DeviceSize::default(),
11156 }
11157 }
11158}
11159
11160unsafe impl Send for MappedMemoryRange {}
11161unsafe impl Sync for MappedMemoryRange {}
11162
11163#[repr(C)]
11165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11166pub struct MemoryAllocateFlagsInfo {
11167 pub s_type: StructureType,
11168 pub next: *const c_void,
11169 pub flags: MemoryAllocateFlags,
11170 pub device_mask: u32,
11171}
11172
11173impl Default for MemoryAllocateFlagsInfo {
11174 #[inline]
11175 fn default() -> Self {
11176 Self {
11177 s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
11178 next: ptr::null(),
11179 flags: MemoryAllocateFlags::default(),
11180 device_mask: u32::default(),
11181 }
11182 }
11183}
11184
11185unsafe impl Send for MemoryAllocateFlagsInfo {}
11186unsafe impl Sync for MemoryAllocateFlagsInfo {}
11187
11188#[repr(C)]
11190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11191pub struct MemoryAllocateInfo {
11192 pub s_type: StructureType,
11193 pub next: *const c_void,
11194 pub allocation_size: DeviceSize,
11195 pub memory_type_index: u32,
11196}
11197
11198impl Default for MemoryAllocateInfo {
11199 #[inline]
11200 fn default() -> Self {
11201 Self {
11202 s_type: StructureType::MEMORY_ALLOCATE_INFO,
11203 next: ptr::null(),
11204 allocation_size: DeviceSize::default(),
11205 memory_type_index: u32::default(),
11206 }
11207 }
11208}
11209
11210unsafe impl Send for MemoryAllocateInfo {}
11211unsafe impl Sync for MemoryAllocateInfo {}
11212
11213#[repr(C)]
11215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11216pub struct MemoryBarrier {
11217 pub s_type: StructureType,
11218 pub next: *const c_void,
11219 pub src_access_mask: AccessFlags,
11220 pub dst_access_mask: AccessFlags,
11221}
11222
11223impl Default for MemoryBarrier {
11224 #[inline]
11225 fn default() -> Self {
11226 Self {
11227 s_type: StructureType::MEMORY_BARRIER,
11228 next: ptr::null(),
11229 src_access_mask: AccessFlags::default(),
11230 dst_access_mask: AccessFlags::default(),
11231 }
11232 }
11233}
11234
11235unsafe impl Send for MemoryBarrier {}
11236unsafe impl Sync for MemoryBarrier {}
11237
11238#[repr(C)]
11240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11241pub struct MemoryBarrier2 {
11242 pub s_type: StructureType,
11243 pub next: *const c_void,
11244 pub src_stage_mask: PipelineStageFlags2,
11245 pub src_access_mask: AccessFlags2,
11246 pub dst_stage_mask: PipelineStageFlags2,
11247 pub dst_access_mask: AccessFlags2,
11248}
11249
11250impl Default for MemoryBarrier2 {
11251 #[inline]
11252 fn default() -> Self {
11253 Self {
11254 s_type: StructureType::MEMORY_BARRIER_2,
11255 next: ptr::null(),
11256 src_stage_mask: PipelineStageFlags2::default(),
11257 src_access_mask: AccessFlags2::default(),
11258 dst_stage_mask: PipelineStageFlags2::default(),
11259 dst_access_mask: AccessFlags2::default(),
11260 }
11261 }
11262}
11263
11264unsafe impl Send for MemoryBarrier2 {}
11265unsafe impl Sync for MemoryBarrier2 {}
11266
11267#[repr(C)]
11269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11270pub struct MemoryBarrierAccessFlags3KHR {
11271 pub s_type: StructureType,
11272 pub next: *const c_void,
11273 pub src_access_mask3: AccessFlags3KHR,
11274 pub dst_access_mask3: AccessFlags3KHR,
11275}
11276
11277impl Default for MemoryBarrierAccessFlags3KHR {
11278 #[inline]
11279 fn default() -> Self {
11280 Self {
11281 s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
11282 next: ptr::null(),
11283 src_access_mask3: AccessFlags3KHR::default(),
11284 dst_access_mask3: AccessFlags3KHR::default(),
11285 }
11286 }
11287}
11288
11289unsafe impl Send for MemoryBarrierAccessFlags3KHR {}
11290unsafe impl Sync for MemoryBarrierAccessFlags3KHR {}
11291
11292#[repr(C)]
11294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11295pub struct MemoryDedicatedAllocateInfo {
11296 pub s_type: StructureType,
11297 pub next: *const c_void,
11298 pub image: Image,
11299 pub buffer: Buffer,
11300}
11301
11302impl Default for MemoryDedicatedAllocateInfo {
11303 #[inline]
11304 fn default() -> Self {
11305 Self {
11306 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
11307 next: ptr::null(),
11308 image: Image::default(),
11309 buffer: Buffer::default(),
11310 }
11311 }
11312}
11313
11314unsafe impl Send for MemoryDedicatedAllocateInfo {}
11315unsafe impl Sync for MemoryDedicatedAllocateInfo {}
11316
11317#[repr(C)]
11319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11320pub struct MemoryDedicatedAllocateInfoTensorARM {
11321 pub s_type: StructureType,
11322 pub next: *const c_void,
11323 pub tensor: TensorARM,
11324}
11325
11326impl Default for MemoryDedicatedAllocateInfoTensorARM {
11327 #[inline]
11328 fn default() -> Self {
11329 Self {
11330 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
11331 next: ptr::null(),
11332 tensor: TensorARM::default(),
11333 }
11334 }
11335}
11336
11337unsafe impl Send for MemoryDedicatedAllocateInfoTensorARM {}
11338unsafe impl Sync for MemoryDedicatedAllocateInfoTensorARM {}
11339
11340#[repr(C)]
11342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11343pub struct MemoryDedicatedRequirements {
11344 pub s_type: StructureType,
11345 pub next: *mut c_void,
11346 pub prefers_dedicated_allocation: Bool32,
11347 pub requires_dedicated_allocation: Bool32,
11348}
11349
11350impl Default for MemoryDedicatedRequirements {
11351 #[inline]
11352 fn default() -> Self {
11353 Self {
11354 s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
11355 next: ptr::null_mut(),
11356 prefers_dedicated_allocation: Bool32::default(),
11357 requires_dedicated_allocation: Bool32::default(),
11358 }
11359 }
11360}
11361
11362unsafe impl Send for MemoryDedicatedRequirements {}
11363unsafe impl Sync for MemoryDedicatedRequirements {}
11364
11365#[repr(C)]
11367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11368pub struct MemoryFdPropertiesKHR {
11369 pub s_type: StructureType,
11370 pub next: *mut c_void,
11371 pub memory_type_bits: u32,
11372}
11373
11374impl Default for MemoryFdPropertiesKHR {
11375 #[inline]
11376 fn default() -> Self {
11377 Self {
11378 s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
11379 next: ptr::null_mut(),
11380 memory_type_bits: u32::default(),
11381 }
11382 }
11383}
11384
11385unsafe impl Send for MemoryFdPropertiesKHR {}
11386unsafe impl Sync for MemoryFdPropertiesKHR {}
11387
11388#[repr(C)]
11390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11391pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
11392 pub s_type: StructureType,
11393 pub next: *const c_void,
11394 pub memory: DeviceMemory,
11395}
11396
11397impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
11398 #[inline]
11399 fn default() -> Self {
11400 Self {
11401 s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
11402 next: ptr::null(),
11403 memory: DeviceMemory::default(),
11404 }
11405 }
11406}
11407
11408unsafe impl Send for MemoryGetAndroidHardwareBufferInfoANDROID {}
11409unsafe impl Sync for MemoryGetAndroidHardwareBufferInfoANDROID {}
11410
11411#[repr(C)]
11413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11414pub struct MemoryGetFdInfoKHR {
11415 pub s_type: StructureType,
11416 pub next: *const c_void,
11417 pub memory: DeviceMemory,
11418 pub handle_type: ExternalMemoryHandleTypeFlags,
11419}
11420
11421impl Default for MemoryGetFdInfoKHR {
11422 #[inline]
11423 fn default() -> Self {
11424 Self {
11425 s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
11426 next: ptr::null(),
11427 memory: DeviceMemory::default(),
11428 handle_type: ExternalMemoryHandleTypeFlags::default(),
11429 }
11430 }
11431}
11432
11433unsafe impl Send for MemoryGetFdInfoKHR {}
11434unsafe impl Sync for MemoryGetFdInfoKHR {}
11435
11436#[repr(C)]
11438#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11439pub struct MemoryGetMetalHandleInfoEXT {
11440 pub s_type: StructureType,
11441 pub next: *const c_void,
11442 pub memory: DeviceMemory,
11443 pub handle_type: ExternalMemoryHandleTypeFlags,
11444}
11445
11446impl Default for MemoryGetMetalHandleInfoEXT {
11447 #[inline]
11448 fn default() -> Self {
11449 Self {
11450 s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
11451 next: ptr::null(),
11452 memory: DeviceMemory::default(),
11453 handle_type: ExternalMemoryHandleTypeFlags::default(),
11454 }
11455 }
11456}
11457
11458unsafe impl Send for MemoryGetMetalHandleInfoEXT {}
11459unsafe impl Sync for MemoryGetMetalHandleInfoEXT {}
11460
11461#[repr(C)]
11463#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11464pub struct MemoryGetRemoteAddressInfoNV {
11465 pub s_type: StructureType,
11466 pub next: *const c_void,
11467 pub memory: DeviceMemory,
11468 pub handle_type: ExternalMemoryHandleTypeFlags,
11469}
11470
11471impl Default for MemoryGetRemoteAddressInfoNV {
11472 #[inline]
11473 fn default() -> Self {
11474 Self {
11475 s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
11476 next: ptr::null(),
11477 memory: DeviceMemory::default(),
11478 handle_type: ExternalMemoryHandleTypeFlags::default(),
11479 }
11480 }
11481}
11482
11483unsafe impl Send for MemoryGetRemoteAddressInfoNV {}
11484unsafe impl Sync for MemoryGetRemoteAddressInfoNV {}
11485
11486#[repr(C)]
11488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11489pub struct MemoryGetSciBufInfoNV {
11490 pub s_type: StructureType,
11491 pub next: *const c_void,
11492 pub memory: DeviceMemory,
11493 pub handle_type: ExternalMemoryHandleTypeFlags,
11494}
11495
11496impl Default for MemoryGetSciBufInfoNV {
11497 #[inline]
11498 fn default() -> Self {
11499 Self {
11500 s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
11501 next: ptr::null(),
11502 memory: DeviceMemory::default(),
11503 handle_type: ExternalMemoryHandleTypeFlags::default(),
11504 }
11505 }
11506}
11507
11508unsafe impl Send for MemoryGetSciBufInfoNV {}
11509unsafe impl Sync for MemoryGetSciBufInfoNV {}
11510
11511#[repr(C)]
11513#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11514pub struct MemoryGetWin32HandleInfoKHR {
11515 pub s_type: StructureType,
11516 pub next: *const c_void,
11517 pub memory: DeviceMemory,
11518 pub handle_type: ExternalMemoryHandleTypeFlags,
11519}
11520
11521impl Default for MemoryGetWin32HandleInfoKHR {
11522 #[inline]
11523 fn default() -> Self {
11524 Self {
11525 s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
11526 next: ptr::null(),
11527 memory: DeviceMemory::default(),
11528 handle_type: ExternalMemoryHandleTypeFlags::default(),
11529 }
11530 }
11531}
11532
11533unsafe impl Send for MemoryGetWin32HandleInfoKHR {}
11534unsafe impl Sync for MemoryGetWin32HandleInfoKHR {}
11535
11536#[repr(C)]
11538#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11539pub struct MemoryGetZirconHandleInfoFUCHSIA {
11540 pub s_type: StructureType,
11541 pub next: *const c_void,
11542 pub memory: DeviceMemory,
11543 pub handle_type: ExternalMemoryHandleTypeFlags,
11544}
11545
11546impl Default for MemoryGetZirconHandleInfoFUCHSIA {
11547 #[inline]
11548 fn default() -> Self {
11549 Self {
11550 s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
11551 next: ptr::null(),
11552 memory: DeviceMemory::default(),
11553 handle_type: ExternalMemoryHandleTypeFlags::default(),
11554 }
11555 }
11556}
11557
11558unsafe impl Send for MemoryGetZirconHandleInfoFUCHSIA {}
11559unsafe impl Sync for MemoryGetZirconHandleInfoFUCHSIA {}
11560
11561#[repr(C)]
11563#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11564pub struct MemoryHeap {
11565 pub size: DeviceSize,
11566 pub flags: MemoryHeapFlags,
11567}
11568
11569#[repr(C)]
11571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11572pub struct MemoryHostPointerPropertiesEXT {
11573 pub s_type: StructureType,
11574 pub next: *mut c_void,
11575 pub memory_type_bits: u32,
11576}
11577
11578impl Default for MemoryHostPointerPropertiesEXT {
11579 #[inline]
11580 fn default() -> Self {
11581 Self {
11582 s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
11583 next: ptr::null_mut(),
11584 memory_type_bits: u32::default(),
11585 }
11586 }
11587}
11588
11589unsafe impl Send for MemoryHostPointerPropertiesEXT {}
11590unsafe impl Sync for MemoryHostPointerPropertiesEXT {}
11591
11592#[repr(C)]
11594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11595pub struct MemoryMapInfo {
11596 pub s_type: StructureType,
11597 pub next: *const c_void,
11598 pub flags: MemoryMapFlags,
11599 pub memory: DeviceMemory,
11600 pub offset: DeviceSize,
11601 pub size: DeviceSize,
11602}
11603
11604impl Default for MemoryMapInfo {
11605 #[inline]
11606 fn default() -> Self {
11607 Self {
11608 s_type: StructureType::MEMORY_MAP_INFO,
11609 next: ptr::null(),
11610 flags: MemoryMapFlags::default(),
11611 memory: DeviceMemory::default(),
11612 offset: DeviceSize::default(),
11613 size: DeviceSize::default(),
11614 }
11615 }
11616}
11617
11618unsafe impl Send for MemoryMapInfo {}
11619unsafe impl Sync for MemoryMapInfo {}
11620
11621#[repr(C)]
11623#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11624pub struct MemoryMapPlacedInfoEXT {
11625 pub s_type: StructureType,
11626 pub next: *const c_void,
11627 pub placed_address: *mut c_void,
11628}
11629
11630impl Default for MemoryMapPlacedInfoEXT {
11631 #[inline]
11632 fn default() -> Self {
11633 Self {
11634 s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
11635 next: ptr::null(),
11636 placed_address: ptr::null_mut(),
11637 }
11638 }
11639}
11640
11641unsafe impl Send for MemoryMapPlacedInfoEXT {}
11642unsafe impl Sync for MemoryMapPlacedInfoEXT {}
11643
11644#[repr(C)]
11646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11647pub struct MemoryMetalHandlePropertiesEXT {
11648 pub s_type: StructureType,
11649 pub next: *mut c_void,
11650 pub memory_type_bits: u32,
11651}
11652
11653impl Default for MemoryMetalHandlePropertiesEXT {
11654 #[inline]
11655 fn default() -> Self {
11656 Self {
11657 s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
11658 next: ptr::null_mut(),
11659 memory_type_bits: u32::default(),
11660 }
11661 }
11662}
11663
11664unsafe impl Send for MemoryMetalHandlePropertiesEXT {}
11665unsafe impl Sync for MemoryMetalHandlePropertiesEXT {}
11666
11667#[repr(C)]
11669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11670pub struct MemoryOpaqueCaptureAddressAllocateInfo {
11671 pub s_type: StructureType,
11672 pub next: *const c_void,
11673 pub opaque_capture_address: u64,
11674}
11675
11676impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
11677 #[inline]
11678 fn default() -> Self {
11679 Self {
11680 s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
11681 next: ptr::null(),
11682 opaque_capture_address: u64::default(),
11683 }
11684 }
11685}
11686
11687unsafe impl Send for MemoryOpaqueCaptureAddressAllocateInfo {}
11688unsafe impl Sync for MemoryOpaqueCaptureAddressAllocateInfo {}
11689
11690#[repr(C)]
11692#[derive(Copy, Clone, Debug, PartialEq)]
11693pub struct MemoryPriorityAllocateInfoEXT {
11694 pub s_type: StructureType,
11695 pub next: *const c_void,
11696 pub priority: f32,
11697}
11698
11699impl Default for MemoryPriorityAllocateInfoEXT {
11700 #[inline]
11701 fn default() -> Self {
11702 Self {
11703 s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
11704 next: ptr::null(),
11705 priority: f32::default(),
11706 }
11707 }
11708}
11709
11710unsafe impl Send for MemoryPriorityAllocateInfoEXT {}
11711unsafe impl Sync for MemoryPriorityAllocateInfoEXT {}
11712
11713#[repr(C)]
11715#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11716pub struct MemoryRequirements {
11717 pub size: DeviceSize,
11718 pub alignment: DeviceSize,
11719 pub memory_type_bits: u32,
11720}
11721
11722#[repr(C)]
11724#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11725pub struct MemoryRequirements2 {
11726 pub s_type: StructureType,
11727 pub next: *mut c_void,
11728 pub memory_requirements: MemoryRequirements,
11729}
11730
11731impl Default for MemoryRequirements2 {
11732 #[inline]
11733 fn default() -> Self {
11734 Self {
11735 s_type: StructureType::MEMORY_REQUIREMENTS_2,
11736 next: ptr::null_mut(),
11737 memory_requirements: MemoryRequirements::default(),
11738 }
11739 }
11740}
11741
11742unsafe impl Send for MemoryRequirements2 {}
11743unsafe impl Sync for MemoryRequirements2 {}
11744
11745#[repr(C)]
11747#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11748pub struct MemorySciBufPropertiesNV {
11749 pub s_type: StructureType,
11750 pub next: *const c_void,
11751 pub memory_type_bits: u32,
11752}
11753
11754impl Default for MemorySciBufPropertiesNV {
11755 #[inline]
11756 fn default() -> Self {
11757 Self {
11758 s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
11759 next: ptr::null(),
11760 memory_type_bits: u32::default(),
11761 }
11762 }
11763}
11764
11765unsafe impl Send for MemorySciBufPropertiesNV {}
11766unsafe impl Sync for MemorySciBufPropertiesNV {}
11767
11768#[repr(C)]
11770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11771pub struct MemoryToImageCopy {
11772 pub s_type: StructureType,
11773 pub next: *const c_void,
11774 pub host_pointer: *const c_void,
11775 pub memory_row_length: u32,
11776 pub memory_image_height: u32,
11777 pub image_subresource: ImageSubresourceLayers,
11778 pub image_offset: Offset3D,
11779 pub image_extent: Extent3D,
11780}
11781
11782impl Default for MemoryToImageCopy {
11783 #[inline]
11784 fn default() -> Self {
11785 Self {
11786 s_type: StructureType::MEMORY_TO_IMAGE_COPY,
11787 next: ptr::null(),
11788 host_pointer: ptr::null(),
11789 memory_row_length: u32::default(),
11790 memory_image_height: u32::default(),
11791 image_subresource: ImageSubresourceLayers::default(),
11792 image_offset: Offset3D::default(),
11793 image_extent: Extent3D::default(),
11794 }
11795 }
11796}
11797
11798unsafe impl Send for MemoryToImageCopy {}
11799unsafe impl Sync for MemoryToImageCopy {}
11800
11801#[repr(C)]
11803#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11804pub struct MemoryType {
11805 pub property_flags: MemoryPropertyFlags,
11806 pub heap_index: u32,
11807}
11808
11809#[repr(C)]
11811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11812pub struct MemoryUnmapInfo {
11813 pub s_type: StructureType,
11814 pub next: *const c_void,
11815 pub flags: MemoryUnmapFlags,
11816 pub memory: DeviceMemory,
11817}
11818
11819impl Default for MemoryUnmapInfo {
11820 #[inline]
11821 fn default() -> Self {
11822 Self {
11823 s_type: StructureType::MEMORY_UNMAP_INFO,
11824 next: ptr::null(),
11825 flags: MemoryUnmapFlags::default(),
11826 memory: DeviceMemory::default(),
11827 }
11828 }
11829}
11830
11831unsafe impl Send for MemoryUnmapInfo {}
11832unsafe impl Sync for MemoryUnmapInfo {}
11833
11834#[repr(C)]
11836#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11837pub struct MemoryWin32HandlePropertiesKHR {
11838 pub s_type: StructureType,
11839 pub next: *mut c_void,
11840 pub memory_type_bits: u32,
11841}
11842
11843impl Default for MemoryWin32HandlePropertiesKHR {
11844 #[inline]
11845 fn default() -> Self {
11846 Self {
11847 s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
11848 next: ptr::null_mut(),
11849 memory_type_bits: u32::default(),
11850 }
11851 }
11852}
11853
11854unsafe impl Send for MemoryWin32HandlePropertiesKHR {}
11855unsafe impl Sync for MemoryWin32HandlePropertiesKHR {}
11856
11857#[repr(C)]
11859#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11860pub struct MemoryZirconHandlePropertiesFUCHSIA {
11861 pub s_type: StructureType,
11862 pub next: *mut c_void,
11863 pub memory_type_bits: u32,
11864}
11865
11866impl Default for MemoryZirconHandlePropertiesFUCHSIA {
11867 #[inline]
11868 fn default() -> Self {
11869 Self {
11870 s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
11871 next: ptr::null_mut(),
11872 memory_type_bits: u32::default(),
11873 }
11874 }
11875}
11876
11877unsafe impl Send for MemoryZirconHandlePropertiesFUCHSIA {}
11878unsafe impl Sync for MemoryZirconHandlePropertiesFUCHSIA {}
11879
11880#[repr(C)]
11882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11883pub struct MetalSurfaceCreateInfoEXT {
11884 pub s_type: StructureType,
11885 pub next: *const c_void,
11886 pub flags: MetalSurfaceCreateFlagsEXT,
11887 pub layer: *const CAMetalLayer,
11888}
11889
11890impl Default for MetalSurfaceCreateInfoEXT {
11891 #[inline]
11892 fn default() -> Self {
11893 Self {
11894 s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
11895 next: ptr::null(),
11896 flags: MetalSurfaceCreateFlagsEXT::default(),
11897 layer: ptr::null(),
11898 }
11899 }
11900}
11901
11902unsafe impl Send for MetalSurfaceCreateInfoEXT {}
11903unsafe impl Sync for MetalSurfaceCreateInfoEXT {}
11904
11905#[repr(C)]
11907#[derive(Copy, Clone, Debug)]
11908pub struct MicromapBuildInfoEXT {
11909 pub s_type: StructureType,
11910 pub next: *const c_void,
11911 pub type_: MicromapTypeEXT,
11912 pub flags: BuildMicromapFlagsEXT,
11913 pub mode: BuildMicromapModeEXT,
11914 pub dst_micromap: MicromapEXT,
11915 pub usage_counts_count: u32,
11916 pub usage_counts: *const MicromapUsageEXT,
11917 pub pointer_usage_counts: *const *const MicromapUsageEXT,
11918 pub data: DeviceOrHostAddressConstKHR,
11919 pub scratch_data: DeviceOrHostAddressKHR,
11920 pub triangle_array: DeviceOrHostAddressConstKHR,
11921 pub triangle_array_stride: DeviceSize,
11922}
11923
11924impl Default for MicromapBuildInfoEXT {
11925 #[inline]
11926 fn default() -> Self {
11927 Self {
11928 s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
11929 next: ptr::null(),
11930 type_: MicromapTypeEXT::default(),
11931 flags: BuildMicromapFlagsEXT::default(),
11932 mode: BuildMicromapModeEXT::default(),
11933 dst_micromap: MicromapEXT::default(),
11934 usage_counts_count: u32::default(),
11935 usage_counts: ptr::null(),
11936 pointer_usage_counts: ptr::null(),
11937 data: DeviceOrHostAddressConstKHR::default(),
11938 scratch_data: DeviceOrHostAddressKHR::default(),
11939 triangle_array: DeviceOrHostAddressConstKHR::default(),
11940 triangle_array_stride: DeviceSize::default(),
11941 }
11942 }
11943}
11944
11945unsafe impl Send for MicromapBuildInfoEXT {}
11946unsafe impl Sync for MicromapBuildInfoEXT {}
11947
11948#[repr(C)]
11950#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11951pub struct MicromapBuildSizesInfoEXT {
11952 pub s_type: StructureType,
11953 pub next: *const c_void,
11954 pub micromap_size: DeviceSize,
11955 pub build_scratch_size: DeviceSize,
11956 pub discardable: Bool32,
11957}
11958
11959impl Default for MicromapBuildSizesInfoEXT {
11960 #[inline]
11961 fn default() -> Self {
11962 Self {
11963 s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
11964 next: ptr::null(),
11965 micromap_size: DeviceSize::default(),
11966 build_scratch_size: DeviceSize::default(),
11967 discardable: Bool32::default(),
11968 }
11969 }
11970}
11971
11972unsafe impl Send for MicromapBuildSizesInfoEXT {}
11973unsafe impl Sync for MicromapBuildSizesInfoEXT {}
11974
11975#[repr(C)]
11977#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11978pub struct MicromapCreateInfoEXT {
11979 pub s_type: StructureType,
11980 pub next: *const c_void,
11981 pub create_flags: MicromapCreateFlagsEXT,
11982 pub buffer: Buffer,
11983 pub offset: DeviceSize,
11984 pub size: DeviceSize,
11985 pub type_: MicromapTypeEXT,
11986 pub device_address: DeviceAddress,
11987}
11988
11989impl Default for MicromapCreateInfoEXT {
11990 #[inline]
11991 fn default() -> Self {
11992 Self {
11993 s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
11994 next: ptr::null(),
11995 create_flags: MicromapCreateFlagsEXT::default(),
11996 buffer: Buffer::default(),
11997 offset: DeviceSize::default(),
11998 size: DeviceSize::default(),
11999 type_: MicromapTypeEXT::default(),
12000 device_address: DeviceAddress::default(),
12001 }
12002 }
12003}
12004
12005unsafe impl Send for MicromapCreateInfoEXT {}
12006unsafe impl Sync for MicromapCreateInfoEXT {}
12007
12008#[repr(C)]
12010#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12011pub struct MicromapTriangleEXT {
12012 pub data_offset: u32,
12013 pub subdivision_level: u16,
12014 pub format: u16,
12015}
12016
12017#[repr(C)]
12019#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12020pub struct MicromapUsageEXT {
12021 pub count: u32,
12022 pub subdivision_level: u32,
12023 pub format: u32,
12024}
12025
12026#[repr(C)]
12028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12029pub struct MicromapVersionInfoEXT {
12030 pub s_type: StructureType,
12031 pub next: *const c_void,
12032 pub version_data: *const u8,
12033}
12034
12035impl Default for MicromapVersionInfoEXT {
12036 #[inline]
12037 fn default() -> Self {
12038 Self {
12039 s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
12040 next: ptr::null(),
12041 version_data: ptr::null(),
12042 }
12043 }
12044}
12045
12046unsafe impl Send for MicromapVersionInfoEXT {}
12047unsafe impl Sync for MicromapVersionInfoEXT {}
12048
12049#[repr(C)]
12051#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12052pub struct MultiDrawIndexedInfoEXT {
12053 pub first_index: u32,
12054 pub index_count: u32,
12055 pub vertex_offset: i32,
12056}
12057
12058#[repr(C)]
12060#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12061pub struct MultiDrawInfoEXT {
12062 pub first_vertex: u32,
12063 pub vertex_count: u32,
12064}
12065
12066#[repr(C)]
12068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12069pub struct MultisamplePropertiesEXT {
12070 pub s_type: StructureType,
12071 pub next: *mut c_void,
12072 pub max_sample_location_grid_size: Extent2D,
12073}
12074
12075impl Default for MultisamplePropertiesEXT {
12076 #[inline]
12077 fn default() -> Self {
12078 Self {
12079 s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
12080 next: ptr::null_mut(),
12081 max_sample_location_grid_size: Extent2D::default(),
12082 }
12083 }
12084}
12085
12086unsafe impl Send for MultisamplePropertiesEXT {}
12087unsafe impl Sync for MultisamplePropertiesEXT {}
12088
12089#[repr(C)]
12091#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12092pub struct MultisampledRenderToSingleSampledInfoEXT {
12093 pub s_type: StructureType,
12094 pub next: *const c_void,
12095 pub multisampled_render_to_single_sampled_enable: Bool32,
12096 pub rasterization_samples: SampleCountFlags,
12097}
12098
12099impl Default for MultisampledRenderToSingleSampledInfoEXT {
12100 #[inline]
12101 fn default() -> Self {
12102 Self {
12103 s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
12104 next: ptr::null(),
12105 multisampled_render_to_single_sampled_enable: Bool32::default(),
12106 rasterization_samples: SampleCountFlags::default(),
12107 }
12108 }
12109}
12110
12111unsafe impl Send for MultisampledRenderToSingleSampledInfoEXT {}
12112unsafe impl Sync for MultisampledRenderToSingleSampledInfoEXT {}
12113
12114#[repr(C)]
12116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12117pub struct MultiviewPerViewAttributesInfoNVX {
12118 pub s_type: StructureType,
12119 pub next: *const c_void,
12120 pub per_view_attributes: Bool32,
12121 pub per_view_attributes_position_x_only: Bool32,
12122}
12123
12124impl Default for MultiviewPerViewAttributesInfoNVX {
12125 #[inline]
12126 fn default() -> Self {
12127 Self {
12128 s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
12129 next: ptr::null(),
12130 per_view_attributes: Bool32::default(),
12131 per_view_attributes_position_x_only: Bool32::default(),
12132 }
12133 }
12134}
12135
12136unsafe impl Send for MultiviewPerViewAttributesInfoNVX {}
12137unsafe impl Sync for MultiviewPerViewAttributesInfoNVX {}
12138
12139#[repr(C)]
12141#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12142pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12143 pub s_type: StructureType,
12144 pub next: *const c_void,
12145 pub per_view_render_area_count: u32,
12146 pub per_view_render_areas: *const Rect2D,
12147}
12148
12149impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12150 #[inline]
12151 fn default() -> Self {
12152 Self {
12153 s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
12154 next: ptr::null(),
12155 per_view_render_area_count: u32::default(),
12156 per_view_render_areas: ptr::null(),
12157 }
12158 }
12159}
12160
12161unsafe impl Send for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12162unsafe impl Sync for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12163
12164#[repr(C)]
12166#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12167pub struct MutableDescriptorTypeCreateInfoEXT {
12168 pub s_type: StructureType,
12169 pub next: *const c_void,
12170 pub mutable_descriptor_type_list_count: u32,
12171 pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
12172}
12173
12174impl Default for MutableDescriptorTypeCreateInfoEXT {
12175 #[inline]
12176 fn default() -> Self {
12177 Self {
12178 s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
12179 next: ptr::null(),
12180 mutable_descriptor_type_list_count: u32::default(),
12181 mutable_descriptor_type_lists: ptr::null(),
12182 }
12183 }
12184}
12185
12186unsafe impl Send for MutableDescriptorTypeCreateInfoEXT {}
12187unsafe impl Sync for MutableDescriptorTypeCreateInfoEXT {}
12188
12189#[repr(C)]
12191#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12192pub struct MutableDescriptorTypeListEXT {
12193 pub descriptor_type_count: u32,
12194 pub descriptor_types: *const DescriptorType,
12195}
12196
12197impl Default for MutableDescriptorTypeListEXT {
12198 #[inline]
12199 fn default() -> Self {
12200 Self {
12201 descriptor_type_count: u32::default(),
12202 descriptor_types: ptr::null(),
12203 }
12204 }
12205}
12206
12207unsafe impl Send for MutableDescriptorTypeListEXT {}
12208unsafe impl Sync for MutableDescriptorTypeListEXT {}
12209
12210#[repr(C)]
12212#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12213pub struct Offset2D {
12214 pub x: i32,
12215 pub y: i32,
12216}
12217
12218#[repr(C)]
12220#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12221pub struct Offset3D {
12222 pub x: i32,
12223 pub y: i32,
12224 pub z: i32,
12225}
12226
12227#[repr(C)]
12229#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12230pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
12231 pub s_type: StructureType,
12232 pub next: *const c_void,
12233 pub opaque_capture_descriptor_data: *const c_void,
12234}
12235
12236impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
12237 #[inline]
12238 fn default() -> Self {
12239 Self {
12240 s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
12241 next: ptr::null(),
12242 opaque_capture_descriptor_data: ptr::null(),
12243 }
12244 }
12245}
12246
12247unsafe impl Send for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12248unsafe impl Sync for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12249
12250#[repr(C)]
12252#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12253pub struct OpticalFlowExecuteInfoNV {
12254 pub s_type: StructureType,
12255 pub next: *mut c_void,
12256 pub flags: OpticalFlowExecuteFlagsNV,
12257 pub region_count: u32,
12258 pub regions: *const Rect2D,
12259}
12260
12261impl Default for OpticalFlowExecuteInfoNV {
12262 #[inline]
12263 fn default() -> Self {
12264 Self {
12265 s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
12266 next: ptr::null_mut(),
12267 flags: OpticalFlowExecuteFlagsNV::default(),
12268 region_count: u32::default(),
12269 regions: ptr::null(),
12270 }
12271 }
12272}
12273
12274unsafe impl Send for OpticalFlowExecuteInfoNV {}
12275unsafe impl Sync for OpticalFlowExecuteInfoNV {}
12276
12277#[repr(C)]
12279#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12280pub struct OpticalFlowImageFormatInfoNV {
12281 pub s_type: StructureType,
12282 pub next: *const c_void,
12283 pub usage: OpticalFlowUsageFlagsNV,
12284}
12285
12286impl Default for OpticalFlowImageFormatInfoNV {
12287 #[inline]
12288 fn default() -> Self {
12289 Self {
12290 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
12291 next: ptr::null(),
12292 usage: OpticalFlowUsageFlagsNV::default(),
12293 }
12294 }
12295}
12296
12297unsafe impl Send for OpticalFlowImageFormatInfoNV {}
12298unsafe impl Sync for OpticalFlowImageFormatInfoNV {}
12299
12300#[repr(C)]
12302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12303pub struct OpticalFlowImageFormatPropertiesNV {
12304 pub s_type: StructureType,
12305 pub next: *const c_void,
12306 pub format: Format,
12307}
12308
12309impl Default for OpticalFlowImageFormatPropertiesNV {
12310 #[inline]
12311 fn default() -> Self {
12312 Self {
12313 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
12314 next: ptr::null(),
12315 format: Format::default(),
12316 }
12317 }
12318}
12319
12320unsafe impl Send for OpticalFlowImageFormatPropertiesNV {}
12321unsafe impl Sync for OpticalFlowImageFormatPropertiesNV {}
12322
12323#[repr(C)]
12325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12326pub struct OpticalFlowSessionCreateInfoNV {
12327 pub s_type: StructureType,
12328 pub next: *mut c_void,
12329 pub width: u32,
12330 pub height: u32,
12331 pub image_format: Format,
12332 pub flow_vector_format: Format,
12333 pub cost_format: Format,
12334 pub output_grid_size: OpticalFlowGridSizeFlagsNV,
12335 pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
12336 pub performance_level: OpticalFlowPerformanceLevelNV,
12337 pub flags: OpticalFlowSessionCreateFlagsNV,
12338}
12339
12340impl Default for OpticalFlowSessionCreateInfoNV {
12341 #[inline]
12342 fn default() -> Self {
12343 Self {
12344 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
12345 next: ptr::null_mut(),
12346 width: u32::default(),
12347 height: u32::default(),
12348 image_format: Format::default(),
12349 flow_vector_format: Format::default(),
12350 cost_format: Format::default(),
12351 output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12352 hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12353 performance_level: OpticalFlowPerformanceLevelNV::default(),
12354 flags: OpticalFlowSessionCreateFlagsNV::default(),
12355 }
12356 }
12357}
12358
12359unsafe impl Send for OpticalFlowSessionCreateInfoNV {}
12360unsafe impl Sync for OpticalFlowSessionCreateInfoNV {}
12361
12362#[repr(C)]
12364#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12365pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
12366 pub s_type: StructureType,
12367 pub next: *mut c_void,
12368 pub id: u32,
12369 pub size: u32,
12370 pub private_data: *const c_void,
12371}
12372
12373impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
12374 #[inline]
12375 fn default() -> Self {
12376 Self {
12377 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
12378 next: ptr::null_mut(),
12379 id: u32::default(),
12380 size: u32::default(),
12381 private_data: ptr::null(),
12382 }
12383 }
12384}
12385
12386unsafe impl Send for OpticalFlowSessionCreatePrivateDataInfoNV {}
12387unsafe impl Sync for OpticalFlowSessionCreatePrivateDataInfoNV {}
12388
12389#[repr(C)]
12391#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12392pub struct OutOfBandQueueTypeInfoNV {
12393 pub s_type: StructureType,
12394 pub next: *const c_void,
12395 pub queue_type: OutOfBandQueueTypeNV,
12396}
12397
12398impl Default for OutOfBandQueueTypeInfoNV {
12399 #[inline]
12400 fn default() -> Self {
12401 Self {
12402 s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
12403 next: ptr::null(),
12404 queue_type: OutOfBandQueueTypeNV::default(),
12405 }
12406 }
12407}
12408
12409unsafe impl Send for OutOfBandQueueTypeInfoNV {}
12410unsafe impl Sync for OutOfBandQueueTypeInfoNV {}
12411
12412#[repr(C)]
12414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12415pub struct PartitionedAccelerationStructureFlagsNV {
12416 pub s_type: StructureType,
12417 pub next: *mut c_void,
12418 pub enable_partition_translation: Bool32,
12419}
12420
12421impl Default for PartitionedAccelerationStructureFlagsNV {
12422 #[inline]
12423 fn default() -> Self {
12424 Self {
12425 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
12426 next: ptr::null_mut(),
12427 enable_partition_translation: Bool32::default(),
12428 }
12429 }
12430}
12431
12432unsafe impl Send for PartitionedAccelerationStructureFlagsNV {}
12433unsafe impl Sync for PartitionedAccelerationStructureFlagsNV {}
12434
12435#[repr(C)]
12437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12438pub struct PartitionedAccelerationStructureInstancesInputNV {
12439 pub s_type: StructureType,
12440 pub next: *mut c_void,
12441 pub flags: BuildAccelerationStructureFlagsKHR,
12442 pub instance_count: u32,
12443 pub max_instance_per_partition_count: u32,
12444 pub partition_count: u32,
12445 pub max_instance_in_global_partition_count: u32,
12446}
12447
12448impl Default for PartitionedAccelerationStructureInstancesInputNV {
12449 #[inline]
12450 fn default() -> Self {
12451 Self {
12452 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
12453 next: ptr::null_mut(),
12454 flags: BuildAccelerationStructureFlagsKHR::default(),
12455 instance_count: u32::default(),
12456 max_instance_per_partition_count: u32::default(),
12457 partition_count: u32::default(),
12458 max_instance_in_global_partition_count: u32::default(),
12459 }
12460 }
12461}
12462
12463unsafe impl Send for PartitionedAccelerationStructureInstancesInputNV {}
12464unsafe impl Sync for PartitionedAccelerationStructureInstancesInputNV {}
12465
12466#[repr(C)]
12468#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12469pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
12470 pub instance_index: u32,
12471 pub instance_contribution_to_hit_group_index: u32,
12472 pub acceleration_structure: DeviceAddress,
12473}
12474
12475#[repr(C)]
12477#[derive(Copy, Clone, Default, Debug, PartialEq)]
12478pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
12479 pub transform: TransformMatrixKHR,
12480 pub explicit_aabb: [f32; 6],
12481 pub instance_id: u32,
12482 pub instance_mask: u32,
12483 pub instance_contribution_to_hit_group_index: u32,
12484 pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
12485 pub instance_index: u32,
12486 pub partition_index: u32,
12487 pub acceleration_structure: DeviceAddress,
12488}
12489
12490#[repr(C)]
12492#[derive(Copy, Clone, Default, Debug, PartialEq)]
12493pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
12494 pub partition_index: u32,
12495 pub partition_translation: [f32; 3],
12496}
12497
12498#[repr(C)]
12500#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12501pub struct PastPresentationTimingGOOGLE {
12502 pub present_id: u32,
12503 pub desired_present_time: u64,
12504 pub actual_present_time: u64,
12505 pub earliest_present_time: u64,
12506 pub present_margin: u64,
12507}
12508
12509#[repr(C)]
12511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12512pub struct PerTileBeginInfoQCOM {
12513 pub s_type: StructureType,
12514 pub next: *const c_void,
12515}
12516
12517impl Default for PerTileBeginInfoQCOM {
12518 #[inline]
12519 fn default() -> Self {
12520 Self {
12521 s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
12522 next: ptr::null(),
12523 }
12524 }
12525}
12526
12527unsafe impl Send for PerTileBeginInfoQCOM {}
12528unsafe impl Sync for PerTileBeginInfoQCOM {}
12529
12530#[repr(C)]
12532#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12533pub struct PerTileEndInfoQCOM {
12534 pub s_type: StructureType,
12535 pub next: *const c_void,
12536}
12537
12538impl Default for PerTileEndInfoQCOM {
12539 #[inline]
12540 fn default() -> Self {
12541 Self {
12542 s_type: StructureType::PER_TILE_END_INFO_QCOM,
12543 next: ptr::null(),
12544 }
12545 }
12546}
12547
12548unsafe impl Send for PerTileEndInfoQCOM {}
12549unsafe impl Sync for PerTileEndInfoQCOM {}
12550
12551#[repr(C)]
12553#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12554pub struct PerformanceConfigurationAcquireInfoINTEL {
12555 pub s_type: StructureType,
12556 pub next: *const c_void,
12557 pub type_: PerformanceConfigurationTypeINTEL,
12558}
12559
12560impl Default for PerformanceConfigurationAcquireInfoINTEL {
12561 #[inline]
12562 fn default() -> Self {
12563 Self {
12564 s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
12565 next: ptr::null(),
12566 type_: PerformanceConfigurationTypeINTEL::default(),
12567 }
12568 }
12569}
12570
12571unsafe impl Send for PerformanceConfigurationAcquireInfoINTEL {}
12572unsafe impl Sync for PerformanceConfigurationAcquireInfoINTEL {}
12573
12574#[repr(C)]
12576#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12577pub struct PerformanceCounterDescriptionKHR {
12578 pub s_type: StructureType,
12579 pub next: *mut c_void,
12580 pub flags: PerformanceCounterDescriptionFlagsKHR,
12581 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
12582 pub category: StringArray<MAX_DESCRIPTION_SIZE>,
12583 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
12584}
12585
12586impl Default for PerformanceCounterDescriptionKHR {
12587 #[inline]
12588 fn default() -> Self {
12589 Self {
12590 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
12591 next: ptr::null_mut(),
12592 flags: PerformanceCounterDescriptionFlagsKHR::default(),
12593 name: StringArray::default(),
12594 category: StringArray::default(),
12595 description: StringArray::default(),
12596 }
12597 }
12598}
12599
12600unsafe impl Send for PerformanceCounterDescriptionKHR {}
12601unsafe impl Sync for PerformanceCounterDescriptionKHR {}
12602
12603#[repr(C)]
12605#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12606pub struct PerformanceCounterKHR {
12607 pub s_type: StructureType,
12608 pub next: *mut c_void,
12609 pub unit: PerformanceCounterUnitKHR,
12610 pub scope: PerformanceCounterScopeKHR,
12611 pub storage: PerformanceCounterStorageKHR,
12612 pub uuid: ByteArray<UUID_SIZE>,
12613}
12614
12615impl Default for PerformanceCounterKHR {
12616 #[inline]
12617 fn default() -> Self {
12618 Self {
12619 s_type: StructureType::PERFORMANCE_COUNTER_KHR,
12620 next: ptr::null_mut(),
12621 unit: PerformanceCounterUnitKHR::default(),
12622 scope: PerformanceCounterScopeKHR::default(),
12623 storage: PerformanceCounterStorageKHR::default(),
12624 uuid: ByteArray::default(),
12625 }
12626 }
12627}
12628
12629unsafe impl Send for PerformanceCounterKHR {}
12630unsafe impl Sync for PerformanceCounterKHR {}
12631
12632#[repr(C)]
12634#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12635pub struct PerformanceMarkerInfoINTEL {
12636 pub s_type: StructureType,
12637 pub next: *const c_void,
12638 pub marker: u64,
12639}
12640
12641impl Default for PerformanceMarkerInfoINTEL {
12642 #[inline]
12643 fn default() -> Self {
12644 Self {
12645 s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
12646 next: ptr::null(),
12647 marker: u64::default(),
12648 }
12649 }
12650}
12651
12652unsafe impl Send for PerformanceMarkerInfoINTEL {}
12653unsafe impl Sync for PerformanceMarkerInfoINTEL {}
12654
12655#[repr(C)]
12657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12658pub struct PerformanceOverrideInfoINTEL {
12659 pub s_type: StructureType,
12660 pub next: *const c_void,
12661 pub type_: PerformanceOverrideTypeINTEL,
12662 pub enable: Bool32,
12663 pub parameter: u64,
12664}
12665
12666impl Default for PerformanceOverrideInfoINTEL {
12667 #[inline]
12668 fn default() -> Self {
12669 Self {
12670 s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
12671 next: ptr::null(),
12672 type_: PerformanceOverrideTypeINTEL::default(),
12673 enable: Bool32::default(),
12674 parameter: u64::default(),
12675 }
12676 }
12677}
12678
12679unsafe impl Send for PerformanceOverrideInfoINTEL {}
12680unsafe impl Sync for PerformanceOverrideInfoINTEL {}
12681
12682#[repr(C)]
12684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12685pub struct PerformanceQueryReservationInfoKHR {
12686 pub s_type: StructureType,
12687 pub next: *const c_void,
12688 pub max_performance_queries_per_pool: u32,
12689}
12690
12691impl Default for PerformanceQueryReservationInfoKHR {
12692 #[inline]
12693 fn default() -> Self {
12694 Self {
12695 s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
12696 next: ptr::null(),
12697 max_performance_queries_per_pool: u32::default(),
12698 }
12699 }
12700}
12701
12702unsafe impl Send for PerformanceQueryReservationInfoKHR {}
12703unsafe impl Sync for PerformanceQueryReservationInfoKHR {}
12704
12705#[repr(C)]
12707#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12708pub struct PerformanceQuerySubmitInfoKHR {
12709 pub s_type: StructureType,
12710 pub next: *const c_void,
12711 pub counter_pass_index: u32,
12712}
12713
12714impl Default for PerformanceQuerySubmitInfoKHR {
12715 #[inline]
12716 fn default() -> Self {
12717 Self {
12718 s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
12719 next: ptr::null(),
12720 counter_pass_index: u32::default(),
12721 }
12722 }
12723}
12724
12725unsafe impl Send for PerformanceQuerySubmitInfoKHR {}
12726unsafe impl Sync for PerformanceQuerySubmitInfoKHR {}
12727
12728#[repr(C)]
12730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12731pub struct PerformanceStreamMarkerInfoINTEL {
12732 pub s_type: StructureType,
12733 pub next: *const c_void,
12734 pub marker: u32,
12735}
12736
12737impl Default for PerformanceStreamMarkerInfoINTEL {
12738 #[inline]
12739 fn default() -> Self {
12740 Self {
12741 s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
12742 next: ptr::null(),
12743 marker: u32::default(),
12744 }
12745 }
12746}
12747
12748unsafe impl Send for PerformanceStreamMarkerInfoINTEL {}
12749unsafe impl Sync for PerformanceStreamMarkerInfoINTEL {}
12750
12751#[repr(C)]
12753#[derive(Copy, Clone, Default, Debug)]
12754pub struct PerformanceValueINTEL {
12755 pub type_: PerformanceValueTypeINTEL,
12756 pub data: PerformanceValueDataINTEL,
12757}
12758
12759#[repr(C)]
12761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12762pub struct PhysicalDevice16BitStorageFeatures {
12763 pub s_type: StructureType,
12764 pub next: *mut c_void,
12765 pub storage_buffer_16bit_access: Bool32,
12766 pub uniform_and_storage_buffer_16bit_access: Bool32,
12767 pub storage_push_constant16: Bool32,
12768 pub storage_input_output16: Bool32,
12769}
12770
12771impl Default for PhysicalDevice16BitStorageFeatures {
12772 #[inline]
12773 fn default() -> Self {
12774 Self {
12775 s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
12776 next: ptr::null_mut(),
12777 storage_buffer_16bit_access: Bool32::default(),
12778 uniform_and_storage_buffer_16bit_access: Bool32::default(),
12779 storage_push_constant16: Bool32::default(),
12780 storage_input_output16: Bool32::default(),
12781 }
12782 }
12783}
12784
12785unsafe impl Send for PhysicalDevice16BitStorageFeatures {}
12786unsafe impl Sync for PhysicalDevice16BitStorageFeatures {}
12787
12788#[repr(C)]
12790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12791pub struct PhysicalDevice4444FormatsFeaturesEXT {
12792 pub s_type: StructureType,
12793 pub next: *mut c_void,
12794 pub format_a4_r4_g4_b4: Bool32,
12795 pub format_a4_b4_g4_r4: Bool32,
12796}
12797
12798impl Default for PhysicalDevice4444FormatsFeaturesEXT {
12799 #[inline]
12800 fn default() -> Self {
12801 Self {
12802 s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
12803 next: ptr::null_mut(),
12804 format_a4_r4_g4_b4: Bool32::default(),
12805 format_a4_b4_g4_r4: Bool32::default(),
12806 }
12807 }
12808}
12809
12810unsafe impl Send for PhysicalDevice4444FormatsFeaturesEXT {}
12811unsafe impl Sync for PhysicalDevice4444FormatsFeaturesEXT {}
12812
12813#[repr(C)]
12815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12816pub struct PhysicalDevice8BitStorageFeatures {
12817 pub s_type: StructureType,
12818 pub next: *mut c_void,
12819 pub storage_buffer_8bit_access: Bool32,
12820 pub uniform_and_storage_buffer_8bit_access: Bool32,
12821 pub storage_push_constant8: Bool32,
12822}
12823
12824impl Default for PhysicalDevice8BitStorageFeatures {
12825 #[inline]
12826 fn default() -> Self {
12827 Self {
12828 s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
12829 next: ptr::null_mut(),
12830 storage_buffer_8bit_access: Bool32::default(),
12831 uniform_and_storage_buffer_8bit_access: Bool32::default(),
12832 storage_push_constant8: Bool32::default(),
12833 }
12834 }
12835}
12836
12837unsafe impl Send for PhysicalDevice8BitStorageFeatures {}
12838unsafe impl Sync for PhysicalDevice8BitStorageFeatures {}
12839
12840#[repr(C)]
12842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12843pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
12844 pub s_type: StructureType,
12845 pub next: *mut c_void,
12846 pub decode_mode_shared_exponent: Bool32,
12847}
12848
12849impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
12850 #[inline]
12851 fn default() -> Self {
12852 Self {
12853 s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
12854 next: ptr::null_mut(),
12855 decode_mode_shared_exponent: Bool32::default(),
12856 }
12857 }
12858}
12859
12860unsafe impl Send for PhysicalDeviceASTCDecodeFeaturesEXT {}
12861unsafe impl Sync for PhysicalDeviceASTCDecodeFeaturesEXT {}
12862
12863#[repr(C)]
12865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12866pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
12867 pub s_type: StructureType,
12868 pub next: *mut c_void,
12869 pub acceleration_structure: Bool32,
12870 pub acceleration_structure_capture_replay: Bool32,
12871 pub acceleration_structure_indirect_build: Bool32,
12872 pub acceleration_structure_host_commands: Bool32,
12873 pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
12874}
12875
12876impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
12877 #[inline]
12878 fn default() -> Self {
12879 Self {
12880 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
12881 next: ptr::null_mut(),
12882 acceleration_structure: Bool32::default(),
12883 acceleration_structure_capture_replay: Bool32::default(),
12884 acceleration_structure_indirect_build: Bool32::default(),
12885 acceleration_structure_host_commands: Bool32::default(),
12886 descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
12887 }
12888 }
12889}
12890
12891unsafe impl Send for PhysicalDeviceAccelerationStructureFeaturesKHR {}
12892unsafe impl Sync for PhysicalDeviceAccelerationStructureFeaturesKHR {}
12893
12894#[repr(C)]
12896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12897pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
12898 pub s_type: StructureType,
12899 pub next: *mut c_void,
12900 pub max_geometry_count: u64,
12901 pub max_instance_count: u64,
12902 pub max_primitive_count: u64,
12903 pub max_per_stage_descriptor_acceleration_structures: u32,
12904 pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
12905 pub max_descriptor_set_acceleration_structures: u32,
12906 pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
12907 pub min_acceleration_structure_scratch_offset_alignment: u32,
12908}
12909
12910impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
12911 #[inline]
12912 fn default() -> Self {
12913 Self {
12914 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
12915 next: ptr::null_mut(),
12916 max_geometry_count: u64::default(),
12917 max_instance_count: u64::default(),
12918 max_primitive_count: u64::default(),
12919 max_per_stage_descriptor_acceleration_structures: u32::default(),
12920 max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
12921 max_descriptor_set_acceleration_structures: u32::default(),
12922 max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
12923 min_acceleration_structure_scratch_offset_alignment: u32::default(),
12924 }
12925 }
12926}
12927
12928unsafe impl Send for PhysicalDeviceAccelerationStructurePropertiesKHR {}
12929unsafe impl Sync for PhysicalDeviceAccelerationStructurePropertiesKHR {}
12930
12931#[repr(C)]
12933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12934pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
12935 pub s_type: StructureType,
12936 pub next: *mut c_void,
12937 pub report_address_binding: Bool32,
12938}
12939
12940impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
12941 #[inline]
12942 fn default() -> Self {
12943 Self {
12944 s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
12945 next: ptr::null_mut(),
12946 report_address_binding: Bool32::default(),
12947 }
12948 }
12949}
12950
12951unsafe impl Send for PhysicalDeviceAddressBindingReportFeaturesEXT {}
12952unsafe impl Sync for PhysicalDeviceAddressBindingReportFeaturesEXT {}
12953
12954#[repr(C)]
12956#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12957pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
12958 pub s_type: StructureType,
12959 pub next: *mut c_void,
12960 pub amigo_profiling: Bool32,
12961}
12962
12963impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
12964 #[inline]
12965 fn default() -> Self {
12966 Self {
12967 s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
12968 next: ptr::null_mut(),
12969 amigo_profiling: Bool32::default(),
12970 }
12971 }
12972}
12973
12974unsafe impl Send for PhysicalDeviceAmigoProfilingFeaturesSEC {}
12975unsafe impl Sync for PhysicalDeviceAmigoProfilingFeaturesSEC {}
12976
12977#[repr(C)]
12979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12980pub struct PhysicalDeviceAntiLagFeaturesAMD {
12981 pub s_type: StructureType,
12982 pub next: *mut c_void,
12983 pub anti_lag: Bool32,
12984}
12985
12986impl Default for PhysicalDeviceAntiLagFeaturesAMD {
12987 #[inline]
12988 fn default() -> Self {
12989 Self {
12990 s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
12991 next: ptr::null_mut(),
12992 anti_lag: Bool32::default(),
12993 }
12994 }
12995}
12996
12997unsafe impl Send for PhysicalDeviceAntiLagFeaturesAMD {}
12998unsafe impl Sync for PhysicalDeviceAntiLagFeaturesAMD {}
12999
13000#[repr(C)]
13002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13003pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13004 pub s_type: StructureType,
13005 pub next: *mut c_void,
13006 pub attachment_feedback_loop_dynamic_state: Bool32,
13007}
13008
13009impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13010 #[inline]
13011 fn default() -> Self {
13012 Self {
13013 s_type:
13014 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
13015 next: ptr::null_mut(),
13016 attachment_feedback_loop_dynamic_state: Bool32::default(),
13017 }
13018 }
13019}
13020
13021unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13022unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13023
13024#[repr(C)]
13026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13027pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13028 pub s_type: StructureType,
13029 pub next: *mut c_void,
13030 pub attachment_feedback_loop_layout: Bool32,
13031}
13032
13033impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13034 #[inline]
13035 fn default() -> Self {
13036 Self {
13037 s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
13038 next: ptr::null_mut(),
13039 attachment_feedback_loop_layout: Bool32::default(),
13040 }
13041 }
13042}
13043
13044unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13045unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13046
13047#[repr(C)]
13049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13050pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13051 pub s_type: StructureType,
13052 pub next: *mut c_void,
13053 pub advanced_blend_coherent_operations: Bool32,
13054}
13055
13056impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13057 #[inline]
13058 fn default() -> Self {
13059 Self {
13060 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
13061 next: ptr::null_mut(),
13062 advanced_blend_coherent_operations: Bool32::default(),
13063 }
13064 }
13065}
13066
13067unsafe impl Send for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13068unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13069
13070#[repr(C)]
13072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13073pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13074 pub s_type: StructureType,
13075 pub next: *mut c_void,
13076 pub advanced_blend_max_color_attachments: u32,
13077 pub advanced_blend_independent_blend: Bool32,
13078 pub advanced_blend_non_premultiplied_src_color: Bool32,
13079 pub advanced_blend_non_premultiplied_dst_color: Bool32,
13080 pub advanced_blend_correlated_overlap: Bool32,
13081 pub advanced_blend_all_operations: Bool32,
13082}
13083
13084impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13085 #[inline]
13086 fn default() -> Self {
13087 Self {
13088 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
13089 next: ptr::null_mut(),
13090 advanced_blend_max_color_attachments: u32::default(),
13091 advanced_blend_independent_blend: Bool32::default(),
13092 advanced_blend_non_premultiplied_src_color: Bool32::default(),
13093 advanced_blend_non_premultiplied_dst_color: Bool32::default(),
13094 advanced_blend_correlated_overlap: Bool32::default(),
13095 advanced_blend_all_operations: Bool32::default(),
13096 }
13097 }
13098}
13099
13100unsafe impl Send for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13101unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13102
13103#[repr(C)]
13105#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13106pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13107 pub s_type: StructureType,
13108 pub next: *mut c_void,
13109 pub border_color_swizzle: Bool32,
13110 pub border_color_swizzle_from_image: Bool32,
13111}
13112
13113impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13114 #[inline]
13115 fn default() -> Self {
13116 Self {
13117 s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
13118 next: ptr::null_mut(),
13119 border_color_swizzle: Bool32::default(),
13120 border_color_swizzle_from_image: Bool32::default(),
13121 }
13122 }
13123}
13124
13125unsafe impl Send for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13126unsafe impl Sync for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13127
13128#[repr(C)]
13130#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13131pub struct PhysicalDeviceBufferDeviceAddressFeatures {
13132 pub s_type: StructureType,
13133 pub next: *mut c_void,
13134 pub buffer_device_address: Bool32,
13135 pub buffer_device_address_capture_replay: Bool32,
13136 pub buffer_device_address_multi_device: Bool32,
13137}
13138
13139impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
13140 #[inline]
13141 fn default() -> Self {
13142 Self {
13143 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
13144 next: ptr::null_mut(),
13145 buffer_device_address: Bool32::default(),
13146 buffer_device_address_capture_replay: Bool32::default(),
13147 buffer_device_address_multi_device: Bool32::default(),
13148 }
13149 }
13150}
13151
13152unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeatures {}
13153unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeatures {}
13154
13155#[repr(C)]
13157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13158pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13159 pub s_type: StructureType,
13160 pub next: *mut c_void,
13161 pub buffer_device_address: Bool32,
13162 pub buffer_device_address_capture_replay: Bool32,
13163 pub buffer_device_address_multi_device: Bool32,
13164}
13165
13166impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13167 #[inline]
13168 fn default() -> Self {
13169 Self {
13170 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
13171 next: ptr::null_mut(),
13172 buffer_device_address: Bool32::default(),
13173 buffer_device_address_capture_replay: Bool32::default(),
13174 buffer_device_address_multi_device: Bool32::default(),
13175 }
13176 }
13177}
13178
13179unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13180unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13181
13182#[repr(C)]
13184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13185pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13186 pub s_type: StructureType,
13187 pub next: *mut c_void,
13188 pub cluster_acceleration_structure: Bool32,
13189}
13190
13191impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13192 #[inline]
13193 fn default() -> Self {
13194 Self {
13195 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
13196 next: ptr::null_mut(),
13197 cluster_acceleration_structure: Bool32::default(),
13198 }
13199 }
13200}
13201
13202unsafe impl Send for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13203unsafe impl Sync for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13204
13205#[repr(C)]
13207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13208pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13209 pub s_type: StructureType,
13210 pub next: *mut c_void,
13211 pub max_vertices_per_cluster: u32,
13212 pub max_triangles_per_cluster: u32,
13213 pub cluster_scratch_byte_alignment: u32,
13214 pub cluster_byte_alignment: u32,
13215 pub cluster_template_byte_alignment: u32,
13216 pub cluster_bottom_level_byte_alignment: u32,
13217 pub cluster_template_bounds_byte_alignment: u32,
13218 pub max_cluster_geometry_index: u32,
13219}
13220
13221impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13222 #[inline]
13223 fn default() -> Self {
13224 Self {
13225 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
13226 next: ptr::null_mut(),
13227 max_vertices_per_cluster: u32::default(),
13228 max_triangles_per_cluster: u32::default(),
13229 cluster_scratch_byte_alignment: u32::default(),
13230 cluster_byte_alignment: u32::default(),
13231 cluster_template_byte_alignment: u32::default(),
13232 cluster_bottom_level_byte_alignment: u32::default(),
13233 cluster_template_bounds_byte_alignment: u32::default(),
13234 max_cluster_geometry_index: u32::default(),
13235 }
13236 }
13237}
13238
13239unsafe impl Send for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13240unsafe impl Sync for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13241
13242#[repr(C)]
13244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13245pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13246 pub s_type: StructureType,
13247 pub next: *mut c_void,
13248 pub clusterculling_shader: Bool32,
13249 pub multiview_cluster_culling_shader: Bool32,
13250}
13251
13252impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13253 #[inline]
13254 fn default() -> Self {
13255 Self {
13256 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
13257 next: ptr::null_mut(),
13258 clusterculling_shader: Bool32::default(),
13259 multiview_cluster_culling_shader: Bool32::default(),
13260 }
13261 }
13262}
13263
13264unsafe impl Send for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13265unsafe impl Sync for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13266
13267#[repr(C)]
13269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13270pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13271 pub s_type: StructureType,
13272 pub next: *mut c_void,
13273 pub max_work_group_count: [u32; 3],
13274 pub max_work_group_size: [u32; 3],
13275 pub max_output_cluster_count: u32,
13276 pub indirect_buffer_offset_alignment: DeviceSize,
13277}
13278
13279impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13280 #[inline]
13281 fn default() -> Self {
13282 Self {
13283 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
13284 next: ptr::null_mut(),
13285 max_work_group_count: [u32::default(); 3],
13286 max_work_group_size: [u32::default(); 3],
13287 max_output_cluster_count: u32::default(),
13288 indirect_buffer_offset_alignment: DeviceSize::default(),
13289 }
13290 }
13291}
13292
13293unsafe impl Send for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13294unsafe impl Sync for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13295
13296#[repr(C)]
13298#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13299pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13300 pub s_type: StructureType,
13301 pub next: *mut c_void,
13302 pub cluster_shading_rate: Bool32,
13303}
13304
13305impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13306 #[inline]
13307 fn default() -> Self {
13308 Self {
13309 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
13310 next: ptr::null_mut(),
13311 cluster_shading_rate: Bool32::default(),
13312 }
13313 }
13314}
13315
13316unsafe impl Send for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13317unsafe impl Sync for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13318
13319#[repr(C)]
13321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13322pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
13323 pub s_type: StructureType,
13324 pub next: *mut c_void,
13325 pub device_coherent_memory: Bool32,
13326}
13327
13328impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
13329 #[inline]
13330 fn default() -> Self {
13331 Self {
13332 s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
13333 next: ptr::null_mut(),
13334 device_coherent_memory: Bool32::default(),
13335 }
13336 }
13337}
13338
13339unsafe impl Send for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13340unsafe impl Sync for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13341
13342#[repr(C)]
13344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13345pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
13346 pub s_type: StructureType,
13347 pub next: *mut c_void,
13348 pub color_write_enable: Bool32,
13349}
13350
13351impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
13352 #[inline]
13353 fn default() -> Self {
13354 Self {
13355 s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
13356 next: ptr::null_mut(),
13357 color_write_enable: Bool32::default(),
13358 }
13359 }
13360}
13361
13362unsafe impl Send for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13363unsafe impl Sync for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13364
13365#[repr(C)]
13367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13368pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13369 pub s_type: StructureType,
13370 pub next: *mut c_void,
13371 pub command_buffer_inheritance: Bool32,
13372}
13373
13374impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13375 #[inline]
13376 fn default() -> Self {
13377 Self {
13378 s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
13379 next: ptr::null_mut(),
13380 command_buffer_inheritance: Bool32::default(),
13381 }
13382 }
13383}
13384
13385unsafe impl Send for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13386unsafe impl Sync for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13387
13388#[repr(C)]
13390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13391pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13392 pub s_type: StructureType,
13393 pub next: *mut c_void,
13394 pub compute_derivative_group_quads: Bool32,
13395 pub compute_derivative_group_linear: Bool32,
13396}
13397
13398impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13399 #[inline]
13400 fn default() -> Self {
13401 Self {
13402 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
13403 next: ptr::null_mut(),
13404 compute_derivative_group_quads: Bool32::default(),
13405 compute_derivative_group_linear: Bool32::default(),
13406 }
13407 }
13408}
13409
13410unsafe impl Send for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13411unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13412
13413#[repr(C)]
13415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13416pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13417 pub s_type: StructureType,
13418 pub next: *mut c_void,
13419 pub mesh_and_task_shader_derivatives: Bool32,
13420}
13421
13422impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13423 #[inline]
13424 fn default() -> Self {
13425 Self {
13426 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
13427 next: ptr::null_mut(),
13428 mesh_and_task_shader_derivatives: Bool32::default(),
13429 }
13430 }
13431}
13432
13433unsafe impl Send for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13434unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13435
13436#[repr(C)]
13438#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13439pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
13440 pub s_type: StructureType,
13441 pub next: *mut c_void,
13442 pub conditional_rendering: Bool32,
13443 pub inherited_conditional_rendering: Bool32,
13444}
13445
13446impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
13447 #[inline]
13448 fn default() -> Self {
13449 Self {
13450 s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
13451 next: ptr::null_mut(),
13452 conditional_rendering: Bool32::default(),
13453 inherited_conditional_rendering: Bool32::default(),
13454 }
13455 }
13456}
13457
13458unsafe impl Send for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13459unsafe impl Sync for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13460
13461#[repr(C)]
13463#[derive(Copy, Clone, Debug, PartialEq)]
13464pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
13465 pub s_type: StructureType,
13466 pub next: *mut c_void,
13467 pub primitive_overestimation_size: f32,
13468 pub max_extra_primitive_overestimation_size: f32,
13469 pub extra_primitive_overestimation_size_granularity: f32,
13470 pub primitive_underestimation: Bool32,
13471 pub conservative_point_and_line_rasterization: Bool32,
13472 pub degenerate_triangles_rasterized: Bool32,
13473 pub degenerate_lines_rasterized: Bool32,
13474 pub fully_covered_fragment_shader_input_variable: Bool32,
13475 pub conservative_rasterization_post_depth_coverage: Bool32,
13476}
13477
13478impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
13479 #[inline]
13480 fn default() -> Self {
13481 Self {
13482 s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
13483 next: ptr::null_mut(),
13484 primitive_overestimation_size: f32::default(),
13485 max_extra_primitive_overestimation_size: f32::default(),
13486 extra_primitive_overestimation_size_granularity: f32::default(),
13487 primitive_underestimation: Bool32::default(),
13488 conservative_point_and_line_rasterization: Bool32::default(),
13489 degenerate_triangles_rasterized: Bool32::default(),
13490 degenerate_lines_rasterized: Bool32::default(),
13491 fully_covered_fragment_shader_input_variable: Bool32::default(),
13492 conservative_rasterization_post_depth_coverage: Bool32::default(),
13493 }
13494 }
13495}
13496
13497unsafe impl Send for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13498unsafe impl Sync for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13499
13500#[repr(C)]
13502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13503pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
13504 pub s_type: StructureType,
13505 pub next: *mut c_void,
13506 pub cooperative_matrix_workgroup_scope: Bool32,
13507 pub cooperative_matrix_flexible_dimensions: Bool32,
13508 pub cooperative_matrix_reductions: Bool32,
13509 pub cooperative_matrix_conversions: Bool32,
13510 pub cooperative_matrix_per_element_operations: Bool32,
13511 pub cooperative_matrix_tensor_addressing: Bool32,
13512 pub cooperative_matrix_block_loads: Bool32,
13513}
13514
13515impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
13516 #[inline]
13517 fn default() -> Self {
13518 Self {
13519 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
13520 next: ptr::null_mut(),
13521 cooperative_matrix_workgroup_scope: Bool32::default(),
13522 cooperative_matrix_flexible_dimensions: Bool32::default(),
13523 cooperative_matrix_reductions: Bool32::default(),
13524 cooperative_matrix_conversions: Bool32::default(),
13525 cooperative_matrix_per_element_operations: Bool32::default(),
13526 cooperative_matrix_tensor_addressing: Bool32::default(),
13527 cooperative_matrix_block_loads: Bool32::default(),
13528 }
13529 }
13530}
13531
13532unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13533unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13534
13535#[repr(C)]
13537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13538pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
13539 pub s_type: StructureType,
13540 pub next: *mut c_void,
13541 pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
13542 pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
13543 pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
13544}
13545
13546impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
13547 #[inline]
13548 fn default() -> Self {
13549 Self {
13550 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
13551 next: ptr::null_mut(),
13552 cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
13553 cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
13554 cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
13555 }
13556 }
13557}
13558
13559unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
13560unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
13561
13562#[repr(C)]
13564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13565pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
13566 pub s_type: StructureType,
13567 pub next: *mut c_void,
13568 pub cooperative_matrix: Bool32,
13569 pub cooperative_matrix_robust_buffer_access: Bool32,
13570}
13571
13572impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
13573 #[inline]
13574 fn default() -> Self {
13575 Self {
13576 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
13577 next: ptr::null_mut(),
13578 cooperative_matrix: Bool32::default(),
13579 cooperative_matrix_robust_buffer_access: Bool32::default(),
13580 }
13581 }
13582}
13583
13584unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
13585unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
13586
13587#[repr(C)]
13589#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13590pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
13591 pub s_type: StructureType,
13592 pub next: *mut c_void,
13593 pub cooperative_matrix: Bool32,
13594 pub cooperative_matrix_robust_buffer_access: Bool32,
13595}
13596
13597impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
13598 #[inline]
13599 fn default() -> Self {
13600 Self {
13601 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
13602 next: ptr::null_mut(),
13603 cooperative_matrix: Bool32::default(),
13604 cooperative_matrix_robust_buffer_access: Bool32::default(),
13605 }
13606 }
13607}
13608
13609unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesNV {}
13610unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesNV {}
13611
13612#[repr(C)]
13614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13615pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
13616 pub s_type: StructureType,
13617 pub next: *mut c_void,
13618 pub cooperative_matrix_supported_stages: ShaderStageFlags,
13619}
13620
13621impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
13622 #[inline]
13623 fn default() -> Self {
13624 Self {
13625 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
13626 next: ptr::null_mut(),
13627 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
13628 }
13629 }
13630}
13631
13632unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
13633unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
13634
13635#[repr(C)]
13637#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13638pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
13639 pub s_type: StructureType,
13640 pub next: *mut c_void,
13641 pub cooperative_matrix_supported_stages: ShaderStageFlags,
13642}
13643
13644impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
13645 #[inline]
13646 fn default() -> Self {
13647 Self {
13648 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
13649 next: ptr::null_mut(),
13650 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
13651 }
13652 }
13653}
13654
13655unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesNV {}
13656unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesNV {}
13657
13658#[repr(C)]
13660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13661pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
13662 pub s_type: StructureType,
13663 pub next: *mut c_void,
13664 pub cooperative_vector: Bool32,
13665 pub cooperative_vector_training: Bool32,
13666}
13667
13668impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
13669 #[inline]
13670 fn default() -> Self {
13671 Self {
13672 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
13673 next: ptr::null_mut(),
13674 cooperative_vector: Bool32::default(),
13675 cooperative_vector_training: Bool32::default(),
13676 }
13677 }
13678}
13679
13680unsafe impl Send for PhysicalDeviceCooperativeVectorFeaturesNV {}
13681unsafe impl Sync for PhysicalDeviceCooperativeVectorFeaturesNV {}
13682
13683#[repr(C)]
13685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13686pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
13687 pub s_type: StructureType,
13688 pub next: *mut c_void,
13689 pub cooperative_vector_supported_stages: ShaderStageFlags,
13690 pub cooperative_vector_training_float16_accumulation: Bool32,
13691 pub cooperative_vector_training_float32_accumulation: Bool32,
13692 pub max_cooperative_vector_components: u32,
13693}
13694
13695impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
13696 #[inline]
13697 fn default() -> Self {
13698 Self {
13699 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
13700 next: ptr::null_mut(),
13701 cooperative_vector_supported_stages: ShaderStageFlags::default(),
13702 cooperative_vector_training_float16_accumulation: Bool32::default(),
13703 cooperative_vector_training_float32_accumulation: Bool32::default(),
13704 max_cooperative_vector_components: u32::default(),
13705 }
13706 }
13707}
13708
13709unsafe impl Send for PhysicalDeviceCooperativeVectorPropertiesNV {}
13710unsafe impl Sync for PhysicalDeviceCooperativeVectorPropertiesNV {}
13711
13712#[repr(C)]
13714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13715pub struct PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
13716 pub s_type: StructureType,
13717 pub next: *mut c_void,
13718 pub indirect_memory_copy: Bool32,
13719 pub indirect_memory_to_image_copy: Bool32,
13720}
13721
13722impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
13723 #[inline]
13724 fn default() -> Self {
13725 Self {
13726 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
13727 next: ptr::null_mut(),
13728 indirect_memory_copy: Bool32::default(),
13729 indirect_memory_to_image_copy: Bool32::default(),
13730 }
13731 }
13732}
13733
13734unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
13735unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
13736
13737#[repr(C)]
13739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13740pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
13741 pub s_type: StructureType,
13742 pub next: *mut c_void,
13743 pub indirect_copy: Bool32,
13744}
13745
13746impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
13747 #[inline]
13748 fn default() -> Self {
13749 Self {
13750 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
13751 next: ptr::null_mut(),
13752 indirect_copy: Bool32::default(),
13753 }
13754 }
13755}
13756
13757unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
13758unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
13759
13760#[repr(C)]
13762#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13763pub struct PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
13764 pub s_type: StructureType,
13765 pub next: *mut c_void,
13766 pub supported_queues: QueueFlags,
13767}
13768
13769impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
13770 #[inline]
13771 fn default() -> Self {
13772 Self {
13773 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
13774 next: ptr::null_mut(),
13775 supported_queues: QueueFlags::default(),
13776 }
13777 }
13778}
13779
13780unsafe impl Send for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
13781unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
13782
13783#[repr(C)]
13785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13786pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
13787 pub s_type: StructureType,
13788 pub next: *mut c_void,
13789 pub corner_sampled_image: Bool32,
13790}
13791
13792impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
13793 #[inline]
13794 fn default() -> Self {
13795 Self {
13796 s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
13797 next: ptr::null_mut(),
13798 corner_sampled_image: Bool32::default(),
13799 }
13800 }
13801}
13802
13803unsafe impl Send for PhysicalDeviceCornerSampledImageFeaturesNV {}
13804unsafe impl Sync for PhysicalDeviceCornerSampledImageFeaturesNV {}
13805
13806#[repr(C)]
13808#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13809pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
13810 pub s_type: StructureType,
13811 pub next: *mut c_void,
13812 pub coverage_reduction_mode: Bool32,
13813}
13814
13815impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
13816 #[inline]
13817 fn default() -> Self {
13818 Self {
13819 s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
13820 next: ptr::null_mut(),
13821 coverage_reduction_mode: Bool32::default(),
13822 }
13823 }
13824}
13825
13826unsafe impl Send for PhysicalDeviceCoverageReductionModeFeaturesNV {}
13827unsafe impl Sync for PhysicalDeviceCoverageReductionModeFeaturesNV {}
13828
13829#[repr(C)]
13831#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13832pub struct PhysicalDeviceCubicClampFeaturesQCOM {
13833 pub s_type: StructureType,
13834 pub next: *mut c_void,
13835 pub cubic_range_clamp: Bool32,
13836}
13837
13838impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
13839 #[inline]
13840 fn default() -> Self {
13841 Self {
13842 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
13843 next: ptr::null_mut(),
13844 cubic_range_clamp: Bool32::default(),
13845 }
13846 }
13847}
13848
13849unsafe impl Send for PhysicalDeviceCubicClampFeaturesQCOM {}
13850unsafe impl Sync for PhysicalDeviceCubicClampFeaturesQCOM {}
13851
13852#[repr(C)]
13854#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13855pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
13856 pub s_type: StructureType,
13857 pub next: *mut c_void,
13858 pub selectable_cubic_weights: Bool32,
13859}
13860
13861impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
13862 #[inline]
13863 fn default() -> Self {
13864 Self {
13865 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
13866 next: ptr::null_mut(),
13867 selectable_cubic_weights: Bool32::default(),
13868 }
13869 }
13870}
13871
13872unsafe impl Send for PhysicalDeviceCubicWeightsFeaturesQCOM {}
13873unsafe impl Sync for PhysicalDeviceCubicWeightsFeaturesQCOM {}
13874
13875#[repr(C)]
13877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13878pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
13879 pub s_type: StructureType,
13880 pub next: *mut c_void,
13881 pub cuda_kernel_launch_features: Bool32,
13882}
13883
13884impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
13885 #[inline]
13886 fn default() -> Self {
13887 Self {
13888 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
13889 next: ptr::null_mut(),
13890 cuda_kernel_launch_features: Bool32::default(),
13891 }
13892 }
13893}
13894
13895unsafe impl Send for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
13896unsafe impl Sync for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
13897
13898#[repr(C)]
13900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13901pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
13902 pub s_type: StructureType,
13903 pub next: *mut c_void,
13904 pub compute_capability_minor: u32,
13905 pub compute_capability_major: u32,
13906}
13907
13908impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
13909 #[inline]
13910 fn default() -> Self {
13911 Self {
13912 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
13913 next: ptr::null_mut(),
13914 compute_capability_minor: u32::default(),
13915 compute_capability_major: u32::default(),
13916 }
13917 }
13918}
13919
13920unsafe impl Send for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
13921unsafe impl Sync for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
13922
13923#[repr(C)]
13925#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13926pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
13927 pub s_type: StructureType,
13928 pub next: *mut c_void,
13929 pub custom_border_colors: Bool32,
13930 pub custom_border_color_without_format: Bool32,
13931}
13932
13933impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
13934 #[inline]
13935 fn default() -> Self {
13936 Self {
13937 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
13938 next: ptr::null_mut(),
13939 custom_border_colors: Bool32::default(),
13940 custom_border_color_without_format: Bool32::default(),
13941 }
13942 }
13943}
13944
13945unsafe impl Send for PhysicalDeviceCustomBorderColorFeaturesEXT {}
13946unsafe impl Sync for PhysicalDeviceCustomBorderColorFeaturesEXT {}
13947
13948#[repr(C)]
13950#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13951pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
13952 pub s_type: StructureType,
13953 pub next: *mut c_void,
13954 pub max_custom_border_color_samplers: u32,
13955}
13956
13957impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
13958 #[inline]
13959 fn default() -> Self {
13960 Self {
13961 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
13962 next: ptr::null_mut(),
13963 max_custom_border_color_samplers: u32::default(),
13964 }
13965 }
13966}
13967
13968unsafe impl Send for PhysicalDeviceCustomBorderColorPropertiesEXT {}
13969unsafe impl Sync for PhysicalDeviceCustomBorderColorPropertiesEXT {}
13970
13971#[repr(C)]
13973#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13974pub struct PhysicalDeviceDataGraphFeaturesARM {
13975 pub s_type: StructureType,
13976 pub next: *mut c_void,
13977 pub data_graph: Bool32,
13978 pub data_graph_update_after_bind: Bool32,
13979 pub data_graph_specialization_constants: Bool32,
13980 pub data_graph_descriptor_buffer: Bool32,
13981 pub data_graph_shader_module: Bool32,
13982}
13983
13984impl Default for PhysicalDeviceDataGraphFeaturesARM {
13985 #[inline]
13986 fn default() -> Self {
13987 Self {
13988 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
13989 next: ptr::null_mut(),
13990 data_graph: Bool32::default(),
13991 data_graph_update_after_bind: Bool32::default(),
13992 data_graph_specialization_constants: Bool32::default(),
13993 data_graph_descriptor_buffer: Bool32::default(),
13994 data_graph_shader_module: Bool32::default(),
13995 }
13996 }
13997}
13998
13999unsafe impl Send for PhysicalDeviceDataGraphFeaturesARM {}
14000unsafe impl Sync for PhysicalDeviceDataGraphFeaturesARM {}
14001
14002#[repr(C)]
14004#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14005pub struct PhysicalDeviceDataGraphOperationSupportARM {
14006 pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
14007 pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
14008 pub version: u32,
14009}
14010
14011#[repr(C)]
14013#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14014pub struct PhysicalDeviceDataGraphProcessingEngineARM {
14015 pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
14016 pub is_foreign: Bool32,
14017}
14018
14019#[repr(C)]
14021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14022pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14023 pub s_type: StructureType,
14024 pub next: *mut c_void,
14025 pub dedicated_allocation_image_aliasing: Bool32,
14026}
14027
14028impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14029 #[inline]
14030 fn default() -> Self {
14031 Self {
14032 s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
14033 next: ptr::null_mut(),
14034 dedicated_allocation_image_aliasing: Bool32::default(),
14035 }
14036 }
14037}
14038
14039unsafe impl Send for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14040unsafe impl Sync for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14041
14042#[repr(C)]
14044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14045pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14046 pub s_type: StructureType,
14047 pub next: *mut c_void,
14048 pub dense_geometry_format: Bool32,
14049}
14050
14051impl Default for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14052 #[inline]
14053 fn default() -> Self {
14054 Self {
14055 s_type: StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
14056 next: ptr::null_mut(),
14057 dense_geometry_format: Bool32::default(),
14058 }
14059 }
14060}
14061
14062unsafe impl Send for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14063unsafe impl Sync for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14064
14065#[repr(C)]
14067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14068pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
14069 pub s_type: StructureType,
14070 pub next: *mut c_void,
14071 pub depth_bias_control: Bool32,
14072 pub least_representable_value_force_unorm_representation: Bool32,
14073 pub float_representation: Bool32,
14074 pub depth_bias_exact: Bool32,
14075}
14076
14077impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
14078 #[inline]
14079 fn default() -> Self {
14080 Self {
14081 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
14082 next: ptr::null_mut(),
14083 depth_bias_control: Bool32::default(),
14084 least_representable_value_force_unorm_representation: Bool32::default(),
14085 float_representation: Bool32::default(),
14086 depth_bias_exact: Bool32::default(),
14087 }
14088 }
14089}
14090
14091unsafe impl Send for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14092unsafe impl Sync for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14093
14094#[repr(C)]
14096#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14097pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
14098 pub s_type: StructureType,
14099 pub next: *mut c_void,
14100 pub depth_clamp_control: Bool32,
14101}
14102
14103impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
14104 #[inline]
14105 fn default() -> Self {
14106 Self {
14107 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
14108 next: ptr::null_mut(),
14109 depth_clamp_control: Bool32::default(),
14110 }
14111 }
14112}
14113
14114unsafe impl Send for PhysicalDeviceDepthClampControlFeaturesEXT {}
14115unsafe impl Sync for PhysicalDeviceDepthClampControlFeaturesEXT {}
14116
14117#[repr(C)]
14119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14120pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14121 pub s_type: StructureType,
14122 pub next: *mut c_void,
14123 pub depth_clamp_zero_one: Bool32,
14124}
14125
14126impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14127 #[inline]
14128 fn default() -> Self {
14129 Self {
14130 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
14131 next: ptr::null_mut(),
14132 depth_clamp_zero_one: Bool32::default(),
14133 }
14134 }
14135}
14136
14137unsafe impl Send for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14138unsafe impl Sync for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14139
14140#[repr(C)]
14142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14143pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
14144 pub s_type: StructureType,
14145 pub next: *mut c_void,
14146 pub depth_clip_control: Bool32,
14147}
14148
14149impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
14150 #[inline]
14151 fn default() -> Self {
14152 Self {
14153 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
14154 next: ptr::null_mut(),
14155 depth_clip_control: Bool32::default(),
14156 }
14157 }
14158}
14159
14160unsafe impl Send for PhysicalDeviceDepthClipControlFeaturesEXT {}
14161unsafe impl Sync for PhysicalDeviceDepthClipControlFeaturesEXT {}
14162
14163#[repr(C)]
14165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14166pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
14167 pub s_type: StructureType,
14168 pub next: *mut c_void,
14169 pub depth_clip_enable: Bool32,
14170}
14171
14172impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
14173 #[inline]
14174 fn default() -> Self {
14175 Self {
14176 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
14177 next: ptr::null_mut(),
14178 depth_clip_enable: Bool32::default(),
14179 }
14180 }
14181}
14182
14183unsafe impl Send for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14184unsafe impl Sync for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14185
14186#[repr(C)]
14188#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14189pub struct PhysicalDeviceDepthStencilResolveProperties {
14190 pub s_type: StructureType,
14191 pub next: *mut c_void,
14192 pub supported_depth_resolve_modes: ResolveModeFlags,
14193 pub supported_stencil_resolve_modes: ResolveModeFlags,
14194 pub independent_resolve_none: Bool32,
14195 pub independent_resolve: Bool32,
14196}
14197
14198impl Default for PhysicalDeviceDepthStencilResolveProperties {
14199 #[inline]
14200 fn default() -> Self {
14201 Self {
14202 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
14203 next: ptr::null_mut(),
14204 supported_depth_resolve_modes: ResolveModeFlags::default(),
14205 supported_stencil_resolve_modes: ResolveModeFlags::default(),
14206 independent_resolve_none: Bool32::default(),
14207 independent_resolve: Bool32::default(),
14208 }
14209 }
14210}
14211
14212unsafe impl Send for PhysicalDeviceDepthStencilResolveProperties {}
14213unsafe impl Sync for PhysicalDeviceDepthStencilResolveProperties {}
14214
14215#[repr(C)]
14217#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14218pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14219 pub s_type: StructureType,
14220 pub next: *mut c_void,
14221 pub combined_image_sampler_density_map_descriptor_size: usize,
14222}
14223
14224impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14225 #[inline]
14226 fn default() -> Self {
14227 Self {
14228 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
14229 next: ptr::null_mut(),
14230 combined_image_sampler_density_map_descriptor_size: usize::default(),
14231 }
14232 }
14233}
14234
14235unsafe impl Send for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14236unsafe impl Sync for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14237
14238#[repr(C)]
14240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14241pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
14242 pub s_type: StructureType,
14243 pub next: *mut c_void,
14244 pub descriptor_buffer: Bool32,
14245 pub descriptor_buffer_capture_replay: Bool32,
14246 pub descriptor_buffer_image_layout_ignored: Bool32,
14247 pub descriptor_buffer_push_descriptors: Bool32,
14248}
14249
14250impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
14251 #[inline]
14252 fn default() -> Self {
14253 Self {
14254 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
14255 next: ptr::null_mut(),
14256 descriptor_buffer: Bool32::default(),
14257 descriptor_buffer_capture_replay: Bool32::default(),
14258 descriptor_buffer_image_layout_ignored: Bool32::default(),
14259 descriptor_buffer_push_descriptors: Bool32::default(),
14260 }
14261 }
14262}
14263
14264unsafe impl Send for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14265unsafe impl Sync for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14266
14267#[repr(C)]
14269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14270pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
14271 pub s_type: StructureType,
14272 pub next: *mut c_void,
14273 pub combined_image_sampler_descriptor_single_array: Bool32,
14274 pub bufferless_push_descriptors: Bool32,
14275 pub allow_sampler_image_view_post_submit_creation: Bool32,
14276 pub descriptor_buffer_offset_alignment: DeviceSize,
14277 pub max_descriptor_buffer_bindings: u32,
14278 pub max_resource_descriptor_buffer_bindings: u32,
14279 pub max_sampler_descriptor_buffer_bindings: u32,
14280 pub max_embedded_immutable_sampler_bindings: u32,
14281 pub max_embedded_immutable_samplers: u32,
14282 pub buffer_capture_replay_descriptor_data_size: usize,
14283 pub image_capture_replay_descriptor_data_size: usize,
14284 pub image_view_capture_replay_descriptor_data_size: usize,
14285 pub sampler_capture_replay_descriptor_data_size: usize,
14286 pub acceleration_structure_capture_replay_descriptor_data_size: usize,
14287 pub sampler_descriptor_size: usize,
14288 pub combined_image_sampler_descriptor_size: usize,
14289 pub sampled_image_descriptor_size: usize,
14290 pub storage_image_descriptor_size: usize,
14291 pub uniform_texel_buffer_descriptor_size: usize,
14292 pub robust_uniform_texel_buffer_descriptor_size: usize,
14293 pub storage_texel_buffer_descriptor_size: usize,
14294 pub robust_storage_texel_buffer_descriptor_size: usize,
14295 pub uniform_buffer_descriptor_size: usize,
14296 pub robust_uniform_buffer_descriptor_size: usize,
14297 pub storage_buffer_descriptor_size: usize,
14298 pub robust_storage_buffer_descriptor_size: usize,
14299 pub input_attachment_descriptor_size: usize,
14300 pub acceleration_structure_descriptor_size: usize,
14301 pub max_sampler_descriptor_buffer_range: DeviceSize,
14302 pub max_resource_descriptor_buffer_range: DeviceSize,
14303 pub sampler_descriptor_buffer_address_space_size: DeviceSize,
14304 pub resource_descriptor_buffer_address_space_size: DeviceSize,
14305 pub descriptor_buffer_address_space_size: DeviceSize,
14306}
14307
14308impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
14309 #[inline]
14310 fn default() -> Self {
14311 Self {
14312 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
14313 next: ptr::null_mut(),
14314 combined_image_sampler_descriptor_single_array: Bool32::default(),
14315 bufferless_push_descriptors: Bool32::default(),
14316 allow_sampler_image_view_post_submit_creation: Bool32::default(),
14317 descriptor_buffer_offset_alignment: DeviceSize::default(),
14318 max_descriptor_buffer_bindings: u32::default(),
14319 max_resource_descriptor_buffer_bindings: u32::default(),
14320 max_sampler_descriptor_buffer_bindings: u32::default(),
14321 max_embedded_immutable_sampler_bindings: u32::default(),
14322 max_embedded_immutable_samplers: u32::default(),
14323 buffer_capture_replay_descriptor_data_size: usize::default(),
14324 image_capture_replay_descriptor_data_size: usize::default(),
14325 image_view_capture_replay_descriptor_data_size: usize::default(),
14326 sampler_capture_replay_descriptor_data_size: usize::default(),
14327 acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
14328 sampler_descriptor_size: usize::default(),
14329 combined_image_sampler_descriptor_size: usize::default(),
14330 sampled_image_descriptor_size: usize::default(),
14331 storage_image_descriptor_size: usize::default(),
14332 uniform_texel_buffer_descriptor_size: usize::default(),
14333 robust_uniform_texel_buffer_descriptor_size: usize::default(),
14334 storage_texel_buffer_descriptor_size: usize::default(),
14335 robust_storage_texel_buffer_descriptor_size: usize::default(),
14336 uniform_buffer_descriptor_size: usize::default(),
14337 robust_uniform_buffer_descriptor_size: usize::default(),
14338 storage_buffer_descriptor_size: usize::default(),
14339 robust_storage_buffer_descriptor_size: usize::default(),
14340 input_attachment_descriptor_size: usize::default(),
14341 acceleration_structure_descriptor_size: usize::default(),
14342 max_sampler_descriptor_buffer_range: DeviceSize::default(),
14343 max_resource_descriptor_buffer_range: DeviceSize::default(),
14344 sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
14345 resource_descriptor_buffer_address_space_size: DeviceSize::default(),
14346 descriptor_buffer_address_space_size: DeviceSize::default(),
14347 }
14348 }
14349}
14350
14351unsafe impl Send for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14352unsafe impl Sync for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14353
14354#[repr(C)]
14356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14357pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14358 pub s_type: StructureType,
14359 pub next: *mut c_void,
14360 pub descriptor_buffer_tensor_descriptors: Bool32,
14361}
14362
14363impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14364 #[inline]
14365 fn default() -> Self {
14366 Self {
14367 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
14368 next: ptr::null_mut(),
14369 descriptor_buffer_tensor_descriptors: Bool32::default(),
14370 }
14371 }
14372}
14373
14374unsafe impl Send for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14375unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14376
14377#[repr(C)]
14379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14380pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14381 pub s_type: StructureType,
14382 pub next: *mut c_void,
14383 pub tensor_capture_replay_descriptor_data_size: usize,
14384 pub tensor_view_capture_replay_descriptor_data_size: usize,
14385 pub tensor_descriptor_size: usize,
14386}
14387
14388impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14389 #[inline]
14390 fn default() -> Self {
14391 Self {
14392 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
14393 next: ptr::null_mut(),
14394 tensor_capture_replay_descriptor_data_size: usize::default(),
14395 tensor_view_capture_replay_descriptor_data_size: usize::default(),
14396 tensor_descriptor_size: usize::default(),
14397 }
14398 }
14399}
14400
14401unsafe impl Send for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14402unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14403
14404#[repr(C)]
14406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14407pub struct PhysicalDeviceDescriptorIndexingFeatures {
14408 pub s_type: StructureType,
14409 pub next: *mut c_void,
14410 pub shader_input_attachment_array_dynamic_indexing: Bool32,
14411 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
14412 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
14413 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
14414 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
14415 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
14416 pub shader_storage_image_array_non_uniform_indexing: Bool32,
14417 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
14418 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
14419 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
14420 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
14421 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
14422 pub descriptor_binding_storage_image_update_after_bind: Bool32,
14423 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
14424 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
14425 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
14426 pub descriptor_binding_update_unused_while_pending: Bool32,
14427 pub descriptor_binding_partially_bound: Bool32,
14428 pub descriptor_binding_variable_descriptor_count: Bool32,
14429 pub runtime_descriptor_array: Bool32,
14430}
14431
14432impl Default for PhysicalDeviceDescriptorIndexingFeatures {
14433 #[inline]
14434 fn default() -> Self {
14435 Self {
14436 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
14437 next: ptr::null_mut(),
14438 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
14439 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
14440 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
14441 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
14442 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
14443 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
14444 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
14445 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
14446 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14447 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14448 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
14449 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
14450 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
14451 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
14452 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
14453 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
14454 descriptor_binding_update_unused_while_pending: Bool32::default(),
14455 descriptor_binding_partially_bound: Bool32::default(),
14456 descriptor_binding_variable_descriptor_count: Bool32::default(),
14457 runtime_descriptor_array: Bool32::default(),
14458 }
14459 }
14460}
14461
14462unsafe impl Send for PhysicalDeviceDescriptorIndexingFeatures {}
14463unsafe impl Sync for PhysicalDeviceDescriptorIndexingFeatures {}
14464
14465#[repr(C)]
14467#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14468pub struct PhysicalDeviceDescriptorIndexingProperties {
14469 pub s_type: StructureType,
14470 pub next: *mut c_void,
14471 pub max_update_after_bind_descriptors_in_all_pools: u32,
14472 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
14473 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
14474 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
14475 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
14476 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
14477 pub robust_buffer_access_update_after_bind: Bool32,
14478 pub quad_divergent_implicit_lod: Bool32,
14479 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
14480 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
14481 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
14482 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
14483 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
14484 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
14485 pub max_per_stage_update_after_bind_resources: u32,
14486 pub max_descriptor_set_update_after_bind_samplers: u32,
14487 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
14488 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
14489 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
14490 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
14491 pub max_descriptor_set_update_after_bind_sampled_images: u32,
14492 pub max_descriptor_set_update_after_bind_storage_images: u32,
14493 pub max_descriptor_set_update_after_bind_input_attachments: u32,
14494}
14495
14496impl Default for PhysicalDeviceDescriptorIndexingProperties {
14497 #[inline]
14498 fn default() -> Self {
14499 Self {
14500 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
14501 next: ptr::null_mut(),
14502 max_update_after_bind_descriptors_in_all_pools: u32::default(),
14503 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
14504 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
14505 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
14506 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
14507 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
14508 robust_buffer_access_update_after_bind: Bool32::default(),
14509 quad_divergent_implicit_lod: Bool32::default(),
14510 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
14511 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
14512 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
14513 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
14514 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
14515 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
14516 max_per_stage_update_after_bind_resources: u32::default(),
14517 max_descriptor_set_update_after_bind_samplers: u32::default(),
14518 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
14519 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
14520 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
14521 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
14522 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
14523 max_descriptor_set_update_after_bind_storage_images: u32::default(),
14524 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
14525 }
14526 }
14527}
14528
14529unsafe impl Send for PhysicalDeviceDescriptorIndexingProperties {}
14530unsafe impl Sync for PhysicalDeviceDescriptorIndexingProperties {}
14531
14532#[repr(C)]
14534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14535pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
14536 pub s_type: StructureType,
14537 pub next: *mut c_void,
14538 pub descriptor_pool_overallocation: Bool32,
14539}
14540
14541impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
14542 #[inline]
14543 fn default() -> Self {
14544 Self {
14545 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
14546 next: ptr::null_mut(),
14547 descriptor_pool_overallocation: Bool32::default(),
14548 }
14549 }
14550}
14551
14552unsafe impl Send for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
14553unsafe impl Sync for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
14554
14555#[repr(C)]
14557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14558pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
14559 pub s_type: StructureType,
14560 pub next: *mut c_void,
14561 pub descriptor_set_host_mapping: Bool32,
14562}
14563
14564impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
14565 #[inline]
14566 fn default() -> Self {
14567 Self {
14568 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
14569 next: ptr::null_mut(),
14570 descriptor_set_host_mapping: Bool32::default(),
14571 }
14572 }
14573}
14574
14575unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
14576unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
14577
14578#[repr(C)]
14580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14581pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
14582 pub s_type: StructureType,
14583 pub next: *mut c_void,
14584 pub device_generated_compute: Bool32,
14585 pub device_generated_compute_pipelines: Bool32,
14586 pub device_generated_compute_capture_replay: Bool32,
14587}
14588
14589impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
14590 #[inline]
14591 fn default() -> Self {
14592 Self {
14593 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
14594 next: ptr::null_mut(),
14595 device_generated_compute: Bool32::default(),
14596 device_generated_compute_pipelines: Bool32::default(),
14597 device_generated_compute_capture_replay: Bool32::default(),
14598 }
14599 }
14600}
14601
14602unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
14603unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
14604
14605#[repr(C)]
14607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14608pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
14609 pub s_type: StructureType,
14610 pub next: *mut c_void,
14611 pub device_generated_commands: Bool32,
14612 pub dynamic_generated_pipeline_layout: Bool32,
14613}
14614
14615impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
14616 #[inline]
14617 fn default() -> Self {
14618 Self {
14619 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
14620 next: ptr::null_mut(),
14621 device_generated_commands: Bool32::default(),
14622 dynamic_generated_pipeline_layout: Bool32::default(),
14623 }
14624 }
14625}
14626
14627unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
14628unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
14629
14630#[repr(C)]
14632#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14633pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14634 pub s_type: StructureType,
14635 pub next: *mut c_void,
14636 pub device_generated_commands: Bool32,
14637}
14638
14639impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14640 #[inline]
14641 fn default() -> Self {
14642 Self {
14643 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
14644 next: ptr::null_mut(),
14645 device_generated_commands: Bool32::default(),
14646 }
14647 }
14648}
14649
14650unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
14651unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
14652
14653#[repr(C)]
14655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14656pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
14657 pub s_type: StructureType,
14658 pub next: *mut c_void,
14659 pub max_indirect_pipeline_count: u32,
14660 pub max_indirect_shader_object_count: u32,
14661 pub max_indirect_sequence_count: u32,
14662 pub max_indirect_commands_token_count: u32,
14663 pub max_indirect_commands_token_offset: u32,
14664 pub max_indirect_commands_indirect_stride: u32,
14665 pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
14666 pub supported_indirect_commands_shader_stages: ShaderStageFlags,
14667 pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
14668 pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
14669 pub device_generated_commands_transform_feedback: Bool32,
14670 pub device_generated_commands_multi_draw_indirect_count: Bool32,
14671}
14672
14673impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
14674 #[inline]
14675 fn default() -> Self {
14676 Self {
14677 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
14678 next: ptr::null_mut(),
14679 max_indirect_pipeline_count: u32::default(),
14680 max_indirect_shader_object_count: u32::default(),
14681 max_indirect_sequence_count: u32::default(),
14682 max_indirect_commands_token_count: u32::default(),
14683 max_indirect_commands_token_offset: u32::default(),
14684 max_indirect_commands_indirect_stride: u32::default(),
14685 supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
14686 supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
14687 supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
14688 supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
14689 device_generated_commands_transform_feedback: Bool32::default(),
14690 device_generated_commands_multi_draw_indirect_count: Bool32::default(),
14691 }
14692 }
14693}
14694
14695unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
14696unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
14697
14698#[repr(C)]
14700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14701pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
14702 pub s_type: StructureType,
14703 pub next: *mut c_void,
14704 pub max_graphics_shader_group_count: u32,
14705 pub max_indirect_sequence_count: u32,
14706 pub max_indirect_commands_token_count: u32,
14707 pub max_indirect_commands_stream_count: u32,
14708 pub max_indirect_commands_token_offset: u32,
14709 pub max_indirect_commands_stream_stride: u32,
14710 pub min_sequences_count_buffer_offset_alignment: u32,
14711 pub min_sequences_index_buffer_offset_alignment: u32,
14712 pub min_indirect_commands_buffer_offset_alignment: u32,
14713}
14714
14715impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
14716 #[inline]
14717 fn default() -> Self {
14718 Self {
14719 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
14720 next: ptr::null_mut(),
14721 max_graphics_shader_group_count: u32::default(),
14722 max_indirect_sequence_count: u32::default(),
14723 max_indirect_commands_token_count: u32::default(),
14724 max_indirect_commands_stream_count: u32::default(),
14725 max_indirect_commands_token_offset: u32::default(),
14726 max_indirect_commands_stream_stride: u32::default(),
14727 min_sequences_count_buffer_offset_alignment: u32::default(),
14728 min_sequences_index_buffer_offset_alignment: u32::default(),
14729 min_indirect_commands_buffer_offset_alignment: u32::default(),
14730 }
14731 }
14732}
14733
14734unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
14735unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
14736
14737#[repr(C)]
14739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14740pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
14741 pub s_type: StructureType,
14742 pub next: *mut c_void,
14743 pub device_memory_report: Bool32,
14744}
14745
14746impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
14747 #[inline]
14748 fn default() -> Self {
14749 Self {
14750 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
14751 next: ptr::null_mut(),
14752 device_memory_report: Bool32::default(),
14753 }
14754 }
14755}
14756
14757unsafe impl Send for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
14758unsafe impl Sync for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
14759
14760#[repr(C)]
14762#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14763pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
14764 pub s_type: StructureType,
14765 pub next: *mut c_void,
14766 pub diagnostics_config: Bool32,
14767}
14768
14769impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
14770 #[inline]
14771 fn default() -> Self {
14772 Self {
14773 s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
14774 next: ptr::null_mut(),
14775 diagnostics_config: Bool32::default(),
14776 }
14777 }
14778}
14779
14780unsafe impl Send for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
14781unsafe impl Sync for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
14782
14783#[repr(C)]
14785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14786pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
14787 pub s_type: StructureType,
14788 pub next: *mut c_void,
14789 pub max_discard_rectangles: u32,
14790}
14791
14792impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
14793 #[inline]
14794 fn default() -> Self {
14795 Self {
14796 s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
14797 next: ptr::null_mut(),
14798 max_discard_rectangles: u32::default(),
14799 }
14800 }
14801}
14802
14803unsafe impl Send for PhysicalDeviceDiscardRectanglePropertiesEXT {}
14804unsafe impl Sync for PhysicalDeviceDiscardRectanglePropertiesEXT {}
14805
14806#[repr(C)]
14808#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14809pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
14810 pub s_type: StructureType,
14811 pub next: *mut c_void,
14812 pub displacement_micromap: Bool32,
14813}
14814
14815impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
14816 #[inline]
14817 fn default() -> Self {
14818 Self {
14819 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
14820 next: ptr::null_mut(),
14821 displacement_micromap: Bool32::default(),
14822 }
14823 }
14824}
14825
14826unsafe impl Send for PhysicalDeviceDisplacementMicromapFeaturesNV {}
14827unsafe impl Sync for PhysicalDeviceDisplacementMicromapFeaturesNV {}
14828
14829#[repr(C)]
14831#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14832pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
14833 pub s_type: StructureType,
14834 pub next: *mut c_void,
14835 pub max_displacement_micromap_subdivision_level: u32,
14836}
14837
14838impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
14839 #[inline]
14840 fn default() -> Self {
14841 Self {
14842 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
14843 next: ptr::null_mut(),
14844 max_displacement_micromap_subdivision_level: u32::default(),
14845 }
14846 }
14847}
14848
14849unsafe impl Send for PhysicalDeviceDisplacementMicromapPropertiesNV {}
14850unsafe impl Sync for PhysicalDeviceDisplacementMicromapPropertiesNV {}
14851
14852#[repr(C)]
14854#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14855pub struct PhysicalDeviceDriverProperties {
14856 pub s_type: StructureType,
14857 pub next: *mut c_void,
14858 pub driver_id: DriverId,
14859 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
14860 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
14861 pub conformance_version: ConformanceVersion,
14862}
14863
14864impl Default for PhysicalDeviceDriverProperties {
14865 #[inline]
14866 fn default() -> Self {
14867 Self {
14868 s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
14869 next: ptr::null_mut(),
14870 driver_id: DriverId::default(),
14871 driver_name: StringArray::default(),
14872 driver_info: StringArray::default(),
14873 conformance_version: ConformanceVersion::default(),
14874 }
14875 }
14876}
14877
14878unsafe impl Send for PhysicalDeviceDriverProperties {}
14879unsafe impl Sync for PhysicalDeviceDriverProperties {}
14880
14881#[repr(C)]
14883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14884pub struct PhysicalDeviceDrmPropertiesEXT {
14885 pub s_type: StructureType,
14886 pub next: *mut c_void,
14887 pub has_primary: Bool32,
14888 pub has_render: Bool32,
14889 pub primary_major: i64,
14890 pub primary_minor: i64,
14891 pub render_major: i64,
14892 pub render_minor: i64,
14893}
14894
14895impl Default for PhysicalDeviceDrmPropertiesEXT {
14896 #[inline]
14897 fn default() -> Self {
14898 Self {
14899 s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
14900 next: ptr::null_mut(),
14901 has_primary: Bool32::default(),
14902 has_render: Bool32::default(),
14903 primary_major: i64::default(),
14904 primary_minor: i64::default(),
14905 render_major: i64::default(),
14906 render_minor: i64::default(),
14907 }
14908 }
14909}
14910
14911unsafe impl Send for PhysicalDeviceDrmPropertiesEXT {}
14912unsafe impl Sync for PhysicalDeviceDrmPropertiesEXT {}
14913
14914#[repr(C)]
14916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14917pub struct PhysicalDeviceDynamicRenderingFeatures {
14918 pub s_type: StructureType,
14919 pub next: *mut c_void,
14920 pub dynamic_rendering: Bool32,
14921}
14922
14923impl Default for PhysicalDeviceDynamicRenderingFeatures {
14924 #[inline]
14925 fn default() -> Self {
14926 Self {
14927 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
14928 next: ptr::null_mut(),
14929 dynamic_rendering: Bool32::default(),
14930 }
14931 }
14932}
14933
14934unsafe impl Send for PhysicalDeviceDynamicRenderingFeatures {}
14935unsafe impl Sync for PhysicalDeviceDynamicRenderingFeatures {}
14936
14937#[repr(C)]
14939#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14940pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
14941 pub s_type: StructureType,
14942 pub next: *mut c_void,
14943 pub dynamic_rendering_local_read: Bool32,
14944}
14945
14946impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
14947 #[inline]
14948 fn default() -> Self {
14949 Self {
14950 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
14951 next: ptr::null_mut(),
14952 dynamic_rendering_local_read: Bool32::default(),
14953 }
14954 }
14955}
14956
14957unsafe impl Send for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
14958unsafe impl Sync for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
14959
14960#[repr(C)]
14962#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14963pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
14964 pub s_type: StructureType,
14965 pub next: *mut c_void,
14966 pub dynamic_rendering_unused_attachments: Bool32,
14967}
14968
14969impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
14970 #[inline]
14971 fn default() -> Self {
14972 Self {
14973 s_type:
14974 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
14975 next: ptr::null_mut(),
14976 dynamic_rendering_unused_attachments: Bool32::default(),
14977 }
14978 }
14979}
14980
14981unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
14982unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
14983
14984#[repr(C)]
14986#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14987pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
14988 pub s_type: StructureType,
14989 pub next: *mut c_void,
14990 pub exclusive_scissor: Bool32,
14991}
14992
14993impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
14994 #[inline]
14995 fn default() -> Self {
14996 Self {
14997 s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
14998 next: ptr::null_mut(),
14999 exclusive_scissor: Bool32::default(),
15000 }
15001 }
15002}
15003
15004unsafe impl Send for PhysicalDeviceExclusiveScissorFeaturesNV {}
15005unsafe impl Sync for PhysicalDeviceExclusiveScissorFeaturesNV {}
15006
15007#[repr(C)]
15009#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15010pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15011 pub s_type: StructureType,
15012 pub next: *mut c_void,
15013 pub extended_dynamic_state2: Bool32,
15014 pub extended_dynamic_state2_logic_op: Bool32,
15015 pub extended_dynamic_state2_patch_control_points: Bool32,
15016}
15017
15018impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15019 #[inline]
15020 fn default() -> Self {
15021 Self {
15022 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
15023 next: ptr::null_mut(),
15024 extended_dynamic_state2: Bool32::default(),
15025 extended_dynamic_state2_logic_op: Bool32::default(),
15026 extended_dynamic_state2_patch_control_points: Bool32::default(),
15027 }
15028 }
15029}
15030
15031unsafe impl Send for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15032unsafe impl Sync for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15033
15034#[repr(C)]
15036#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15037pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15038 pub s_type: StructureType,
15039 pub next: *mut c_void,
15040 pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
15041 pub extended_dynamic_state_3depth_clamp_enable: Bool32,
15042 pub extended_dynamic_state3_polygon_mode: Bool32,
15043 pub extended_dynamic_state3_rasterization_samples: Bool32,
15044 pub extended_dynamic_state3_sample_mask: Bool32,
15045 pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
15046 pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
15047 pub extended_dynamic_state3_logic_op_enable: Bool32,
15048 pub extended_dynamic_state3_color_blend_enable: Bool32,
15049 pub extended_dynamic_state3_color_blend_equation: Bool32,
15050 pub extended_dynamic_state3_color_write_mask: Bool32,
15051 pub extended_dynamic_state3_rasterization_stream: Bool32,
15052 pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
15053 pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
15054 pub extended_dynamic_state_3depth_clip_enable: Bool32,
15055 pub extended_dynamic_state3_sample_locations_enable: Bool32,
15056 pub extended_dynamic_state3_color_blend_advanced: Bool32,
15057 pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
15058 pub extended_dynamic_state3_line_rasterization_mode: Bool32,
15059 pub extended_dynamic_state3_line_stipple_enable: Bool32,
15060 pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
15061 pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
15062 pub extended_dynamic_state3_viewport_swizzle: Bool32,
15063 pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
15064 pub extended_dynamic_state3_coverage_to_color_location: Bool32,
15065 pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
15066 pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
15067 pub extended_dynamic_state3_coverage_modulation_table: Bool32,
15068 pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
15069 pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
15070 pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
15071}
15072
15073impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15074 #[inline]
15075 fn default() -> Self {
15076 Self {
15077 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
15078 next: ptr::null_mut(),
15079 extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
15080 extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
15081 extended_dynamic_state3_polygon_mode: Bool32::default(),
15082 extended_dynamic_state3_rasterization_samples: Bool32::default(),
15083 extended_dynamic_state3_sample_mask: Bool32::default(),
15084 extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
15085 extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
15086 extended_dynamic_state3_logic_op_enable: Bool32::default(),
15087 extended_dynamic_state3_color_blend_enable: Bool32::default(),
15088 extended_dynamic_state3_color_blend_equation: Bool32::default(),
15089 extended_dynamic_state3_color_write_mask: Bool32::default(),
15090 extended_dynamic_state3_rasterization_stream: Bool32::default(),
15091 extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
15092 extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
15093 extended_dynamic_state_3depth_clip_enable: Bool32::default(),
15094 extended_dynamic_state3_sample_locations_enable: Bool32::default(),
15095 extended_dynamic_state3_color_blend_advanced: Bool32::default(),
15096 extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
15097 extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
15098 extended_dynamic_state3_line_stipple_enable: Bool32::default(),
15099 extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
15100 extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
15101 extended_dynamic_state3_viewport_swizzle: Bool32::default(),
15102 extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
15103 extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
15104 extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
15105 extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
15106 extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
15107 extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
15108 extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
15109 extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
15110 }
15111 }
15112}
15113
15114unsafe impl Send for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15115unsafe impl Sync for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15116
15117#[repr(C)]
15119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15120pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15121 pub s_type: StructureType,
15122 pub next: *mut c_void,
15123 pub dynamic_primitive_topology_unrestricted: Bool32,
15124}
15125
15126impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15127 #[inline]
15128 fn default() -> Self {
15129 Self {
15130 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
15131 next: ptr::null_mut(),
15132 dynamic_primitive_topology_unrestricted: Bool32::default(),
15133 }
15134 }
15135}
15136
15137unsafe impl Send for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15138unsafe impl Sync for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15139
15140#[repr(C)]
15142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15143pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15144 pub s_type: StructureType,
15145 pub next: *mut c_void,
15146 pub extended_dynamic_state: Bool32,
15147}
15148
15149impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15150 #[inline]
15151 fn default() -> Self {
15152 Self {
15153 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
15154 next: ptr::null_mut(),
15155 extended_dynamic_state: Bool32::default(),
15156 }
15157 }
15158}
15159
15160unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15161unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15162
15163#[repr(C)]
15165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15166pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15167 pub s_type: StructureType,
15168 pub next: *mut c_void,
15169 pub extended_sparse_address_space: Bool32,
15170}
15171
15172impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15173 #[inline]
15174 fn default() -> Self {
15175 Self {
15176 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
15177 next: ptr::null_mut(),
15178 extended_sparse_address_space: Bool32::default(),
15179 }
15180 }
15181}
15182
15183unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15184unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15185
15186#[repr(C)]
15188#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15189pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15190 pub s_type: StructureType,
15191 pub next: *mut c_void,
15192 pub extended_sparse_address_space_size: DeviceSize,
15193 pub extended_sparse_image_usage_flags: ImageUsageFlags,
15194 pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
15195}
15196
15197impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15198 #[inline]
15199 fn default() -> Self {
15200 Self {
15201 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
15202 next: ptr::null_mut(),
15203 extended_sparse_address_space_size: DeviceSize::default(),
15204 extended_sparse_image_usage_flags: ImageUsageFlags::default(),
15205 extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
15206 }
15207 }
15208}
15209
15210unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15211unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15212
15213#[repr(C)]
15215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15216pub struct PhysicalDeviceExternalBufferInfo {
15217 pub s_type: StructureType,
15218 pub next: *const c_void,
15219 pub flags: BufferCreateFlags,
15220 pub usage: BufferUsageFlags,
15221 pub handle_type: ExternalMemoryHandleTypeFlags,
15222}
15223
15224impl Default for PhysicalDeviceExternalBufferInfo {
15225 #[inline]
15226 fn default() -> Self {
15227 Self {
15228 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
15229 next: ptr::null(),
15230 flags: BufferCreateFlags::default(),
15231 usage: BufferUsageFlags::default(),
15232 handle_type: ExternalMemoryHandleTypeFlags::default(),
15233 }
15234 }
15235}
15236
15237unsafe impl Send for PhysicalDeviceExternalBufferInfo {}
15238unsafe impl Sync for PhysicalDeviceExternalBufferInfo {}
15239
15240#[repr(C)]
15242#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15243pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
15244 pub s_type: StructureType,
15245 pub next: *mut c_void,
15246 pub external_data_size: u32,
15247 pub max_external_queues: u32,
15248}
15249
15250impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
15251 #[inline]
15252 fn default() -> Self {
15253 Self {
15254 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
15255 next: ptr::null_mut(),
15256 external_data_size: u32::default(),
15257 max_external_queues: u32::default(),
15258 }
15259 }
15260}
15261
15262unsafe impl Send for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15263unsafe impl Sync for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15264
15265#[repr(C)]
15267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15268pub struct PhysicalDeviceExternalFenceInfo {
15269 pub s_type: StructureType,
15270 pub next: *const c_void,
15271 pub handle_type: ExternalFenceHandleTypeFlags,
15272}
15273
15274impl Default for PhysicalDeviceExternalFenceInfo {
15275 #[inline]
15276 fn default() -> Self {
15277 Self {
15278 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
15279 next: ptr::null(),
15280 handle_type: ExternalFenceHandleTypeFlags::default(),
15281 }
15282 }
15283}
15284
15285unsafe impl Send for PhysicalDeviceExternalFenceInfo {}
15286unsafe impl Sync for PhysicalDeviceExternalFenceInfo {}
15287
15288#[repr(C)]
15290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15291pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15292 pub s_type: StructureType,
15293 pub next: *mut c_void,
15294 pub external_format_resolve: Bool32,
15295}
15296
15297impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15298 #[inline]
15299 fn default() -> Self {
15300 Self {
15301 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
15302 next: ptr::null_mut(),
15303 external_format_resolve: Bool32::default(),
15304 }
15305 }
15306}
15307
15308unsafe impl Send for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15309unsafe impl Sync for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15310
15311#[repr(C)]
15313#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15314pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15315 pub s_type: StructureType,
15316 pub next: *mut c_void,
15317 pub null_color_attachment_with_external_format_resolve: Bool32,
15318 pub external_format_resolve_chroma_offset_x: ChromaLocation,
15319 pub external_format_resolve_chroma_offset_y: ChromaLocation,
15320}
15321
15322impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15323 #[inline]
15324 fn default() -> Self {
15325 Self {
15326 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
15327 next: ptr::null_mut(),
15328 null_color_attachment_with_external_format_resolve: Bool32::default(),
15329 external_format_resolve_chroma_offset_x: ChromaLocation::default(),
15330 external_format_resolve_chroma_offset_y: ChromaLocation::default(),
15331 }
15332 }
15333}
15334
15335unsafe impl Send for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15336unsafe impl Sync for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15337
15338#[repr(C)]
15340#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15341pub struct PhysicalDeviceExternalImageFormatInfo {
15342 pub s_type: StructureType,
15343 pub next: *const c_void,
15344 pub handle_type: ExternalMemoryHandleTypeFlags,
15345}
15346
15347impl Default for PhysicalDeviceExternalImageFormatInfo {
15348 #[inline]
15349 fn default() -> Self {
15350 Self {
15351 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
15352 next: ptr::null(),
15353 handle_type: ExternalMemoryHandleTypeFlags::default(),
15354 }
15355 }
15356}
15357
15358unsafe impl Send for PhysicalDeviceExternalImageFormatInfo {}
15359unsafe impl Sync for PhysicalDeviceExternalImageFormatInfo {}
15360
15361#[repr(C)]
15363#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15364pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
15365 pub s_type: StructureType,
15366 pub next: *mut c_void,
15367 pub min_imported_host_pointer_alignment: DeviceSize,
15368}
15369
15370impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
15371 #[inline]
15372 fn default() -> Self {
15373 Self {
15374 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
15375 next: ptr::null_mut(),
15376 min_imported_host_pointer_alignment: DeviceSize::default(),
15377 }
15378 }
15379}
15380
15381unsafe impl Send for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15382unsafe impl Sync for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15383
15384#[repr(C)]
15386#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15387pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15388 pub s_type: StructureType,
15389 pub next: *mut c_void,
15390 pub external_memory_rdma: Bool32,
15391}
15392
15393impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15394 #[inline]
15395 fn default() -> Self {
15396 Self {
15397 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
15398 next: ptr::null_mut(),
15399 external_memory_rdma: Bool32::default(),
15400 }
15401 }
15402}
15403
15404unsafe impl Send for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15405unsafe impl Sync for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15406
15407#[repr(C)]
15409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15410pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
15411 pub s_type: StructureType,
15412 pub next: *mut c_void,
15413 pub sci_buf_import: Bool32,
15414 pub sci_buf_export: Bool32,
15415}
15416
15417impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
15418 #[inline]
15419 fn default() -> Self {
15420 Self {
15421 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
15422 next: ptr::null_mut(),
15423 sci_buf_import: Bool32::default(),
15424 sci_buf_export: Bool32::default(),
15425 }
15426 }
15427}
15428
15429unsafe impl Send for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15430unsafe impl Sync for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15431
15432#[repr(C)]
15434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15435pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15436 pub s_type: StructureType,
15437 pub next: *mut c_void,
15438 pub screen_buffer_import: Bool32,
15439}
15440
15441impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15442 #[inline]
15443 fn default() -> Self {
15444 Self {
15445 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
15446 next: ptr::null_mut(),
15447 screen_buffer_import: Bool32::default(),
15448 }
15449 }
15450}
15451
15452unsafe impl Send for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15453unsafe impl Sync for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15454
15455#[repr(C)]
15457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15458pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
15459 pub s_type: StructureType,
15460 pub next: *mut c_void,
15461 pub sci_sync_fence: Bool32,
15462 pub sci_sync_semaphore2: Bool32,
15463 pub sci_sync_import: Bool32,
15464 pub sci_sync_export: Bool32,
15465}
15466
15467impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
15468 #[inline]
15469 fn default() -> Self {
15470 Self {
15471 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
15472 next: ptr::null_mut(),
15473 sci_sync_fence: Bool32::default(),
15474 sci_sync_semaphore2: Bool32::default(),
15475 sci_sync_import: Bool32::default(),
15476 sci_sync_export: Bool32::default(),
15477 }
15478 }
15479}
15480
15481unsafe impl Send for PhysicalDeviceExternalSciSync2FeaturesNV {}
15482unsafe impl Sync for PhysicalDeviceExternalSciSync2FeaturesNV {}
15483
15484#[repr(C)]
15486#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15487pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
15488 pub s_type: StructureType,
15489 pub next: *mut c_void,
15490 pub sci_sync_fence: Bool32,
15491 pub sci_sync_semaphore: Bool32,
15492 pub sci_sync_import: Bool32,
15493 pub sci_sync_export: Bool32,
15494}
15495
15496impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
15497 #[inline]
15498 fn default() -> Self {
15499 Self {
15500 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
15501 next: ptr::null_mut(),
15502 sci_sync_fence: Bool32::default(),
15503 sci_sync_semaphore: Bool32::default(),
15504 sci_sync_import: Bool32::default(),
15505 sci_sync_export: Bool32::default(),
15506 }
15507 }
15508}
15509
15510unsafe impl Send for PhysicalDeviceExternalSciSyncFeaturesNV {}
15511unsafe impl Sync for PhysicalDeviceExternalSciSyncFeaturesNV {}
15512
15513#[repr(C)]
15515#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15516pub struct PhysicalDeviceExternalSemaphoreInfo {
15517 pub s_type: StructureType,
15518 pub next: *const c_void,
15519 pub handle_type: ExternalSemaphoreHandleTypeFlags,
15520}
15521
15522impl Default for PhysicalDeviceExternalSemaphoreInfo {
15523 #[inline]
15524 fn default() -> Self {
15525 Self {
15526 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
15527 next: ptr::null(),
15528 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
15529 }
15530 }
15531}
15532
15533unsafe impl Send for PhysicalDeviceExternalSemaphoreInfo {}
15534unsafe impl Sync for PhysicalDeviceExternalSemaphoreInfo {}
15535
15536#[repr(C)]
15538#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15539pub struct PhysicalDeviceExternalTensorInfoARM {
15540 pub s_type: StructureType,
15541 pub next: *const c_void,
15542 pub flags: TensorCreateFlagsARM,
15543 pub description: *const TensorDescriptionARM,
15544 pub handle_type: ExternalMemoryHandleTypeFlags,
15545}
15546
15547impl Default for PhysicalDeviceExternalTensorInfoARM {
15548 #[inline]
15549 fn default() -> Self {
15550 Self {
15551 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
15552 next: ptr::null(),
15553 flags: TensorCreateFlagsARM::default(),
15554 description: ptr::null(),
15555 handle_type: ExternalMemoryHandleTypeFlags::default(),
15556 }
15557 }
15558}
15559
15560unsafe impl Send for PhysicalDeviceExternalTensorInfoARM {}
15561unsafe impl Sync for PhysicalDeviceExternalTensorInfoARM {}
15562
15563#[repr(C)]
15565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15566pub struct PhysicalDeviceFaultFeaturesEXT {
15567 pub s_type: StructureType,
15568 pub next: *mut c_void,
15569 pub device_fault: Bool32,
15570 pub device_fault_vendor_binary: Bool32,
15571}
15572
15573impl Default for PhysicalDeviceFaultFeaturesEXT {
15574 #[inline]
15575 fn default() -> Self {
15576 Self {
15577 s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
15578 next: ptr::null_mut(),
15579 device_fault: Bool32::default(),
15580 device_fault_vendor_binary: Bool32::default(),
15581 }
15582 }
15583}
15584
15585unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {}
15586unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {}
15587
15588#[repr(C)]
15590#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
15591pub struct PhysicalDeviceFeatures {
15592 pub robust_buffer_access: Bool32,
15593 pub full_draw_index_uint32: Bool32,
15594 pub image_cube_array: Bool32,
15595 pub independent_blend: Bool32,
15596 pub geometry_shader: Bool32,
15597 pub tessellation_shader: Bool32,
15598 pub sample_rate_shading: Bool32,
15599 pub dual_src_blend: Bool32,
15600 pub logic_op: Bool32,
15601 pub multi_draw_indirect: Bool32,
15602 pub draw_indirect_first_instance: Bool32,
15603 pub depth_clamp: Bool32,
15604 pub depth_bias_clamp: Bool32,
15605 pub fill_mode_non_solid: Bool32,
15606 pub depth_bounds: Bool32,
15607 pub wide_lines: Bool32,
15608 pub large_points: Bool32,
15609 pub alpha_to_one: Bool32,
15610 pub multi_viewport: Bool32,
15611 pub sampler_anisotropy: Bool32,
15612 pub texture_compression_etc2: Bool32,
15613 pub texture_compression_astc_ldr: Bool32,
15614 pub texture_compression_bc: Bool32,
15615 pub occlusion_query_precise: Bool32,
15616 pub pipeline_statistics_query: Bool32,
15617 pub vertex_pipeline_stores_and_atomics: Bool32,
15618 pub fragment_stores_and_atomics: Bool32,
15619 pub shader_tessellation_and_geometry_point_size: Bool32,
15620 pub shader_image_gather_extended: Bool32,
15621 pub shader_storage_image_extended_formats: Bool32,
15622 pub shader_storage_image_multisample: Bool32,
15623 pub shader_storage_image_read_without_format: Bool32,
15624 pub shader_storage_image_write_without_format: Bool32,
15625 pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
15626 pub shader_sampled_image_array_dynamic_indexing: Bool32,
15627 pub shader_storage_buffer_array_dynamic_indexing: Bool32,
15628 pub shader_storage_image_array_dynamic_indexing: Bool32,
15629 pub shader_clip_distance: Bool32,
15630 pub shader_cull_distance: Bool32,
15631 pub shader_float64: Bool32,
15632 pub shader_int64: Bool32,
15633 pub shader_int16: Bool32,
15634 pub shader_resource_residency: Bool32,
15635 pub shader_resource_min_lod: Bool32,
15636 pub sparse_binding: Bool32,
15637 pub sparse_residency_buffer: Bool32,
15638 pub sparse_residency_image_2d: Bool32,
15639 pub sparse_residency_image_3d: Bool32,
15640 pub sparse_residency2_samples: Bool32,
15641 pub sparse_residency4_samples: Bool32,
15642 pub sparse_residency8_samples: Bool32,
15643 pub sparse_residency16_samples: Bool32,
15644 pub sparse_residency_aliased: Bool32,
15645 pub variable_multisample_rate: Bool32,
15646 pub inherited_queries: Bool32,
15647}
15648
15649#[repr(C)]
15651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15652pub struct PhysicalDeviceFeatures2 {
15653 pub s_type: StructureType,
15654 pub next: *mut c_void,
15655 pub features: PhysicalDeviceFeatures,
15656}
15657
15658impl Default for PhysicalDeviceFeatures2 {
15659 #[inline]
15660 fn default() -> Self {
15661 Self {
15662 s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
15663 next: ptr::null_mut(),
15664 features: PhysicalDeviceFeatures::default(),
15665 }
15666 }
15667}
15668
15669unsafe impl Send for PhysicalDeviceFeatures2 {}
15670unsafe impl Sync for PhysicalDeviceFeatures2 {}
15671
15672#[repr(C)]
15674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15675pub struct PhysicalDeviceFloatControlsProperties {
15676 pub s_type: StructureType,
15677 pub next: *mut c_void,
15678 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
15679 pub rounding_mode_independence: ShaderFloatControlsIndependence,
15680 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
15681 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
15682 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
15683 pub shader_denorm_preserve_float16: Bool32,
15684 pub shader_denorm_preserve_float32: Bool32,
15685 pub shader_denorm_preserve_float64: Bool32,
15686 pub shader_denorm_flush_to_zero_float16: Bool32,
15687 pub shader_denorm_flush_to_zero_float32: Bool32,
15688 pub shader_denorm_flush_to_zero_float64: Bool32,
15689 pub shader_rounding_mode_rte_float16: Bool32,
15690 pub shader_rounding_mode_rte_float32: Bool32,
15691 pub shader_rounding_mode_rte_float64: Bool32,
15692 pub shader_rounding_mode_rtz_float16: Bool32,
15693 pub shader_rounding_mode_rtz_float32: Bool32,
15694 pub shader_rounding_mode_rtz_float64: Bool32,
15695}
15696
15697impl Default for PhysicalDeviceFloatControlsProperties {
15698 #[inline]
15699 fn default() -> Self {
15700 Self {
15701 s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
15702 next: ptr::null_mut(),
15703 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
15704 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
15705 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
15706 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
15707 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
15708 shader_denorm_preserve_float16: Bool32::default(),
15709 shader_denorm_preserve_float32: Bool32::default(),
15710 shader_denorm_preserve_float64: Bool32::default(),
15711 shader_denorm_flush_to_zero_float16: Bool32::default(),
15712 shader_denorm_flush_to_zero_float32: Bool32::default(),
15713 shader_denorm_flush_to_zero_float64: Bool32::default(),
15714 shader_rounding_mode_rte_float16: Bool32::default(),
15715 shader_rounding_mode_rte_float32: Bool32::default(),
15716 shader_rounding_mode_rte_float64: Bool32::default(),
15717 shader_rounding_mode_rtz_float16: Bool32::default(),
15718 shader_rounding_mode_rtz_float32: Bool32::default(),
15719 shader_rounding_mode_rtz_float64: Bool32::default(),
15720 }
15721 }
15722}
15723
15724unsafe impl Send for PhysicalDeviceFloatControlsProperties {}
15725unsafe impl Sync for PhysicalDeviceFloatControlsProperties {}
15726
15727#[repr(C)]
15729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15730pub struct PhysicalDeviceFormatPackFeaturesARM {
15731 pub s_type: StructureType,
15732 pub next: *mut c_void,
15733 pub format_pack: Bool32,
15734}
15735
15736impl Default for PhysicalDeviceFormatPackFeaturesARM {
15737 #[inline]
15738 fn default() -> Self {
15739 Self {
15740 s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
15741 next: ptr::null_mut(),
15742 format_pack: Bool32::default(),
15743 }
15744 }
15745}
15746
15747unsafe impl Send for PhysicalDeviceFormatPackFeaturesARM {}
15748unsafe impl Sync for PhysicalDeviceFormatPackFeaturesARM {}
15749
15750#[repr(C)]
15752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15753pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
15754 pub s_type: StructureType,
15755 pub next: *mut c_void,
15756 pub fragment_density_map_deferred: Bool32,
15757}
15758
15759impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
15760 #[inline]
15761 fn default() -> Self {
15762 Self {
15763 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
15764 next: ptr::null_mut(),
15765 fragment_density_map_deferred: Bool32::default(),
15766 }
15767 }
15768}
15769
15770unsafe impl Send for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
15771unsafe impl Sync for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
15772
15773#[repr(C)]
15775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15776pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
15777 pub s_type: StructureType,
15778 pub next: *mut c_void,
15779 pub subsampled_loads: Bool32,
15780 pub subsampled_coarse_reconstruction_early_access: Bool32,
15781 pub max_subsampled_array_layers: u32,
15782 pub max_descriptor_set_subsampled_samplers: u32,
15783}
15784
15785impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
15786 #[inline]
15787 fn default() -> Self {
15788 Self {
15789 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
15790 next: ptr::null_mut(),
15791 subsampled_loads: Bool32::default(),
15792 subsampled_coarse_reconstruction_early_access: Bool32::default(),
15793 max_subsampled_array_layers: u32::default(),
15794 max_descriptor_set_subsampled_samplers: u32::default(),
15795 }
15796 }
15797}
15798
15799unsafe impl Send for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
15800unsafe impl Sync for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
15801
15802#[repr(C)]
15804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15805pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
15806 pub s_type: StructureType,
15807 pub next: *mut c_void,
15808 pub fragment_density_map: Bool32,
15809 pub fragment_density_map_dynamic: Bool32,
15810 pub fragment_density_map_non_subsampled_images: Bool32,
15811}
15812
15813impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
15814 #[inline]
15815 fn default() -> Self {
15816 Self {
15817 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
15818 next: ptr::null_mut(),
15819 fragment_density_map: Bool32::default(),
15820 fragment_density_map_dynamic: Bool32::default(),
15821 fragment_density_map_non_subsampled_images: Bool32::default(),
15822 }
15823 }
15824}
15825
15826unsafe impl Send for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
15827unsafe impl Sync for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
15828
15829#[repr(C)]
15831#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15832pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
15833 pub s_type: StructureType,
15834 pub next: *mut c_void,
15835 pub fragment_density_map_layered: Bool32,
15836}
15837
15838impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
15839 #[inline]
15840 fn default() -> Self {
15841 Self {
15842 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
15843 next: ptr::null_mut(),
15844 fragment_density_map_layered: Bool32::default(),
15845 }
15846 }
15847}
15848
15849unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
15850unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
15851
15852#[repr(C)]
15854#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15855pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
15856 pub s_type: StructureType,
15857 pub next: *mut c_void,
15858 pub max_fragment_density_map_layers: u32,
15859}
15860
15861impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
15862 #[inline]
15863 fn default() -> Self {
15864 Self {
15865 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
15866 next: ptr::null_mut(),
15867 max_fragment_density_map_layers: u32::default(),
15868 }
15869 }
15870}
15871
15872unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
15873unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
15874
15875#[repr(C)]
15877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15878pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
15879 pub s_type: StructureType,
15880 pub next: *mut c_void,
15881 pub fragment_density_map_offset: Bool32,
15882}
15883
15884impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
15885 #[inline]
15886 fn default() -> Self {
15887 Self {
15888 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
15889 next: ptr::null_mut(),
15890 fragment_density_map_offset: Bool32::default(),
15891 }
15892 }
15893}
15894
15895unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
15896unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
15897
15898#[repr(C)]
15900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15901pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
15902 pub s_type: StructureType,
15903 pub next: *mut c_void,
15904 pub fragment_density_offset_granularity: Extent2D,
15905}
15906
15907impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
15908 #[inline]
15909 fn default() -> Self {
15910 Self {
15911 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
15912 next: ptr::null_mut(),
15913 fragment_density_offset_granularity: Extent2D::default(),
15914 }
15915 }
15916}
15917
15918unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
15919unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
15920
15921#[repr(C)]
15923#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15924pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
15925 pub s_type: StructureType,
15926 pub next: *mut c_void,
15927 pub min_fragment_density_texel_size: Extent2D,
15928 pub max_fragment_density_texel_size: Extent2D,
15929 pub fragment_density_invocations: Bool32,
15930}
15931
15932impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
15933 #[inline]
15934 fn default() -> Self {
15935 Self {
15936 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
15937 next: ptr::null_mut(),
15938 min_fragment_density_texel_size: Extent2D::default(),
15939 max_fragment_density_texel_size: Extent2D::default(),
15940 fragment_density_invocations: Bool32::default(),
15941 }
15942 }
15943}
15944
15945unsafe impl Send for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
15946unsafe impl Sync for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
15947
15948#[repr(C)]
15950#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15951pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
15952 pub s_type: StructureType,
15953 pub next: *mut c_void,
15954 pub fragment_shader_barycentric: Bool32,
15955}
15956
15957impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
15958 #[inline]
15959 fn default() -> Self {
15960 Self {
15961 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
15962 next: ptr::null_mut(),
15963 fragment_shader_barycentric: Bool32::default(),
15964 }
15965 }
15966}
15967
15968unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
15969unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
15970
15971#[repr(C)]
15973#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15974pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
15975 pub s_type: StructureType,
15976 pub next: *mut c_void,
15977 pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
15978}
15979
15980impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
15981 #[inline]
15982 fn default() -> Self {
15983 Self {
15984 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
15985 next: ptr::null_mut(),
15986 tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
15987 }
15988 }
15989}
15990
15991unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
15992unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
15993
15994#[repr(C)]
15996#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15997pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
15998 pub s_type: StructureType,
15999 pub next: *mut c_void,
16000 pub fragment_shader_sample_interlock: Bool32,
16001 pub fragment_shader_pixel_interlock: Bool32,
16002 pub fragment_shader_shading_rate_interlock: Bool32,
16003}
16004
16005impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16006 #[inline]
16007 fn default() -> Self {
16008 Self {
16009 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
16010 next: ptr::null_mut(),
16011 fragment_shader_sample_interlock: Bool32::default(),
16012 fragment_shader_pixel_interlock: Bool32::default(),
16013 fragment_shader_shading_rate_interlock: Bool32::default(),
16014 }
16015 }
16016}
16017
16018unsafe impl Send for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16019unsafe impl Sync for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16020
16021#[repr(C)]
16023#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16024pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16025 pub s_type: StructureType,
16026 pub next: *mut c_void,
16027 pub fragment_shading_rate_enums: Bool32,
16028 pub supersample_fragment_shading_rates: Bool32,
16029 pub no_invocation_fragment_shading_rates: Bool32,
16030}
16031
16032impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16033 #[inline]
16034 fn default() -> Self {
16035 Self {
16036 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
16037 next: ptr::null_mut(),
16038 fragment_shading_rate_enums: Bool32::default(),
16039 supersample_fragment_shading_rates: Bool32::default(),
16040 no_invocation_fragment_shading_rates: Bool32::default(),
16041 }
16042 }
16043}
16044
16045unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16046unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16047
16048#[repr(C)]
16050#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16051pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16052 pub s_type: StructureType,
16053 pub next: *mut c_void,
16054 pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
16055}
16056
16057impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16058 #[inline]
16059 fn default() -> Self {
16060 Self {
16061 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
16062 next: ptr::null_mut(),
16063 max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
16064 }
16065 }
16066}
16067
16068unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16069unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16070
16071#[repr(C)]
16073#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16074pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
16075 pub s_type: StructureType,
16076 pub next: *mut c_void,
16077 pub pipeline_fragment_shading_rate: Bool32,
16078 pub primitive_fragment_shading_rate: Bool32,
16079 pub attachment_fragment_shading_rate: Bool32,
16080}
16081
16082impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
16083 #[inline]
16084 fn default() -> Self {
16085 Self {
16086 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
16087 next: ptr::null_mut(),
16088 pipeline_fragment_shading_rate: Bool32::default(),
16089 primitive_fragment_shading_rate: Bool32::default(),
16090 attachment_fragment_shading_rate: Bool32::default(),
16091 }
16092 }
16093}
16094
16095unsafe impl Send for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16096unsafe impl Sync for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16097
16098#[repr(C)]
16100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16101pub struct PhysicalDeviceFragmentShadingRateKHR {
16102 pub s_type: StructureType,
16103 pub next: *mut c_void,
16104 pub sample_counts: SampleCountFlags,
16105 pub fragment_size: Extent2D,
16106}
16107
16108impl Default for PhysicalDeviceFragmentShadingRateKHR {
16109 #[inline]
16110 fn default() -> Self {
16111 Self {
16112 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
16113 next: ptr::null_mut(),
16114 sample_counts: SampleCountFlags::default(),
16115 fragment_size: Extent2D::default(),
16116 }
16117 }
16118}
16119
16120unsafe impl Send for PhysicalDeviceFragmentShadingRateKHR {}
16121unsafe impl Sync for PhysicalDeviceFragmentShadingRateKHR {}
16122
16123#[repr(C)]
16125#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16126pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
16127 pub s_type: StructureType,
16128 pub next: *mut c_void,
16129 pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
16130 pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
16131 pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
16132 pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
16133 pub layered_shading_rate_attachments: Bool32,
16134 pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
16135 pub max_fragment_size: Extent2D,
16136 pub max_fragment_size_aspect_ratio: u32,
16137 pub max_fragment_shading_rate_coverage_samples: u32,
16138 pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
16139 pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
16140 pub fragment_shading_rate_with_sample_mask: Bool32,
16141 pub fragment_shading_rate_with_shader_sample_mask: Bool32,
16142 pub fragment_shading_rate_with_conservative_rasterization: Bool32,
16143 pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
16144 pub fragment_shading_rate_with_custom_sample_locations: Bool32,
16145 pub fragment_shading_rate_strict_multiply_combiner: Bool32,
16146}
16147
16148impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
16149 #[inline]
16150 fn default() -> Self {
16151 Self {
16152 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
16153 next: ptr::null_mut(),
16154 min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16155 max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16156 max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
16157 primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
16158 layered_shading_rate_attachments: Bool32::default(),
16159 fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
16160 max_fragment_size: Extent2D::default(),
16161 max_fragment_size_aspect_ratio: u32::default(),
16162 max_fragment_shading_rate_coverage_samples: u32::default(),
16163 max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
16164 fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
16165 fragment_shading_rate_with_sample_mask: Bool32::default(),
16166 fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
16167 fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
16168 fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
16169 fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
16170 fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
16171 }
16172 }
16173}
16174
16175unsafe impl Send for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16176unsafe impl Sync for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16177
16178#[repr(C)]
16180#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16181pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
16182 pub s_type: StructureType,
16183 pub next: *mut c_void,
16184 pub frame_boundary: Bool32,
16185}
16186
16187impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
16188 #[inline]
16189 fn default() -> Self {
16190 Self {
16191 s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
16192 next: ptr::null_mut(),
16193 frame_boundary: Bool32::default(),
16194 }
16195 }
16196}
16197
16198unsafe impl Send for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16199unsafe impl Sync for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16200
16201#[repr(C)]
16203#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16204pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
16205 pub s_type: StructureType,
16206 pub next: *mut c_void,
16207 pub global_priority_query: Bool32,
16208}
16209
16210impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
16211 #[inline]
16212 fn default() -> Self {
16213 Self {
16214 s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
16215 next: ptr::null_mut(),
16216 global_priority_query: Bool32::default(),
16217 }
16218 }
16219}
16220
16221unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {}
16222unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {}
16223
16224#[repr(C)]
16226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16227pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16228 pub s_type: StructureType,
16229 pub next: *mut c_void,
16230 pub graphics_pipeline_library: Bool32,
16231}
16232
16233impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16234 #[inline]
16235 fn default() -> Self {
16236 Self {
16237 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
16238 next: ptr::null_mut(),
16239 graphics_pipeline_library: Bool32::default(),
16240 }
16241 }
16242}
16243
16244unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16245unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16246
16247#[repr(C)]
16249#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16250pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16251 pub s_type: StructureType,
16252 pub next: *mut c_void,
16253 pub graphics_pipeline_library_fast_linking: Bool32,
16254 pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
16255}
16256
16257impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16258 #[inline]
16259 fn default() -> Self {
16260 Self {
16261 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
16262 next: ptr::null_mut(),
16263 graphics_pipeline_library_fast_linking: Bool32::default(),
16264 graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
16265 }
16266 }
16267}
16268
16269unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16270unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16271
16272#[repr(C)]
16274#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16275pub struct PhysicalDeviceGroupProperties {
16276 pub s_type: StructureType,
16277 pub next: *mut c_void,
16278 pub physical_device_count: u32,
16279 pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE],
16280 pub subset_allocation: Bool32,
16281}
16282
16283impl Default for PhysicalDeviceGroupProperties {
16284 #[inline]
16285 fn default() -> Self {
16286 Self {
16287 s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
16288 next: ptr::null_mut(),
16289 physical_device_count: u32::default(),
16290 physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
16291 subset_allocation: Bool32::default(),
16292 }
16293 }
16294}
16295
16296unsafe impl Send for PhysicalDeviceGroupProperties {}
16297unsafe impl Sync for PhysicalDeviceGroupProperties {}
16298
16299#[repr(C)]
16301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16302pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
16303 pub s_type: StructureType,
16304 pub next: *mut c_void,
16305 pub hdr_vivid: Bool32,
16306}
16307
16308impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
16309 #[inline]
16310 fn default() -> Self {
16311 Self {
16312 s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
16313 next: ptr::null_mut(),
16314 hdr_vivid: Bool32::default(),
16315 }
16316 }
16317}
16318
16319unsafe impl Send for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16320unsafe impl Sync for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16321
16322#[repr(C)]
16324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16325pub struct PhysicalDeviceHostImageCopyFeatures {
16326 pub s_type: StructureType,
16327 pub next: *mut c_void,
16328 pub host_image_copy: Bool32,
16329}
16330
16331impl Default for PhysicalDeviceHostImageCopyFeatures {
16332 #[inline]
16333 fn default() -> Self {
16334 Self {
16335 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
16336 next: ptr::null_mut(),
16337 host_image_copy: Bool32::default(),
16338 }
16339 }
16340}
16341
16342unsafe impl Send for PhysicalDeviceHostImageCopyFeatures {}
16343unsafe impl Sync for PhysicalDeviceHostImageCopyFeatures {}
16344
16345#[repr(C)]
16347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16348pub struct PhysicalDeviceHostImageCopyProperties {
16349 pub s_type: StructureType,
16350 pub next: *mut c_void,
16351 pub copy_src_layout_count: u32,
16352 pub copy_src_layouts: *mut ImageLayout,
16353 pub copy_dst_layout_count: u32,
16354 pub copy_dst_layouts: *mut ImageLayout,
16355 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
16356 pub identical_memory_type_requirements: Bool32,
16357}
16358
16359impl Default for PhysicalDeviceHostImageCopyProperties {
16360 #[inline]
16361 fn default() -> Self {
16362 Self {
16363 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
16364 next: ptr::null_mut(),
16365 copy_src_layout_count: u32::default(),
16366 copy_src_layouts: ptr::null_mut(),
16367 copy_dst_layout_count: u32::default(),
16368 copy_dst_layouts: ptr::null_mut(),
16369 optimal_tiling_layout_uuid: ByteArray::default(),
16370 identical_memory_type_requirements: Bool32::default(),
16371 }
16372 }
16373}
16374
16375unsafe impl Send for PhysicalDeviceHostImageCopyProperties {}
16376unsafe impl Sync for PhysicalDeviceHostImageCopyProperties {}
16377
16378#[repr(C)]
16380#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16381pub struct PhysicalDeviceHostQueryResetFeatures {
16382 pub s_type: StructureType,
16383 pub next: *mut c_void,
16384 pub host_query_reset: Bool32,
16385}
16386
16387impl Default for PhysicalDeviceHostQueryResetFeatures {
16388 #[inline]
16389 fn default() -> Self {
16390 Self {
16391 s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
16392 next: ptr::null_mut(),
16393 host_query_reset: Bool32::default(),
16394 }
16395 }
16396}
16397
16398unsafe impl Send for PhysicalDeviceHostQueryResetFeatures {}
16399unsafe impl Sync for PhysicalDeviceHostQueryResetFeatures {}
16400
16401#[repr(C)]
16403#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16404pub struct PhysicalDeviceIDProperties {
16405 pub s_type: StructureType,
16406 pub next: *mut c_void,
16407 pub device_uuid: ByteArray<UUID_SIZE>,
16408 pub driver_uuid: ByteArray<UUID_SIZE>,
16409 pub device_luid: ByteArray<LUID_SIZE>,
16410 pub device_node_mask: u32,
16411 pub device_luid_valid: Bool32,
16412}
16413
16414impl Default for PhysicalDeviceIDProperties {
16415 #[inline]
16416 fn default() -> Self {
16417 Self {
16418 s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
16419 next: ptr::null_mut(),
16420 device_uuid: ByteArray::default(),
16421 driver_uuid: ByteArray::default(),
16422 device_luid: ByteArray::default(),
16423 device_node_mask: u32::default(),
16424 device_luid_valid: Bool32::default(),
16425 }
16426 }
16427}
16428
16429unsafe impl Send for PhysicalDeviceIDProperties {}
16430unsafe impl Sync for PhysicalDeviceIDProperties {}
16431
16432#[repr(C)]
16434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16435pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16436 pub s_type: StructureType,
16437 pub next: *mut c_void,
16438 pub image_2d_view_of_3d: Bool32,
16439 pub sampler_2d_view_of_3d: Bool32,
16440}
16441
16442impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16443 #[inline]
16444 fn default() -> Self {
16445 Self {
16446 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
16447 next: ptr::null_mut(),
16448 image_2d_view_of_3d: Bool32::default(),
16449 sampler_2d_view_of_3d: Bool32::default(),
16450 }
16451 }
16452}
16453
16454unsafe impl Send for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16455unsafe impl Sync for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16456
16457#[repr(C)]
16459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16460pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
16461 pub s_type: StructureType,
16462 pub next: *mut c_void,
16463 pub image_alignment_control: Bool32,
16464}
16465
16466impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
16467 #[inline]
16468 fn default() -> Self {
16469 Self {
16470 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
16471 next: ptr::null_mut(),
16472 image_alignment_control: Bool32::default(),
16473 }
16474 }
16475}
16476
16477unsafe impl Send for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16478unsafe impl Sync for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16479
16480#[repr(C)]
16482#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16483pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
16484 pub s_type: StructureType,
16485 pub next: *mut c_void,
16486 pub supported_image_alignment_mask: u32,
16487}
16488
16489impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
16490 #[inline]
16491 fn default() -> Self {
16492 Self {
16493 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
16494 next: ptr::null_mut(),
16495 supported_image_alignment_mask: u32::default(),
16496 }
16497 }
16498}
16499
16500unsafe impl Send for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16501unsafe impl Sync for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16502
16503#[repr(C)]
16505#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16506pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
16507 pub s_type: StructureType,
16508 pub next: *mut c_void,
16509 pub image_compression_control: Bool32,
16510}
16511
16512impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
16513 #[inline]
16514 fn default() -> Self {
16515 Self {
16516 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
16517 next: ptr::null_mut(),
16518 image_compression_control: Bool32::default(),
16519 }
16520 }
16521}
16522
16523unsafe impl Send for PhysicalDeviceImageCompressionControlFeaturesEXT {}
16524unsafe impl Sync for PhysicalDeviceImageCompressionControlFeaturesEXT {}
16525
16526#[repr(C)]
16528#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16529pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
16530 pub s_type: StructureType,
16531 pub next: *mut c_void,
16532 pub image_compression_control_swapchain: Bool32,
16533}
16534
16535impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
16536 #[inline]
16537 fn default() -> Self {
16538 Self {
16539 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
16540 next: ptr::null_mut(),
16541 image_compression_control_swapchain: Bool32::default(),
16542 }
16543 }
16544}
16545
16546unsafe impl Send for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
16547unsafe impl Sync for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
16548
16549#[repr(C)]
16551#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16552pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
16553 pub s_type: StructureType,
16554 pub next: *const c_void,
16555 pub drm_format_modifier: u64,
16556 pub sharing_mode: SharingMode,
16557 pub queue_family_index_count: u32,
16558 pub queue_family_indices: *const u32,
16559}
16560
16561impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
16562 #[inline]
16563 fn default() -> Self {
16564 Self {
16565 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
16566 next: ptr::null(),
16567 drm_format_modifier: u64::default(),
16568 sharing_mode: SharingMode::default(),
16569 queue_family_index_count: u32::default(),
16570 queue_family_indices: ptr::null(),
16571 }
16572 }
16573}
16574
16575unsafe impl Send for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
16576unsafe impl Sync for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
16577
16578#[repr(C)]
16580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16581pub struct PhysicalDeviceImageFormatInfo2 {
16582 pub s_type: StructureType,
16583 pub next: *const c_void,
16584 pub format: Format,
16585 pub type_: ImageType,
16586 pub tiling: ImageTiling,
16587 pub usage: ImageUsageFlags,
16588 pub flags: ImageCreateFlags,
16589}
16590
16591impl Default for PhysicalDeviceImageFormatInfo2 {
16592 #[inline]
16593 fn default() -> Self {
16594 Self {
16595 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
16596 next: ptr::null(),
16597 format: Format::default(),
16598 type_: ImageType::default(),
16599 tiling: ImageTiling::default(),
16600 usage: ImageUsageFlags::default(),
16601 flags: ImageCreateFlags::default(),
16602 }
16603 }
16604}
16605
16606unsafe impl Send for PhysicalDeviceImageFormatInfo2 {}
16607unsafe impl Sync for PhysicalDeviceImageFormatInfo2 {}
16608
16609#[repr(C)]
16611#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16612pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
16613 pub s_type: StructureType,
16614 pub next: *mut c_void,
16615 pub texture_block_match2: Bool32,
16616}
16617
16618impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
16619 #[inline]
16620 fn default() -> Self {
16621 Self {
16622 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
16623 next: ptr::null_mut(),
16624 texture_block_match2: Bool32::default(),
16625 }
16626 }
16627}
16628
16629unsafe impl Send for PhysicalDeviceImageProcessing2FeaturesQCOM {}
16630unsafe impl Sync for PhysicalDeviceImageProcessing2FeaturesQCOM {}
16631
16632#[repr(C)]
16634#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16635pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
16636 pub s_type: StructureType,
16637 pub next: *mut c_void,
16638 pub max_block_match_window: Extent2D,
16639}
16640
16641impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
16642 #[inline]
16643 fn default() -> Self {
16644 Self {
16645 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
16646 next: ptr::null_mut(),
16647 max_block_match_window: Extent2D::default(),
16648 }
16649 }
16650}
16651
16652unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {}
16653unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {}
16654
16655#[repr(C)]
16657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16658pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
16659 pub s_type: StructureType,
16660 pub next: *mut c_void,
16661 pub texture_sample_weighted: Bool32,
16662 pub texture_box_filter: Bool32,
16663 pub texture_block_match: Bool32,
16664}
16665
16666impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
16667 #[inline]
16668 fn default() -> Self {
16669 Self {
16670 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
16671 next: ptr::null_mut(),
16672 texture_sample_weighted: Bool32::default(),
16673 texture_box_filter: Bool32::default(),
16674 texture_block_match: Bool32::default(),
16675 }
16676 }
16677}
16678
16679unsafe impl Send for PhysicalDeviceImageProcessingFeaturesQCOM {}
16680unsafe impl Sync for PhysicalDeviceImageProcessingFeaturesQCOM {}
16681
16682#[repr(C)]
16684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16685pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
16686 pub s_type: StructureType,
16687 pub next: *mut c_void,
16688 pub max_weight_filter_phases: u32,
16689 pub max_weight_filter_dimension: Extent2D,
16690 pub max_block_match_region: Extent2D,
16691 pub max_box_filter_block_size: Extent2D,
16692}
16693
16694impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
16695 #[inline]
16696 fn default() -> Self {
16697 Self {
16698 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
16699 next: ptr::null_mut(),
16700 max_weight_filter_phases: u32::default(),
16701 max_weight_filter_dimension: Extent2D::default(),
16702 max_block_match_region: Extent2D::default(),
16703 max_box_filter_block_size: Extent2D::default(),
16704 }
16705 }
16706}
16707
16708unsafe impl Send for PhysicalDeviceImageProcessingPropertiesQCOM {}
16709unsafe impl Sync for PhysicalDeviceImageProcessingPropertiesQCOM {}
16710
16711#[repr(C)]
16713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16714pub struct PhysicalDeviceImageRobustnessFeatures {
16715 pub s_type: StructureType,
16716 pub next: *mut c_void,
16717 pub robust_image_access: Bool32,
16718}
16719
16720impl Default for PhysicalDeviceImageRobustnessFeatures {
16721 #[inline]
16722 fn default() -> Self {
16723 Self {
16724 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
16725 next: ptr::null_mut(),
16726 robust_image_access: Bool32::default(),
16727 }
16728 }
16729}
16730
16731unsafe impl Send for PhysicalDeviceImageRobustnessFeatures {}
16732unsafe impl Sync for PhysicalDeviceImageRobustnessFeatures {}
16733
16734#[repr(C)]
16736#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16737pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
16738 pub s_type: StructureType,
16739 pub next: *mut c_void,
16740 pub image_sliced_view_of_3d: Bool32,
16741}
16742
16743impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
16744 #[inline]
16745 fn default() -> Self {
16746 Self {
16747 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
16748 next: ptr::null_mut(),
16749 image_sliced_view_of_3d: Bool32::default(),
16750 }
16751 }
16752}
16753
16754unsafe impl Send for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
16755unsafe impl Sync for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
16756
16757#[repr(C)]
16759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16760pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
16761 pub s_type: StructureType,
16762 pub next: *mut c_void,
16763 pub image_view_type: ImageViewType,
16764}
16765
16766impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
16767 #[inline]
16768 fn default() -> Self {
16769 Self {
16770 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
16771 next: ptr::null_mut(),
16772 image_view_type: ImageViewType::default(),
16773 }
16774 }
16775}
16776
16777unsafe impl Send for PhysicalDeviceImageViewImageFormatInfoEXT {}
16778unsafe impl Sync for PhysicalDeviceImageViewImageFormatInfoEXT {}
16779
16780#[repr(C)]
16782#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16783pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
16784 pub s_type: StructureType,
16785 pub next: *mut c_void,
16786 pub min_lod: Bool32,
16787}
16788
16789impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
16790 #[inline]
16791 fn default() -> Self {
16792 Self {
16793 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
16794 next: ptr::null_mut(),
16795 min_lod: Bool32::default(),
16796 }
16797 }
16798}
16799
16800unsafe impl Send for PhysicalDeviceImageViewMinLodFeaturesEXT {}
16801unsafe impl Sync for PhysicalDeviceImageViewMinLodFeaturesEXT {}
16802
16803#[repr(C)]
16805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16806pub struct PhysicalDeviceImagelessFramebufferFeatures {
16807 pub s_type: StructureType,
16808 pub next: *mut c_void,
16809 pub imageless_framebuffer: Bool32,
16810}
16811
16812impl Default for PhysicalDeviceImagelessFramebufferFeatures {
16813 #[inline]
16814 fn default() -> Self {
16815 Self {
16816 s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
16817 next: ptr::null_mut(),
16818 imageless_framebuffer: Bool32::default(),
16819 }
16820 }
16821}
16822
16823unsafe impl Send for PhysicalDeviceImagelessFramebufferFeatures {}
16824unsafe impl Sync for PhysicalDeviceImagelessFramebufferFeatures {}
16825
16826#[repr(C)]
16828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16829pub struct PhysicalDeviceIndexTypeUint8Features {
16830 pub s_type: StructureType,
16831 pub next: *mut c_void,
16832 pub index_type_uint8: Bool32,
16833}
16834
16835impl Default for PhysicalDeviceIndexTypeUint8Features {
16836 #[inline]
16837 fn default() -> Self {
16838 Self {
16839 s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
16840 next: ptr::null_mut(),
16841 index_type_uint8: Bool32::default(),
16842 }
16843 }
16844}
16845
16846unsafe impl Send for PhysicalDeviceIndexTypeUint8Features {}
16847unsafe impl Sync for PhysicalDeviceIndexTypeUint8Features {}
16848
16849#[repr(C)]
16851#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16852pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
16853 pub s_type: StructureType,
16854 pub next: *mut c_void,
16855 pub inherited_viewport_scissor_2d: Bool32,
16856}
16857
16858impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
16859 #[inline]
16860 fn default() -> Self {
16861 Self {
16862 s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
16863 next: ptr::null_mut(),
16864 inherited_viewport_scissor_2d: Bool32::default(),
16865 }
16866 }
16867}
16868
16869unsafe impl Send for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
16870unsafe impl Sync for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
16871
16872#[repr(C)]
16874#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16875pub struct PhysicalDeviceInlineUniformBlockFeatures {
16876 pub s_type: StructureType,
16877 pub next: *mut c_void,
16878 pub inline_uniform_block: Bool32,
16879 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
16880}
16881
16882impl Default for PhysicalDeviceInlineUniformBlockFeatures {
16883 #[inline]
16884 fn default() -> Self {
16885 Self {
16886 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
16887 next: ptr::null_mut(),
16888 inline_uniform_block: Bool32::default(),
16889 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
16890 }
16891 }
16892}
16893
16894unsafe impl Send for PhysicalDeviceInlineUniformBlockFeatures {}
16895unsafe impl Sync for PhysicalDeviceInlineUniformBlockFeatures {}
16896
16897#[repr(C)]
16899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16900pub struct PhysicalDeviceInlineUniformBlockProperties {
16901 pub s_type: StructureType,
16902 pub next: *mut c_void,
16903 pub max_inline_uniform_block_size: u32,
16904 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
16905 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
16906 pub max_descriptor_set_inline_uniform_blocks: u32,
16907 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
16908}
16909
16910impl Default for PhysicalDeviceInlineUniformBlockProperties {
16911 #[inline]
16912 fn default() -> Self {
16913 Self {
16914 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
16915 next: ptr::null_mut(),
16916 max_inline_uniform_block_size: u32::default(),
16917 max_per_stage_descriptor_inline_uniform_blocks: u32::default(),
16918 max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(),
16919 max_descriptor_set_inline_uniform_blocks: u32::default(),
16920 max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(),
16921 }
16922 }
16923}
16924
16925unsafe impl Send for PhysicalDeviceInlineUniformBlockProperties {}
16926unsafe impl Sync for PhysicalDeviceInlineUniformBlockProperties {}
16927
16928#[repr(C)]
16930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16931pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
16932 pub s_type: StructureType,
16933 pub next: *mut c_void,
16934 pub invocation_mask: Bool32,
16935}
16936
16937impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
16938 #[inline]
16939 fn default() -> Self {
16940 Self {
16941 s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
16942 next: ptr::null_mut(),
16943 invocation_mask: Bool32::default(),
16944 }
16945 }
16946}
16947
16948unsafe impl Send for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
16949unsafe impl Sync for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
16950
16951#[repr(C)]
16953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16954pub struct PhysicalDeviceLayeredApiPropertiesKHR {
16955 pub s_type: StructureType,
16956 pub next: *mut c_void,
16957 pub vendor_id: u32,
16958 pub device_id: u32,
16959 pub layered_api: PhysicalDeviceLayeredApiKHR,
16960 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
16961}
16962
16963impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
16964 #[inline]
16965 fn default() -> Self {
16966 Self {
16967 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
16968 next: ptr::null_mut(),
16969 vendor_id: u32::default(),
16970 device_id: u32::default(),
16971 layered_api: PhysicalDeviceLayeredApiKHR::default(),
16972 device_name: StringArray::default(),
16973 }
16974 }
16975}
16976
16977unsafe impl Send for PhysicalDeviceLayeredApiPropertiesKHR {}
16978unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesKHR {}
16979
16980#[repr(C)]
16982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16983pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
16984 pub s_type: StructureType,
16985 pub next: *mut c_void,
16986 pub layered_api_count: u32,
16987 pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
16988}
16989
16990impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
16991 #[inline]
16992 fn default() -> Self {
16993 Self {
16994 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
16995 next: ptr::null_mut(),
16996 layered_api_count: u32::default(),
16997 layered_apis: ptr::null_mut(),
16998 }
16999 }
17000}
17001
17002unsafe impl Send for PhysicalDeviceLayeredApiPropertiesListKHR {}
17003unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesListKHR {}
17004
17005#[repr(C)]
17007#[derive(Copy, Clone, Debug, PartialEq)]
17008pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17009 pub s_type: StructureType,
17010 pub next: *mut c_void,
17011 pub properties: PhysicalDeviceProperties2,
17012}
17013
17014impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17015 #[inline]
17016 fn default() -> Self {
17017 Self {
17018 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
17019 next: ptr::null_mut(),
17020 properties: PhysicalDeviceProperties2::default(),
17021 }
17022 }
17023}
17024
17025unsafe impl Send for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17026unsafe impl Sync for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17027
17028#[repr(C)]
17030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17031pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
17032 pub s_type: StructureType,
17033 pub next: *mut c_void,
17034 pub underlying_api: LayeredDriverUnderlyingApiMSFT,
17035}
17036
17037impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
17038 #[inline]
17039 fn default() -> Self {
17040 Self {
17041 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
17042 next: ptr::null_mut(),
17043 underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
17044 }
17045 }
17046}
17047
17048unsafe impl Send for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17049unsafe impl Sync for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17050
17051#[repr(C)]
17053#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17054pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
17055 pub s_type: StructureType,
17056 pub next: *mut c_void,
17057 pub legacy_dithering: Bool32,
17058}
17059
17060impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
17061 #[inline]
17062 fn default() -> Self {
17063 Self {
17064 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
17065 next: ptr::null_mut(),
17066 legacy_dithering: Bool32::default(),
17067 }
17068 }
17069}
17070
17071unsafe impl Send for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17072unsafe impl Sync for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17073
17074#[repr(C)]
17076#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17077pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17078 pub s_type: StructureType,
17079 pub next: *mut c_void,
17080 pub legacy_vertex_attributes: Bool32,
17081}
17082
17083impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17084 #[inline]
17085 fn default() -> Self {
17086 Self {
17087 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
17088 next: ptr::null_mut(),
17089 legacy_vertex_attributes: Bool32::default(),
17090 }
17091 }
17092}
17093
17094unsafe impl Send for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17095unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17096
17097#[repr(C)]
17099#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17100pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17101 pub s_type: StructureType,
17102 pub next: *mut c_void,
17103 pub native_unaligned_performance: Bool32,
17104}
17105
17106impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17107 #[inline]
17108 fn default() -> Self {
17109 Self {
17110 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
17111 next: ptr::null_mut(),
17112 native_unaligned_performance: Bool32::default(),
17113 }
17114 }
17115}
17116
17117unsafe impl Send for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17118unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17119
17120#[repr(C)]
17122#[derive(Copy, Clone, Default, Debug, PartialEq)]
17123pub struct PhysicalDeviceLimits {
17124 pub max_image_dimension_1d: u32,
17125 pub max_image_dimension_2d: u32,
17126 pub max_image_dimension_3d: u32,
17127 pub max_image_dimension_cube: u32,
17128 pub max_image_array_layers: u32,
17129 pub max_texel_buffer_elements: u32,
17130 pub max_uniform_buffer_range: u32,
17131 pub max_storage_buffer_range: u32,
17132 pub max_push_constants_size: u32,
17133 pub max_memory_allocation_count: u32,
17134 pub max_sampler_allocation_count: u32,
17135 pub buffer_image_granularity: DeviceSize,
17136 pub sparse_address_space_size: DeviceSize,
17137 pub max_bound_descriptor_sets: u32,
17138 pub max_per_stage_descriptor_samplers: u32,
17139 pub max_per_stage_descriptor_uniform_buffers: u32,
17140 pub max_per_stage_descriptor_storage_buffers: u32,
17141 pub max_per_stage_descriptor_sampled_images: u32,
17142 pub max_per_stage_descriptor_storage_images: u32,
17143 pub max_per_stage_descriptor_input_attachments: u32,
17144 pub max_per_stage_resources: u32,
17145 pub max_descriptor_set_samplers: u32,
17146 pub max_descriptor_set_uniform_buffers: u32,
17147 pub max_descriptor_set_uniform_buffers_dynamic: u32,
17148 pub max_descriptor_set_storage_buffers: u32,
17149 pub max_descriptor_set_storage_buffers_dynamic: u32,
17150 pub max_descriptor_set_sampled_images: u32,
17151 pub max_descriptor_set_storage_images: u32,
17152 pub max_descriptor_set_input_attachments: u32,
17153 pub max_vertex_input_attributes: u32,
17154 pub max_vertex_input_bindings: u32,
17155 pub max_vertex_input_attribute_offset: u32,
17156 pub max_vertex_input_binding_stride: u32,
17157 pub max_vertex_output_components: u32,
17158 pub max_tessellation_generation_level: u32,
17159 pub max_tessellation_patch_size: u32,
17160 pub max_tessellation_control_per_vertex_input_components: u32,
17161 pub max_tessellation_control_per_vertex_output_components: u32,
17162 pub max_tessellation_control_per_patch_output_components: u32,
17163 pub max_tessellation_control_total_output_components: u32,
17164 pub max_tessellation_evaluation_input_components: u32,
17165 pub max_tessellation_evaluation_output_components: u32,
17166 pub max_geometry_shader_invocations: u32,
17167 pub max_geometry_input_components: u32,
17168 pub max_geometry_output_components: u32,
17169 pub max_geometry_output_vertices: u32,
17170 pub max_geometry_total_output_components: u32,
17171 pub max_fragment_input_components: u32,
17172 pub max_fragment_output_attachments: u32,
17173 pub max_fragment_dual_src_attachments: u32,
17174 pub max_fragment_combined_output_resources: u32,
17175 pub max_compute_shared_memory_size: u32,
17176 pub max_compute_work_group_count: [u32; 3],
17177 pub max_compute_work_group_invocations: u32,
17178 pub max_compute_work_group_size: [u32; 3],
17179 pub sub_pixel_precision_bits: u32,
17180 pub sub_texel_precision_bits: u32,
17181 pub mipmap_precision_bits: u32,
17182 pub max_draw_indexed_index_value: u32,
17183 pub max_draw_indirect_count: u32,
17184 pub max_sampler_lod_bias: f32,
17185 pub max_sampler_anisotropy: f32,
17186 pub max_viewports: u32,
17187 pub max_viewport_dimensions: [u32; 2],
17188 pub viewport_bounds_range: [f32; 2],
17189 pub viewport_sub_pixel_bits: u32,
17190 pub min_memory_map_alignment: usize,
17191 pub min_texel_buffer_offset_alignment: DeviceSize,
17192 pub min_uniform_buffer_offset_alignment: DeviceSize,
17193 pub min_storage_buffer_offset_alignment: DeviceSize,
17194 pub min_texel_offset: i32,
17195 pub max_texel_offset: u32,
17196 pub min_texel_gather_offset: i32,
17197 pub max_texel_gather_offset: u32,
17198 pub min_interpolation_offset: f32,
17199 pub max_interpolation_offset: f32,
17200 pub sub_pixel_interpolation_offset_bits: u32,
17201 pub max_framebuffer_width: u32,
17202 pub max_framebuffer_height: u32,
17203 pub max_framebuffer_layers: u32,
17204 pub framebuffer_color_sample_counts: SampleCountFlags,
17205 pub framebuffer_depth_sample_counts: SampleCountFlags,
17206 pub framebuffer_stencil_sample_counts: SampleCountFlags,
17207 pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
17208 pub max_color_attachments: u32,
17209 pub sampled_image_color_sample_counts: SampleCountFlags,
17210 pub sampled_image_integer_sample_counts: SampleCountFlags,
17211 pub sampled_image_depth_sample_counts: SampleCountFlags,
17212 pub sampled_image_stencil_sample_counts: SampleCountFlags,
17213 pub storage_image_sample_counts: SampleCountFlags,
17214 pub max_sample_mask_words: u32,
17215 pub timestamp_compute_and_graphics: Bool32,
17216 pub timestamp_period: f32,
17217 pub max_clip_distances: u32,
17218 pub max_cull_distances: u32,
17219 pub max_combined_clip_and_cull_distances: u32,
17220 pub discrete_queue_priorities: u32,
17221 pub point_size_range: [f32; 2],
17222 pub line_width_range: [f32; 2],
17223 pub point_size_granularity: f32,
17224 pub line_width_granularity: f32,
17225 pub strict_lines: Bool32,
17226 pub standard_sample_locations: Bool32,
17227 pub optimal_buffer_copy_offset_alignment: DeviceSize,
17228 pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
17229 pub non_coherent_atom_size: DeviceSize,
17230}
17231
17232#[repr(C)]
17234#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17235pub struct PhysicalDeviceLineRasterizationFeatures {
17236 pub s_type: StructureType,
17237 pub next: *mut c_void,
17238 pub rectangular_lines: Bool32,
17239 pub bresenham_lines: Bool32,
17240 pub smooth_lines: Bool32,
17241 pub stippled_rectangular_lines: Bool32,
17242 pub stippled_bresenham_lines: Bool32,
17243 pub stippled_smooth_lines: Bool32,
17244}
17245
17246impl Default for PhysicalDeviceLineRasterizationFeatures {
17247 #[inline]
17248 fn default() -> Self {
17249 Self {
17250 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
17251 next: ptr::null_mut(),
17252 rectangular_lines: Bool32::default(),
17253 bresenham_lines: Bool32::default(),
17254 smooth_lines: Bool32::default(),
17255 stippled_rectangular_lines: Bool32::default(),
17256 stippled_bresenham_lines: Bool32::default(),
17257 stippled_smooth_lines: Bool32::default(),
17258 }
17259 }
17260}
17261
17262unsafe impl Send for PhysicalDeviceLineRasterizationFeatures {}
17263unsafe impl Sync for PhysicalDeviceLineRasterizationFeatures {}
17264
17265#[repr(C)]
17267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17268pub struct PhysicalDeviceLineRasterizationProperties {
17269 pub s_type: StructureType,
17270 pub next: *mut c_void,
17271 pub line_sub_pixel_precision_bits: u32,
17272}
17273
17274impl Default for PhysicalDeviceLineRasterizationProperties {
17275 #[inline]
17276 fn default() -> Self {
17277 Self {
17278 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
17279 next: ptr::null_mut(),
17280 line_sub_pixel_precision_bits: u32::default(),
17281 }
17282 }
17283}
17284
17285unsafe impl Send for PhysicalDeviceLineRasterizationProperties {}
17286unsafe impl Sync for PhysicalDeviceLineRasterizationProperties {}
17287
17288#[repr(C)]
17290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17291pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
17292 pub s_type: StructureType,
17293 pub next: *mut c_void,
17294 pub linear_color_attachment: Bool32,
17295}
17296
17297impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
17298 #[inline]
17299 fn default() -> Self {
17300 Self {
17301 s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
17302 next: ptr::null_mut(),
17303 linear_color_attachment: Bool32::default(),
17304 }
17305 }
17306}
17307
17308unsafe impl Send for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17309unsafe impl Sync for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17310
17311#[repr(C)]
17313#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17314pub struct PhysicalDeviceMaintenance3Properties {
17315 pub s_type: StructureType,
17316 pub next: *mut c_void,
17317 pub max_per_set_descriptors: u32,
17318 pub max_memory_allocation_size: DeviceSize,
17319}
17320
17321impl Default for PhysicalDeviceMaintenance3Properties {
17322 #[inline]
17323 fn default() -> Self {
17324 Self {
17325 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
17326 next: ptr::null_mut(),
17327 max_per_set_descriptors: u32::default(),
17328 max_memory_allocation_size: DeviceSize::default(),
17329 }
17330 }
17331}
17332
17333unsafe impl Send for PhysicalDeviceMaintenance3Properties {}
17334unsafe impl Sync for PhysicalDeviceMaintenance3Properties {}
17335
17336#[repr(C)]
17338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17339pub struct PhysicalDeviceMaintenance4Features {
17340 pub s_type: StructureType,
17341 pub next: *mut c_void,
17342 pub maintenance4: Bool32,
17343}
17344
17345impl Default for PhysicalDeviceMaintenance4Features {
17346 #[inline]
17347 fn default() -> Self {
17348 Self {
17349 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
17350 next: ptr::null_mut(),
17351 maintenance4: Bool32::default(),
17352 }
17353 }
17354}
17355
17356unsafe impl Send for PhysicalDeviceMaintenance4Features {}
17357unsafe impl Sync for PhysicalDeviceMaintenance4Features {}
17358
17359#[repr(C)]
17361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17362pub struct PhysicalDeviceMaintenance4Properties {
17363 pub s_type: StructureType,
17364 pub next: *mut c_void,
17365 pub max_buffer_size: DeviceSize,
17366}
17367
17368impl Default for PhysicalDeviceMaintenance4Properties {
17369 #[inline]
17370 fn default() -> Self {
17371 Self {
17372 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
17373 next: ptr::null_mut(),
17374 max_buffer_size: DeviceSize::default(),
17375 }
17376 }
17377}
17378
17379unsafe impl Send for PhysicalDeviceMaintenance4Properties {}
17380unsafe impl Sync for PhysicalDeviceMaintenance4Properties {}
17381
17382#[repr(C)]
17384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17385pub struct PhysicalDeviceMaintenance5Features {
17386 pub s_type: StructureType,
17387 pub next: *mut c_void,
17388 pub maintenance5: Bool32,
17389}
17390
17391impl Default for PhysicalDeviceMaintenance5Features {
17392 #[inline]
17393 fn default() -> Self {
17394 Self {
17395 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
17396 next: ptr::null_mut(),
17397 maintenance5: Bool32::default(),
17398 }
17399 }
17400}
17401
17402unsafe impl Send for PhysicalDeviceMaintenance5Features {}
17403unsafe impl Sync for PhysicalDeviceMaintenance5Features {}
17404
17405#[repr(C)]
17407#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17408pub struct PhysicalDeviceMaintenance5Properties {
17409 pub s_type: StructureType,
17410 pub next: *mut c_void,
17411 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
17412 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
17413 pub depth_stencil_swizzle_one_support: Bool32,
17414 pub polygon_mode_point_size: Bool32,
17415 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
17416 pub non_strict_wide_lines_use_parallelogram: Bool32,
17417}
17418
17419impl Default for PhysicalDeviceMaintenance5Properties {
17420 #[inline]
17421 fn default() -> Self {
17422 Self {
17423 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
17424 next: ptr::null_mut(),
17425 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
17426 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
17427 depth_stencil_swizzle_one_support: Bool32::default(),
17428 polygon_mode_point_size: Bool32::default(),
17429 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
17430 non_strict_wide_lines_use_parallelogram: Bool32::default(),
17431 }
17432 }
17433}
17434
17435unsafe impl Send for PhysicalDeviceMaintenance5Properties {}
17436unsafe impl Sync for PhysicalDeviceMaintenance5Properties {}
17437
17438#[repr(C)]
17440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17441pub struct PhysicalDeviceMaintenance6Features {
17442 pub s_type: StructureType,
17443 pub next: *mut c_void,
17444 pub maintenance6: Bool32,
17445}
17446
17447impl Default for PhysicalDeviceMaintenance6Features {
17448 #[inline]
17449 fn default() -> Self {
17450 Self {
17451 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
17452 next: ptr::null_mut(),
17453 maintenance6: Bool32::default(),
17454 }
17455 }
17456}
17457
17458unsafe impl Send for PhysicalDeviceMaintenance6Features {}
17459unsafe impl Sync for PhysicalDeviceMaintenance6Features {}
17460
17461#[repr(C)]
17463#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17464pub struct PhysicalDeviceMaintenance6Properties {
17465 pub s_type: StructureType,
17466 pub next: *mut c_void,
17467 pub block_texel_view_compatible_multiple_layers: Bool32,
17468 pub max_combined_image_sampler_descriptor_count: u32,
17469 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
17470}
17471
17472impl Default for PhysicalDeviceMaintenance6Properties {
17473 #[inline]
17474 fn default() -> Self {
17475 Self {
17476 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
17477 next: ptr::null_mut(),
17478 block_texel_view_compatible_multiple_layers: Bool32::default(),
17479 max_combined_image_sampler_descriptor_count: u32::default(),
17480 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
17481 }
17482 }
17483}
17484
17485unsafe impl Send for PhysicalDeviceMaintenance6Properties {}
17486unsafe impl Sync for PhysicalDeviceMaintenance6Properties {}
17487
17488#[repr(C)]
17490#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17491pub struct PhysicalDeviceMaintenance7FeaturesKHR {
17492 pub s_type: StructureType,
17493 pub next: *mut c_void,
17494 pub maintenance7: Bool32,
17495}
17496
17497impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
17498 #[inline]
17499 fn default() -> Self {
17500 Self {
17501 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
17502 next: ptr::null_mut(),
17503 maintenance7: Bool32::default(),
17504 }
17505 }
17506}
17507
17508unsafe impl Send for PhysicalDeviceMaintenance7FeaturesKHR {}
17509unsafe impl Sync for PhysicalDeviceMaintenance7FeaturesKHR {}
17510
17511#[repr(C)]
17513#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17514pub struct PhysicalDeviceMaintenance7PropertiesKHR {
17515 pub s_type: StructureType,
17516 pub next: *mut c_void,
17517 pub robust_fragment_shading_rate_attachment_access: Bool32,
17518 pub separate_depth_stencil_attachment_access: Bool32,
17519 pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
17520 pub max_descriptor_set_total_storage_buffers_dynamic: u32,
17521 pub max_descriptor_set_total_buffers_dynamic: u32,
17522 pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
17523 pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
17524 pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
17525}
17526
17527impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
17528 #[inline]
17529 fn default() -> Self {
17530 Self {
17531 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
17532 next: ptr::null_mut(),
17533 robust_fragment_shading_rate_attachment_access: Bool32::default(),
17534 separate_depth_stencil_attachment_access: Bool32::default(),
17535 max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
17536 max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
17537 max_descriptor_set_total_buffers_dynamic: u32::default(),
17538 max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
17539 max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
17540 max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
17541 }
17542 }
17543}
17544
17545unsafe impl Send for PhysicalDeviceMaintenance7PropertiesKHR {}
17546unsafe impl Sync for PhysicalDeviceMaintenance7PropertiesKHR {}
17547
17548#[repr(C)]
17550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17551pub struct PhysicalDeviceMaintenance8FeaturesKHR {
17552 pub s_type: StructureType,
17553 pub next: *mut c_void,
17554 pub maintenance8: Bool32,
17555}
17556
17557impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
17558 #[inline]
17559 fn default() -> Self {
17560 Self {
17561 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
17562 next: ptr::null_mut(),
17563 maintenance8: Bool32::default(),
17564 }
17565 }
17566}
17567
17568unsafe impl Send for PhysicalDeviceMaintenance8FeaturesKHR {}
17569unsafe impl Sync for PhysicalDeviceMaintenance8FeaturesKHR {}
17570
17571#[repr(C)]
17573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17574pub struct PhysicalDeviceMaintenance9FeaturesKHR {
17575 pub s_type: StructureType,
17576 pub next: *mut c_void,
17577 pub maintenance9: Bool32,
17578}
17579
17580impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
17581 #[inline]
17582 fn default() -> Self {
17583 Self {
17584 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
17585 next: ptr::null_mut(),
17586 maintenance9: Bool32::default(),
17587 }
17588 }
17589}
17590
17591unsafe impl Send for PhysicalDeviceMaintenance9FeaturesKHR {}
17592unsafe impl Sync for PhysicalDeviceMaintenance9FeaturesKHR {}
17593
17594#[repr(C)]
17596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17597pub struct PhysicalDeviceMaintenance9PropertiesKHR {
17598 pub s_type: StructureType,
17599 pub next: *mut c_void,
17600 pub image_2d_view_of_3d_sparse: Bool32,
17601 pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
17602}
17603
17604impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
17605 #[inline]
17606 fn default() -> Self {
17607 Self {
17608 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
17609 next: ptr::null_mut(),
17610 image_2d_view_of_3d_sparse: Bool32::default(),
17611 default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
17612 }
17613 }
17614}
17615
17616unsafe impl Send for PhysicalDeviceMaintenance9PropertiesKHR {}
17617unsafe impl Sync for PhysicalDeviceMaintenance9PropertiesKHR {}
17618
17619#[repr(C)]
17621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17622pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
17623 pub s_type: StructureType,
17624 pub next: *mut c_void,
17625 pub memory_map_placed: Bool32,
17626 pub memory_map_range_placed: Bool32,
17627 pub memory_unmap_reserve: Bool32,
17628}
17629
17630impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
17631 #[inline]
17632 fn default() -> Self {
17633 Self {
17634 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
17635 next: ptr::null_mut(),
17636 memory_map_placed: Bool32::default(),
17637 memory_map_range_placed: Bool32::default(),
17638 memory_unmap_reserve: Bool32::default(),
17639 }
17640 }
17641}
17642
17643unsafe impl Send for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
17644unsafe impl Sync for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
17645
17646#[repr(C)]
17648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17649pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
17650 pub s_type: StructureType,
17651 pub next: *mut c_void,
17652 pub min_placed_memory_map_alignment: DeviceSize,
17653}
17654
17655impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
17656 #[inline]
17657 fn default() -> Self {
17658 Self {
17659 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
17660 next: ptr::null_mut(),
17661 min_placed_memory_map_alignment: DeviceSize::default(),
17662 }
17663 }
17664}
17665
17666unsafe impl Send for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
17667unsafe impl Sync for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
17668
17669#[repr(C)]
17671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17672pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
17673 pub s_type: StructureType,
17674 pub next: *mut c_void,
17675 pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS],
17676 pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS],
17677}
17678
17679impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
17680 #[inline]
17681 fn default() -> Self {
17682 Self {
17683 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
17684 next: ptr::null_mut(),
17685 heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
17686 heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
17687 }
17688 }
17689}
17690
17691unsafe impl Send for PhysicalDeviceMemoryBudgetPropertiesEXT {}
17692unsafe impl Sync for PhysicalDeviceMemoryBudgetPropertiesEXT {}
17693
17694#[repr(C)]
17696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17697pub struct PhysicalDeviceMemoryDecompressionFeaturesNV {
17698 pub s_type: StructureType,
17699 pub next: *mut c_void,
17700 pub memory_decompression: Bool32,
17701}
17702
17703impl Default for PhysicalDeviceMemoryDecompressionFeaturesNV {
17704 #[inline]
17705 fn default() -> Self {
17706 Self {
17707 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV,
17708 next: ptr::null_mut(),
17709 memory_decompression: Bool32::default(),
17710 }
17711 }
17712}
17713
17714unsafe impl Send for PhysicalDeviceMemoryDecompressionFeaturesNV {}
17715unsafe impl Sync for PhysicalDeviceMemoryDecompressionFeaturesNV {}
17716
17717#[repr(C)]
17719#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17720pub struct PhysicalDeviceMemoryDecompressionPropertiesNV {
17721 pub s_type: StructureType,
17722 pub next: *mut c_void,
17723 pub decompression_methods: MemoryDecompressionMethodFlagsNV,
17724 pub max_decompression_indirect_count: u64,
17725}
17726
17727impl Default for PhysicalDeviceMemoryDecompressionPropertiesNV {
17728 #[inline]
17729 fn default() -> Self {
17730 Self {
17731 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV,
17732 next: ptr::null_mut(),
17733 decompression_methods: MemoryDecompressionMethodFlagsNV::default(),
17734 max_decompression_indirect_count: u64::default(),
17735 }
17736 }
17737}
17738
17739unsafe impl Send for PhysicalDeviceMemoryDecompressionPropertiesNV {}
17740unsafe impl Sync for PhysicalDeviceMemoryDecompressionPropertiesNV {}
17741
17742#[repr(C)]
17744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17745pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
17746 pub s_type: StructureType,
17747 pub next: *mut c_void,
17748 pub memory_priority: Bool32,
17749}
17750
17751impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
17752 #[inline]
17753 fn default() -> Self {
17754 Self {
17755 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
17756 next: ptr::null_mut(),
17757 memory_priority: Bool32::default(),
17758 }
17759 }
17760}
17761
17762unsafe impl Send for PhysicalDeviceMemoryPriorityFeaturesEXT {}
17763unsafe impl Sync for PhysicalDeviceMemoryPriorityFeaturesEXT {}
17764
17765#[repr(C)]
17767#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
17768pub struct PhysicalDeviceMemoryProperties {
17769 pub memory_type_count: u32,
17770 pub memory_types: [MemoryType; MAX_MEMORY_TYPES],
17771 pub memory_heap_count: u32,
17772 pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS],
17773}
17774
17775#[repr(C)]
17777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17778pub struct PhysicalDeviceMemoryProperties2 {
17779 pub s_type: StructureType,
17780 pub next: *mut c_void,
17781 pub memory_properties: PhysicalDeviceMemoryProperties,
17782}
17783
17784impl Default for PhysicalDeviceMemoryProperties2 {
17785 #[inline]
17786 fn default() -> Self {
17787 Self {
17788 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
17789 next: ptr::null_mut(),
17790 memory_properties: PhysicalDeviceMemoryProperties::default(),
17791 }
17792 }
17793}
17794
17795unsafe impl Send for PhysicalDeviceMemoryProperties2 {}
17796unsafe impl Sync for PhysicalDeviceMemoryProperties2 {}
17797
17798#[repr(C)]
17800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17801pub struct PhysicalDeviceMeshShaderFeaturesEXT {
17802 pub s_type: StructureType,
17803 pub next: *mut c_void,
17804 pub task_shader: Bool32,
17805 pub mesh_shader: Bool32,
17806 pub multiview_mesh_shader: Bool32,
17807 pub primitive_fragment_shading_rate_mesh_shader: Bool32,
17808 pub mesh_shader_queries: Bool32,
17809}
17810
17811impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
17812 #[inline]
17813 fn default() -> Self {
17814 Self {
17815 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
17816 next: ptr::null_mut(),
17817 task_shader: Bool32::default(),
17818 mesh_shader: Bool32::default(),
17819 multiview_mesh_shader: Bool32::default(),
17820 primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
17821 mesh_shader_queries: Bool32::default(),
17822 }
17823 }
17824}
17825
17826unsafe impl Send for PhysicalDeviceMeshShaderFeaturesEXT {}
17827unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesEXT {}
17828
17829#[repr(C)]
17831#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17832pub struct PhysicalDeviceMeshShaderFeaturesNV {
17833 pub s_type: StructureType,
17834 pub next: *mut c_void,
17835 pub task_shader: Bool32,
17836 pub mesh_shader: Bool32,
17837}
17838
17839impl Default for PhysicalDeviceMeshShaderFeaturesNV {
17840 #[inline]
17841 fn default() -> Self {
17842 Self {
17843 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
17844 next: ptr::null_mut(),
17845 task_shader: Bool32::default(),
17846 mesh_shader: Bool32::default(),
17847 }
17848 }
17849}
17850
17851unsafe impl Send for PhysicalDeviceMeshShaderFeaturesNV {}
17852unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesNV {}
17853
17854#[repr(C)]
17856#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17857pub struct PhysicalDeviceMeshShaderPropertiesEXT {
17858 pub s_type: StructureType,
17859 pub next: *mut c_void,
17860 pub max_task_work_group_total_count: u32,
17861 pub max_task_work_group_count: [u32; 3],
17862 pub max_task_work_group_invocations: u32,
17863 pub max_task_work_group_size: [u32; 3],
17864 pub max_task_payload_size: u32,
17865 pub max_task_shared_memory_size: u32,
17866 pub max_task_payload_and_shared_memory_size: u32,
17867 pub max_mesh_work_group_total_count: u32,
17868 pub max_mesh_work_group_count: [u32; 3],
17869 pub max_mesh_work_group_invocations: u32,
17870 pub max_mesh_work_group_size: [u32; 3],
17871 pub max_mesh_shared_memory_size: u32,
17872 pub max_mesh_payload_and_shared_memory_size: u32,
17873 pub max_mesh_output_memory_size: u32,
17874 pub max_mesh_payload_and_output_memory_size: u32,
17875 pub max_mesh_output_components: u32,
17876 pub max_mesh_output_vertices: u32,
17877 pub max_mesh_output_primitives: u32,
17878 pub max_mesh_output_layers: u32,
17879 pub max_mesh_multiview_view_count: u32,
17880 pub mesh_output_per_vertex_granularity: u32,
17881 pub mesh_output_per_primitive_granularity: u32,
17882 pub max_preferred_task_work_group_invocations: u32,
17883 pub max_preferred_mesh_work_group_invocations: u32,
17884 pub prefers_local_invocation_vertex_output: Bool32,
17885 pub prefers_local_invocation_primitive_output: Bool32,
17886 pub prefers_compact_vertex_output: Bool32,
17887 pub prefers_compact_primitive_output: Bool32,
17888}
17889
17890impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
17891 #[inline]
17892 fn default() -> Self {
17893 Self {
17894 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
17895 next: ptr::null_mut(),
17896 max_task_work_group_total_count: u32::default(),
17897 max_task_work_group_count: [u32::default(); 3],
17898 max_task_work_group_invocations: u32::default(),
17899 max_task_work_group_size: [u32::default(); 3],
17900 max_task_payload_size: u32::default(),
17901 max_task_shared_memory_size: u32::default(),
17902 max_task_payload_and_shared_memory_size: u32::default(),
17903 max_mesh_work_group_total_count: u32::default(),
17904 max_mesh_work_group_count: [u32::default(); 3],
17905 max_mesh_work_group_invocations: u32::default(),
17906 max_mesh_work_group_size: [u32::default(); 3],
17907 max_mesh_shared_memory_size: u32::default(),
17908 max_mesh_payload_and_shared_memory_size: u32::default(),
17909 max_mesh_output_memory_size: u32::default(),
17910 max_mesh_payload_and_output_memory_size: u32::default(),
17911 max_mesh_output_components: u32::default(),
17912 max_mesh_output_vertices: u32::default(),
17913 max_mesh_output_primitives: u32::default(),
17914 max_mesh_output_layers: u32::default(),
17915 max_mesh_multiview_view_count: u32::default(),
17916 mesh_output_per_vertex_granularity: u32::default(),
17917 mesh_output_per_primitive_granularity: u32::default(),
17918 max_preferred_task_work_group_invocations: u32::default(),
17919 max_preferred_mesh_work_group_invocations: u32::default(),
17920 prefers_local_invocation_vertex_output: Bool32::default(),
17921 prefers_local_invocation_primitive_output: Bool32::default(),
17922 prefers_compact_vertex_output: Bool32::default(),
17923 prefers_compact_primitive_output: Bool32::default(),
17924 }
17925 }
17926}
17927
17928unsafe impl Send for PhysicalDeviceMeshShaderPropertiesEXT {}
17929unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesEXT {}
17930
17931#[repr(C)]
17933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17934pub struct PhysicalDeviceMeshShaderPropertiesNV {
17935 pub s_type: StructureType,
17936 pub next: *mut c_void,
17937 pub max_draw_mesh_tasks_count: u32,
17938 pub max_task_work_group_invocations: u32,
17939 pub max_task_work_group_size: [u32; 3],
17940 pub max_task_total_memory_size: u32,
17941 pub max_task_output_count: u32,
17942 pub max_mesh_work_group_invocations: u32,
17943 pub max_mesh_work_group_size: [u32; 3],
17944 pub max_mesh_total_memory_size: u32,
17945 pub max_mesh_output_vertices: u32,
17946 pub max_mesh_output_primitives: u32,
17947 pub max_mesh_multiview_view_count: u32,
17948 pub mesh_output_per_vertex_granularity: u32,
17949 pub mesh_output_per_primitive_granularity: u32,
17950}
17951
17952impl Default for PhysicalDeviceMeshShaderPropertiesNV {
17953 #[inline]
17954 fn default() -> Self {
17955 Self {
17956 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
17957 next: ptr::null_mut(),
17958 max_draw_mesh_tasks_count: u32::default(),
17959 max_task_work_group_invocations: u32::default(),
17960 max_task_work_group_size: [u32::default(); 3],
17961 max_task_total_memory_size: u32::default(),
17962 max_task_output_count: u32::default(),
17963 max_mesh_work_group_invocations: u32::default(),
17964 max_mesh_work_group_size: [u32::default(); 3],
17965 max_mesh_total_memory_size: u32::default(),
17966 max_mesh_output_vertices: u32::default(),
17967 max_mesh_output_primitives: u32::default(),
17968 max_mesh_multiview_view_count: u32::default(),
17969 mesh_output_per_vertex_granularity: u32::default(),
17970 mesh_output_per_primitive_granularity: u32::default(),
17971 }
17972 }
17973}
17974
17975unsafe impl Send for PhysicalDeviceMeshShaderPropertiesNV {}
17976unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesNV {}
17977
17978#[repr(C)]
17980#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17981pub struct PhysicalDeviceMultiDrawFeaturesEXT {
17982 pub s_type: StructureType,
17983 pub next: *mut c_void,
17984 pub multi_draw: Bool32,
17985}
17986
17987impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
17988 #[inline]
17989 fn default() -> Self {
17990 Self {
17991 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
17992 next: ptr::null_mut(),
17993 multi_draw: Bool32::default(),
17994 }
17995 }
17996}
17997
17998unsafe impl Send for PhysicalDeviceMultiDrawFeaturesEXT {}
17999unsafe impl Sync for PhysicalDeviceMultiDrawFeaturesEXT {}
18000
18001#[repr(C)]
18003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18004pub struct PhysicalDeviceMultiDrawPropertiesEXT {
18005 pub s_type: StructureType,
18006 pub next: *mut c_void,
18007 pub max_multi_draw_count: u32,
18008}
18009
18010impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
18011 #[inline]
18012 fn default() -> Self {
18013 Self {
18014 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
18015 next: ptr::null_mut(),
18016 max_multi_draw_count: u32::default(),
18017 }
18018 }
18019}
18020
18021unsafe impl Send for PhysicalDeviceMultiDrawPropertiesEXT {}
18022unsafe impl Sync for PhysicalDeviceMultiDrawPropertiesEXT {}
18023
18024#[repr(C)]
18026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18027pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18028 pub s_type: StructureType,
18029 pub next: *mut c_void,
18030 pub multisampled_render_to_single_sampled: Bool32,
18031}
18032
18033impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18034 #[inline]
18035 fn default() -> Self {
18036 Self {
18037 s_type:
18038 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
18039 next: ptr::null_mut(),
18040 multisampled_render_to_single_sampled: Bool32::default(),
18041 }
18042 }
18043}
18044
18045unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18046unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18047
18048#[repr(C)]
18050#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18051pub struct PhysicalDeviceMultiviewFeatures {
18052 pub s_type: StructureType,
18053 pub next: *mut c_void,
18054 pub multiview: Bool32,
18055 pub multiview_geometry_shader: Bool32,
18056 pub multiview_tessellation_shader: Bool32,
18057}
18058
18059impl Default for PhysicalDeviceMultiviewFeatures {
18060 #[inline]
18061 fn default() -> Self {
18062 Self {
18063 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
18064 next: ptr::null_mut(),
18065 multiview: Bool32::default(),
18066 multiview_geometry_shader: Bool32::default(),
18067 multiview_tessellation_shader: Bool32::default(),
18068 }
18069 }
18070}
18071
18072unsafe impl Send for PhysicalDeviceMultiviewFeatures {}
18073unsafe impl Sync for PhysicalDeviceMultiviewFeatures {}
18074
18075#[repr(C)]
18077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18078pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18079 pub s_type: StructureType,
18080 pub next: *mut c_void,
18081 pub per_view_position_all_components: Bool32,
18082}
18083
18084impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18085 #[inline]
18086 fn default() -> Self {
18087 Self {
18088 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
18089 next: ptr::null_mut(),
18090 per_view_position_all_components: Bool32::default(),
18091 }
18092 }
18093}
18094
18095unsafe impl Send for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18096unsafe impl Sync for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18097
18098#[repr(C)]
18100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18101pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18102 pub s_type: StructureType,
18103 pub next: *mut c_void,
18104 pub multiview_per_view_render_areas: Bool32,
18105}
18106
18107impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18108 #[inline]
18109 fn default() -> Self {
18110 Self {
18111 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
18112 next: ptr::null_mut(),
18113 multiview_per_view_render_areas: Bool32::default(),
18114 }
18115 }
18116}
18117
18118unsafe impl Send for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18119unsafe impl Sync for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18120
18121#[repr(C)]
18123#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18124pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18125 pub s_type: StructureType,
18126 pub next: *mut c_void,
18127 pub multiview_per_view_viewports: Bool32,
18128}
18129
18130impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18131 #[inline]
18132 fn default() -> Self {
18133 Self {
18134 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
18135 next: ptr::null_mut(),
18136 multiview_per_view_viewports: Bool32::default(),
18137 }
18138 }
18139}
18140
18141unsafe impl Send for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18142unsafe impl Sync for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18143
18144#[repr(C)]
18146#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18147pub struct PhysicalDeviceMultiviewProperties {
18148 pub s_type: StructureType,
18149 pub next: *mut c_void,
18150 pub max_multiview_view_count: u32,
18151 pub max_multiview_instance_index: u32,
18152}
18153
18154impl Default for PhysicalDeviceMultiviewProperties {
18155 #[inline]
18156 fn default() -> Self {
18157 Self {
18158 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
18159 next: ptr::null_mut(),
18160 max_multiview_view_count: u32::default(),
18161 max_multiview_instance_index: u32::default(),
18162 }
18163 }
18164}
18165
18166unsafe impl Send for PhysicalDeviceMultiviewProperties {}
18167unsafe impl Sync for PhysicalDeviceMultiviewProperties {}
18168
18169#[repr(C)]
18171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18172pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18173 pub s_type: StructureType,
18174 pub next: *mut c_void,
18175 pub mutable_descriptor_type: Bool32,
18176}
18177
18178impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18179 #[inline]
18180 fn default() -> Self {
18181 Self {
18182 s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
18183 next: ptr::null_mut(),
18184 mutable_descriptor_type: Bool32::default(),
18185 }
18186 }
18187}
18188
18189unsafe impl Send for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18190unsafe impl Sync for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18191
18192#[repr(C)]
18194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18195pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
18196 pub s_type: StructureType,
18197 pub next: *mut c_void,
18198 pub nested_command_buffer: Bool32,
18199 pub nested_command_buffer_rendering: Bool32,
18200 pub nested_command_buffer_simultaneous_use: Bool32,
18201}
18202
18203impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
18204 #[inline]
18205 fn default() -> Self {
18206 Self {
18207 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
18208 next: ptr::null_mut(),
18209 nested_command_buffer: Bool32::default(),
18210 nested_command_buffer_rendering: Bool32::default(),
18211 nested_command_buffer_simultaneous_use: Bool32::default(),
18212 }
18213 }
18214}
18215
18216unsafe impl Send for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18217unsafe impl Sync for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18218
18219#[repr(C)]
18221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18222pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
18223 pub s_type: StructureType,
18224 pub next: *mut c_void,
18225 pub max_command_buffer_nesting_level: u32,
18226}
18227
18228impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
18229 #[inline]
18230 fn default() -> Self {
18231 Self {
18232 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
18233 next: ptr::null_mut(),
18234 max_command_buffer_nesting_level: u32::default(),
18235 }
18236 }
18237}
18238
18239unsafe impl Send for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18240unsafe impl Sync for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18241
18242#[repr(C)]
18244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18245pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18246 pub s_type: StructureType,
18247 pub next: *mut c_void,
18248 pub non_seamless_cube_map: Bool32,
18249}
18250
18251impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18252 #[inline]
18253 fn default() -> Self {
18254 Self {
18255 s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
18256 next: ptr::null_mut(),
18257 non_seamless_cube_map: Bool32::default(),
18258 }
18259 }
18260}
18261
18262unsafe impl Send for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18263unsafe impl Sync for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18264
18265#[repr(C)]
18267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18268pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
18269 pub s_type: StructureType,
18270 pub next: *mut c_void,
18271 pub micromap: Bool32,
18272 pub micromap_capture_replay: Bool32,
18273 pub micromap_host_commands: Bool32,
18274}
18275
18276impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
18277 #[inline]
18278 fn default() -> Self {
18279 Self {
18280 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
18281 next: ptr::null_mut(),
18282 micromap: Bool32::default(),
18283 micromap_capture_replay: Bool32::default(),
18284 micromap_host_commands: Bool32::default(),
18285 }
18286 }
18287}
18288
18289unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18290unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18291
18292#[repr(C)]
18294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18295pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
18296 pub s_type: StructureType,
18297 pub next: *mut c_void,
18298 pub max_opacity2_state_subdivision_level: u32,
18299 pub max_opacity4_state_subdivision_level: u32,
18300}
18301
18302impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
18303 #[inline]
18304 fn default() -> Self {
18305 Self {
18306 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
18307 next: ptr::null_mut(),
18308 max_opacity2_state_subdivision_level: u32::default(),
18309 max_opacity4_state_subdivision_level: u32::default(),
18310 }
18311 }
18312}
18313
18314unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18315unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18316
18317#[repr(C)]
18319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18320pub struct PhysicalDeviceOpticalFlowFeaturesNV {
18321 pub s_type: StructureType,
18322 pub next: *mut c_void,
18323 pub optical_flow: Bool32,
18324}
18325
18326impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
18327 #[inline]
18328 fn default() -> Self {
18329 Self {
18330 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
18331 next: ptr::null_mut(),
18332 optical_flow: Bool32::default(),
18333 }
18334 }
18335}
18336
18337unsafe impl Send for PhysicalDeviceOpticalFlowFeaturesNV {}
18338unsafe impl Sync for PhysicalDeviceOpticalFlowFeaturesNV {}
18339
18340#[repr(C)]
18342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18343pub struct PhysicalDeviceOpticalFlowPropertiesNV {
18344 pub s_type: StructureType,
18345 pub next: *mut c_void,
18346 pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
18347 pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
18348 pub hint_supported: Bool32,
18349 pub cost_supported: Bool32,
18350 pub bidirectional_flow_supported: Bool32,
18351 pub global_flow_supported: Bool32,
18352 pub min_width: u32,
18353 pub min_height: u32,
18354 pub max_width: u32,
18355 pub max_height: u32,
18356 pub max_num_regions_of_interest: u32,
18357}
18358
18359impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
18360 #[inline]
18361 fn default() -> Self {
18362 Self {
18363 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
18364 next: ptr::null_mut(),
18365 supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18366 supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18367 hint_supported: Bool32::default(),
18368 cost_supported: Bool32::default(),
18369 bidirectional_flow_supported: Bool32::default(),
18370 global_flow_supported: Bool32::default(),
18371 min_width: u32::default(),
18372 min_height: u32::default(),
18373 max_width: u32::default(),
18374 max_height: u32::default(),
18375 max_num_regions_of_interest: u32::default(),
18376 }
18377 }
18378}
18379
18380unsafe impl Send for PhysicalDeviceOpticalFlowPropertiesNV {}
18381unsafe impl Sync for PhysicalDeviceOpticalFlowPropertiesNV {}
18382
18383#[repr(C)]
18385#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18386pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
18387 pub s_type: StructureType,
18388 pub next: *mut c_void,
18389 pub pci_domain: u32,
18390 pub pci_bus: u32,
18391 pub pci_device: u32,
18392 pub pci_function: u32,
18393}
18394
18395impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
18396 #[inline]
18397 fn default() -> Self {
18398 Self {
18399 s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
18400 next: ptr::null_mut(),
18401 pci_domain: u32::default(),
18402 pci_bus: u32::default(),
18403 pci_device: u32::default(),
18404 pci_function: u32::default(),
18405 }
18406 }
18407}
18408
18409unsafe impl Send for PhysicalDevicePCIBusInfoPropertiesEXT {}
18410unsafe impl Sync for PhysicalDevicePCIBusInfoPropertiesEXT {}
18411
18412#[repr(C)]
18414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18415pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18416 pub s_type: StructureType,
18417 pub next: *mut c_void,
18418 pub pageable_device_local_memory: Bool32,
18419}
18420
18421impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18422 #[inline]
18423 fn default() -> Self {
18424 Self {
18425 s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
18426 next: ptr::null_mut(),
18427 pageable_device_local_memory: Bool32::default(),
18428 }
18429 }
18430}
18431
18432unsafe impl Send for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18433unsafe impl Sync for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18434
18435#[repr(C)]
18437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18438pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18439 pub s_type: StructureType,
18440 pub next: *mut c_void,
18441 pub partitioned_acceleration_structure: Bool32,
18442}
18443
18444impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18445 #[inline]
18446 fn default() -> Self {
18447 Self {
18448 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
18449 next: ptr::null_mut(),
18450 partitioned_acceleration_structure: Bool32::default(),
18451 }
18452 }
18453}
18454
18455unsafe impl Send for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
18456unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
18457
18458#[repr(C)]
18460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18461pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
18462 pub s_type: StructureType,
18463 pub next: *mut c_void,
18464 pub max_partition_count: u32,
18465}
18466
18467impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
18468 #[inline]
18469 fn default() -> Self {
18470 Self {
18471 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
18472 next: ptr::null_mut(),
18473 max_partition_count: u32::default(),
18474 }
18475 }
18476}
18477
18478unsafe impl Send for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
18479unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
18480
18481#[repr(C)]
18483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18484pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
18485 pub s_type: StructureType,
18486 pub next: *mut c_void,
18487 pub per_stage_descriptor_set: Bool32,
18488 pub dynamic_pipeline_layout: Bool32,
18489}
18490
18491impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
18492 #[inline]
18493 fn default() -> Self {
18494 Self {
18495 s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
18496 next: ptr::null_mut(),
18497 per_stage_descriptor_set: Bool32::default(),
18498 dynamic_pipeline_layout: Bool32::default(),
18499 }
18500 }
18501}
18502
18503unsafe impl Send for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
18504unsafe impl Sync for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
18505
18506#[repr(C)]
18508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18509pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
18510 pub s_type: StructureType,
18511 pub next: *mut c_void,
18512 pub performance_counter_query_pools: Bool32,
18513 pub performance_counter_multiple_query_pools: Bool32,
18514}
18515
18516impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
18517 #[inline]
18518 fn default() -> Self {
18519 Self {
18520 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
18521 next: ptr::null_mut(),
18522 performance_counter_query_pools: Bool32::default(),
18523 performance_counter_multiple_query_pools: Bool32::default(),
18524 }
18525 }
18526}
18527
18528unsafe impl Send for PhysicalDevicePerformanceQueryFeaturesKHR {}
18529unsafe impl Sync for PhysicalDevicePerformanceQueryFeaturesKHR {}
18530
18531#[repr(C)]
18533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18534pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
18535 pub s_type: StructureType,
18536 pub next: *mut c_void,
18537 pub allow_command_buffer_query_copies: Bool32,
18538}
18539
18540impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
18541 #[inline]
18542 fn default() -> Self {
18543 Self {
18544 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
18545 next: ptr::null_mut(),
18546 allow_command_buffer_query_copies: Bool32::default(),
18547 }
18548 }
18549}
18550
18551unsafe impl Send for PhysicalDevicePerformanceQueryPropertiesKHR {}
18552unsafe impl Sync for PhysicalDevicePerformanceQueryPropertiesKHR {}
18553
18554#[repr(C)]
18556#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18557pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
18558 pub s_type: StructureType,
18559 pub next: *mut c_void,
18560 pub pipeline_binaries: Bool32,
18561}
18562
18563impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
18564 #[inline]
18565 fn default() -> Self {
18566 Self {
18567 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
18568 next: ptr::null_mut(),
18569 pipeline_binaries: Bool32::default(),
18570 }
18571 }
18572}
18573
18574unsafe impl Send for PhysicalDevicePipelineBinaryFeaturesKHR {}
18575unsafe impl Sync for PhysicalDevicePipelineBinaryFeaturesKHR {}
18576
18577#[repr(C)]
18579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18580pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
18581 pub s_type: StructureType,
18582 pub next: *mut c_void,
18583 pub pipeline_binary_internal_cache: Bool32,
18584 pub pipeline_binary_internal_cache_control: Bool32,
18585 pub pipeline_binary_prefers_internal_cache: Bool32,
18586 pub pipeline_binary_precompiled_internal_cache: Bool32,
18587 pub pipeline_binary_compressed_data: Bool32,
18588}
18589
18590impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
18591 #[inline]
18592 fn default() -> Self {
18593 Self {
18594 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
18595 next: ptr::null_mut(),
18596 pipeline_binary_internal_cache: Bool32::default(),
18597 pipeline_binary_internal_cache_control: Bool32::default(),
18598 pipeline_binary_prefers_internal_cache: Bool32::default(),
18599 pipeline_binary_precompiled_internal_cache: Bool32::default(),
18600 pipeline_binary_compressed_data: Bool32::default(),
18601 }
18602 }
18603}
18604
18605unsafe impl Send for PhysicalDevicePipelineBinaryPropertiesKHR {}
18606unsafe impl Sync for PhysicalDevicePipelineBinaryPropertiesKHR {}
18607
18608#[repr(C)]
18610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18611pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
18612 pub s_type: StructureType,
18613 pub next: *mut c_void,
18614 pub pipeline_cache_incremental_mode: Bool32,
18615}
18616
18617impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
18618 #[inline]
18619 fn default() -> Self {
18620 Self {
18621 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
18622 next: ptr::null_mut(),
18623 pipeline_cache_incremental_mode: Bool32::default(),
18624 }
18625 }
18626}
18627
18628unsafe impl Send for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
18629unsafe impl Sync for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
18630
18631#[repr(C)]
18633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18634pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
18635 pub s_type: StructureType,
18636 pub next: *mut c_void,
18637 pub pipeline_creation_cache_control: Bool32,
18638}
18639
18640impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
18641 #[inline]
18642 fn default() -> Self {
18643 Self {
18644 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
18645 next: ptr::null_mut(),
18646 pipeline_creation_cache_control: Bool32::default(),
18647 }
18648 }
18649}
18650
18651unsafe impl Send for PhysicalDevicePipelineCreationCacheControlFeatures {}
18652unsafe impl Sync for PhysicalDevicePipelineCreationCacheControlFeatures {}
18653
18654#[repr(C)]
18656#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18657pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
18658 pub s_type: StructureType,
18659 pub next: *mut c_void,
18660 pub pipeline_executable_info: Bool32,
18661}
18662
18663impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
18664 #[inline]
18665 fn default() -> Self {
18666 Self {
18667 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
18668 next: ptr::null_mut(),
18669 pipeline_executable_info: Bool32::default(),
18670 }
18671 }
18672}
18673
18674unsafe impl Send for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
18675unsafe impl Sync for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
18676
18677#[repr(C)]
18679#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18680pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
18681 pub s_type: StructureType,
18682 pub next: *mut c_void,
18683 pub pipeline_library_group_handles: Bool32,
18684}
18685
18686impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
18687 #[inline]
18688 fn default() -> Self {
18689 Self {
18690 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
18691 next: ptr::null_mut(),
18692 pipeline_library_group_handles: Bool32::default(),
18693 }
18694 }
18695}
18696
18697unsafe impl Send for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
18698unsafe impl Sync for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
18699
18700#[repr(C)]
18702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18703pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
18704 pub s_type: StructureType,
18705 pub next: *mut c_void,
18706 pub pipeline_opacity_micromap: Bool32,
18707}
18708
18709impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
18710 #[inline]
18711 fn default() -> Self {
18712 Self {
18713 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
18714 next: ptr::null_mut(),
18715 pipeline_opacity_micromap: Bool32::default(),
18716 }
18717 }
18718}
18719
18720unsafe impl Send for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
18721unsafe impl Sync for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
18722
18723#[repr(C)]
18725#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18726pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
18727 pub s_type: StructureType,
18728 pub next: *mut c_void,
18729 pub pipeline_properties_identifier: Bool32,
18730}
18731
18732impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
18733 #[inline]
18734 fn default() -> Self {
18735 Self {
18736 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
18737 next: ptr::null_mut(),
18738 pipeline_properties_identifier: Bool32::default(),
18739 }
18740 }
18741}
18742
18743unsafe impl Send for PhysicalDevicePipelinePropertiesFeaturesEXT {}
18744unsafe impl Sync for PhysicalDevicePipelinePropertiesFeaturesEXT {}
18745
18746#[repr(C)]
18748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18749pub struct PhysicalDevicePipelineProtectedAccessFeatures {
18750 pub s_type: StructureType,
18751 pub next: *mut c_void,
18752 pub pipeline_protected_access: Bool32,
18753}
18754
18755impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
18756 #[inline]
18757 fn default() -> Self {
18758 Self {
18759 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
18760 next: ptr::null_mut(),
18761 pipeline_protected_access: Bool32::default(),
18762 }
18763 }
18764}
18765
18766unsafe impl Send for PhysicalDevicePipelineProtectedAccessFeatures {}
18767unsafe impl Sync for PhysicalDevicePipelineProtectedAccessFeatures {}
18768
18769#[repr(C)]
18771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18772pub struct PhysicalDevicePipelineRobustnessFeatures {
18773 pub s_type: StructureType,
18774 pub next: *mut c_void,
18775 pub pipeline_robustness: Bool32,
18776}
18777
18778impl Default for PhysicalDevicePipelineRobustnessFeatures {
18779 #[inline]
18780 fn default() -> Self {
18781 Self {
18782 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
18783 next: ptr::null_mut(),
18784 pipeline_robustness: Bool32::default(),
18785 }
18786 }
18787}
18788
18789unsafe impl Send for PhysicalDevicePipelineRobustnessFeatures {}
18790unsafe impl Sync for PhysicalDevicePipelineRobustnessFeatures {}
18791
18792#[repr(C)]
18794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18795pub struct PhysicalDevicePipelineRobustnessProperties {
18796 pub s_type: StructureType,
18797 pub next: *mut c_void,
18798 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
18799 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
18800 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
18801 pub default_robustness_images: PipelineRobustnessImageBehavior,
18802}
18803
18804impl Default for PhysicalDevicePipelineRobustnessProperties {
18805 #[inline]
18806 fn default() -> Self {
18807 Self {
18808 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
18809 next: ptr::null_mut(),
18810 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
18811 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
18812 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
18813 default_robustness_images: PipelineRobustnessImageBehavior::default(),
18814 }
18815 }
18816}
18817
18818unsafe impl Send for PhysicalDevicePipelineRobustnessProperties {}
18819unsafe impl Sync for PhysicalDevicePipelineRobustnessProperties {}
18820
18821#[repr(C)]
18823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18824pub struct PhysicalDevicePointClippingProperties {
18825 pub s_type: StructureType,
18826 pub next: *mut c_void,
18827 pub point_clipping_behavior: PointClippingBehavior,
18828}
18829
18830impl Default for PhysicalDevicePointClippingProperties {
18831 #[inline]
18832 fn default() -> Self {
18833 Self {
18834 s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
18835 next: ptr::null_mut(),
18836 point_clipping_behavior: PointClippingBehavior::default(),
18837 }
18838 }
18839}
18840
18841unsafe impl Send for PhysicalDevicePointClippingProperties {}
18842unsafe impl Sync for PhysicalDevicePointClippingProperties {}
18843
18844#[repr(C)]
18846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18847pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
18848 pub s_type: StructureType,
18849 pub next: *mut c_void,
18850 pub constant_alpha_color_blend_factors: Bool32,
18851 pub events: Bool32,
18852 pub image_view_format_reinterpretation: Bool32,
18853 pub image_view_format_swizzle: Bool32,
18854 pub image_view_2d_on_3d_image: Bool32,
18855 pub multisample_array_image: Bool32,
18856 pub mutable_comparison_samplers: Bool32,
18857 pub point_polygons: Bool32,
18858 pub sampler_mip_lod_bias: Bool32,
18859 pub separate_stencil_mask_ref: Bool32,
18860 pub shader_sample_rate_interpolation_functions: Bool32,
18861 pub tessellation_isolines: Bool32,
18862 pub tessellation_point_mode: Bool32,
18863 pub triangle_fans: Bool32,
18864 pub vertex_attribute_access_beyond_stride: Bool32,
18865}
18866
18867impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
18868 #[inline]
18869 fn default() -> Self {
18870 Self {
18871 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
18872 next: ptr::null_mut(),
18873 constant_alpha_color_blend_factors: Bool32::default(),
18874 events: Bool32::default(),
18875 image_view_format_reinterpretation: Bool32::default(),
18876 image_view_format_swizzle: Bool32::default(),
18877 image_view_2d_on_3d_image: Bool32::default(),
18878 multisample_array_image: Bool32::default(),
18879 mutable_comparison_samplers: Bool32::default(),
18880 point_polygons: Bool32::default(),
18881 sampler_mip_lod_bias: Bool32::default(),
18882 separate_stencil_mask_ref: Bool32::default(),
18883 shader_sample_rate_interpolation_functions: Bool32::default(),
18884 tessellation_isolines: Bool32::default(),
18885 tessellation_point_mode: Bool32::default(),
18886 triangle_fans: Bool32::default(),
18887 vertex_attribute_access_beyond_stride: Bool32::default(),
18888 }
18889 }
18890}
18891
18892unsafe impl Send for PhysicalDevicePortabilitySubsetFeaturesKHR {}
18893unsafe impl Sync for PhysicalDevicePortabilitySubsetFeaturesKHR {}
18894
18895#[repr(C)]
18897#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18898pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
18899 pub s_type: StructureType,
18900 pub next: *mut c_void,
18901 pub min_vertex_input_binding_stride_alignment: u32,
18902}
18903
18904impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
18905 #[inline]
18906 fn default() -> Self {
18907 Self {
18908 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
18909 next: ptr::null_mut(),
18910 min_vertex_input_binding_stride_alignment: u32::default(),
18911 }
18912 }
18913}
18914
18915unsafe impl Send for PhysicalDevicePortabilitySubsetPropertiesKHR {}
18916unsafe impl Sync for PhysicalDevicePortabilitySubsetPropertiesKHR {}
18917
18918#[repr(C)]
18920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18921pub struct PhysicalDevicePresentBarrierFeaturesNV {
18922 pub s_type: StructureType,
18923 pub next: *mut c_void,
18924 pub present_barrier: Bool32,
18925}
18926
18927impl Default for PhysicalDevicePresentBarrierFeaturesNV {
18928 #[inline]
18929 fn default() -> Self {
18930 Self {
18931 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
18932 next: ptr::null_mut(),
18933 present_barrier: Bool32::default(),
18934 }
18935 }
18936}
18937
18938unsafe impl Send for PhysicalDevicePresentBarrierFeaturesNV {}
18939unsafe impl Sync for PhysicalDevicePresentBarrierFeaturesNV {}
18940
18941#[repr(C)]
18943#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18944pub struct PhysicalDevicePresentId2FeaturesKHR {
18945 pub s_type: StructureType,
18946 pub next: *mut c_void,
18947 pub present_id2: Bool32,
18948}
18949
18950impl Default for PhysicalDevicePresentId2FeaturesKHR {
18951 #[inline]
18952 fn default() -> Self {
18953 Self {
18954 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
18955 next: ptr::null_mut(),
18956 present_id2: Bool32::default(),
18957 }
18958 }
18959}
18960
18961unsafe impl Send for PhysicalDevicePresentId2FeaturesKHR {}
18962unsafe impl Sync for PhysicalDevicePresentId2FeaturesKHR {}
18963
18964#[repr(C)]
18966#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18967pub struct PhysicalDevicePresentIdFeaturesKHR {
18968 pub s_type: StructureType,
18969 pub next: *mut c_void,
18970 pub present_id: Bool32,
18971}
18972
18973impl Default for PhysicalDevicePresentIdFeaturesKHR {
18974 #[inline]
18975 fn default() -> Self {
18976 Self {
18977 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
18978 next: ptr::null_mut(),
18979 present_id: Bool32::default(),
18980 }
18981 }
18982}
18983
18984unsafe impl Send for PhysicalDevicePresentIdFeaturesKHR {}
18985unsafe impl Sync for PhysicalDevicePresentIdFeaturesKHR {}
18986
18987#[repr(C)]
18989#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18990pub struct PhysicalDevicePresentMeteringFeaturesNV {
18991 pub s_type: StructureType,
18992 pub next: *mut c_void,
18993 pub present_metering: Bool32,
18994}
18995
18996impl Default for PhysicalDevicePresentMeteringFeaturesNV {
18997 #[inline]
18998 fn default() -> Self {
18999 Self {
19000 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
19001 next: ptr::null_mut(),
19002 present_metering: Bool32::default(),
19003 }
19004 }
19005}
19006
19007unsafe impl Send for PhysicalDevicePresentMeteringFeaturesNV {}
19008unsafe impl Sync for PhysicalDevicePresentMeteringFeaturesNV {}
19009
19010#[repr(C)]
19012#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19013pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19014 pub s_type: StructureType,
19015 pub next: *mut c_void,
19016 pub present_mode_fifo_latest_ready: Bool32,
19017}
19018
19019impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19020 #[inline]
19021 fn default() -> Self {
19022 Self {
19023 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
19024 next: ptr::null_mut(),
19025 present_mode_fifo_latest_ready: Bool32::default(),
19026 }
19027 }
19028}
19029
19030unsafe impl Send for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19031unsafe impl Sync for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19032
19033#[repr(C)]
19035#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19036pub struct PhysicalDevicePresentWait2FeaturesKHR {
19037 pub s_type: StructureType,
19038 pub next: *mut c_void,
19039 pub present_wait2: Bool32,
19040}
19041
19042impl Default for PhysicalDevicePresentWait2FeaturesKHR {
19043 #[inline]
19044 fn default() -> Self {
19045 Self {
19046 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
19047 next: ptr::null_mut(),
19048 present_wait2: Bool32::default(),
19049 }
19050 }
19051}
19052
19053unsafe impl Send for PhysicalDevicePresentWait2FeaturesKHR {}
19054unsafe impl Sync for PhysicalDevicePresentWait2FeaturesKHR {}
19055
19056#[repr(C)]
19058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19059pub struct PhysicalDevicePresentWaitFeaturesKHR {
19060 pub s_type: StructureType,
19061 pub next: *mut c_void,
19062 pub present_wait: Bool32,
19063}
19064
19065impl Default for PhysicalDevicePresentWaitFeaturesKHR {
19066 #[inline]
19067 fn default() -> Self {
19068 Self {
19069 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
19070 next: ptr::null_mut(),
19071 present_wait: Bool32::default(),
19072 }
19073 }
19074}
19075
19076unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {}
19077unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {}
19078
19079#[repr(C)]
19081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19082pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19083 pub s_type: StructureType,
19084 pub next: *mut c_void,
19085 pub primitive_topology_list_restart: Bool32,
19086 pub primitive_topology_patch_list_restart: Bool32,
19087}
19088
19089impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19090 #[inline]
19091 fn default() -> Self {
19092 Self {
19093 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
19094 next: ptr::null_mut(),
19095 primitive_topology_list_restart: Bool32::default(),
19096 primitive_topology_patch_list_restart: Bool32::default(),
19097 }
19098 }
19099}
19100
19101unsafe impl Send for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19102unsafe impl Sync for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19103
19104#[repr(C)]
19106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19107pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19108 pub s_type: StructureType,
19109 pub next: *mut c_void,
19110 pub primitives_generated_query: Bool32,
19111 pub primitives_generated_query_with_rasterizer_discard: Bool32,
19112 pub primitives_generated_query_with_non_zero_streams: Bool32,
19113}
19114
19115impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19116 #[inline]
19117 fn default() -> Self {
19118 Self {
19119 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
19120 next: ptr::null_mut(),
19121 primitives_generated_query: Bool32::default(),
19122 primitives_generated_query_with_rasterizer_discard: Bool32::default(),
19123 primitives_generated_query_with_non_zero_streams: Bool32::default(),
19124 }
19125 }
19126}
19127
19128unsafe impl Send for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19129unsafe impl Sync for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19130
19131#[repr(C)]
19133#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19134pub struct PhysicalDevicePrivateDataFeatures {
19135 pub s_type: StructureType,
19136 pub next: *mut c_void,
19137 pub private_data: Bool32,
19138}
19139
19140impl Default for PhysicalDevicePrivateDataFeatures {
19141 #[inline]
19142 fn default() -> Self {
19143 Self {
19144 s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
19145 next: ptr::null_mut(),
19146 private_data: Bool32::default(),
19147 }
19148 }
19149}
19150
19151unsafe impl Send for PhysicalDevicePrivateDataFeatures {}
19152unsafe impl Sync for PhysicalDevicePrivateDataFeatures {}
19153
19154#[repr(C)]
19156#[derive(Copy, Clone, Default, Debug, PartialEq)]
19157pub struct PhysicalDeviceProperties {
19158 pub api_version: u32,
19159 pub driver_version: u32,
19160 pub vendor_id: u32,
19161 pub device_id: u32,
19162 pub device_type: PhysicalDeviceType,
19163 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
19164 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
19165 pub limits: PhysicalDeviceLimits,
19166 pub sparse_properties: PhysicalDeviceSparseProperties,
19167}
19168
19169#[repr(C)]
19171#[derive(Copy, Clone, Debug, PartialEq)]
19172pub struct PhysicalDeviceProperties2 {
19173 pub s_type: StructureType,
19174 pub next: *mut c_void,
19175 pub properties: PhysicalDeviceProperties,
19176}
19177
19178impl Default for PhysicalDeviceProperties2 {
19179 #[inline]
19180 fn default() -> Self {
19181 Self {
19182 s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
19183 next: ptr::null_mut(),
19184 properties: PhysicalDeviceProperties::default(),
19185 }
19186 }
19187}
19188
19189unsafe impl Send for PhysicalDeviceProperties2 {}
19190unsafe impl Sync for PhysicalDeviceProperties2 {}
19191
19192#[repr(C)]
19194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19195pub struct PhysicalDeviceProtectedMemoryFeatures {
19196 pub s_type: StructureType,
19197 pub next: *mut c_void,
19198 pub protected_memory: Bool32,
19199}
19200
19201impl Default for PhysicalDeviceProtectedMemoryFeatures {
19202 #[inline]
19203 fn default() -> Self {
19204 Self {
19205 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
19206 next: ptr::null_mut(),
19207 protected_memory: Bool32::default(),
19208 }
19209 }
19210}
19211
19212unsafe impl Send for PhysicalDeviceProtectedMemoryFeatures {}
19213unsafe impl Sync for PhysicalDeviceProtectedMemoryFeatures {}
19214
19215#[repr(C)]
19217#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19218pub struct PhysicalDeviceProtectedMemoryProperties {
19219 pub s_type: StructureType,
19220 pub next: *mut c_void,
19221 pub protected_no_fault: Bool32,
19222}
19223
19224impl Default for PhysicalDeviceProtectedMemoryProperties {
19225 #[inline]
19226 fn default() -> Self {
19227 Self {
19228 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
19229 next: ptr::null_mut(),
19230 protected_no_fault: Bool32::default(),
19231 }
19232 }
19233}
19234
19235unsafe impl Send for PhysicalDeviceProtectedMemoryProperties {}
19236unsafe impl Sync for PhysicalDeviceProtectedMemoryProperties {}
19237
19238#[repr(C)]
19240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19241pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
19242 pub s_type: StructureType,
19243 pub next: *mut c_void,
19244 pub provoking_vertex_last: Bool32,
19245 pub transform_feedback_preserves_provoking_vertex: Bool32,
19246}
19247
19248impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
19249 #[inline]
19250 fn default() -> Self {
19251 Self {
19252 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
19253 next: ptr::null_mut(),
19254 provoking_vertex_last: Bool32::default(),
19255 transform_feedback_preserves_provoking_vertex: Bool32::default(),
19256 }
19257 }
19258}
19259
19260unsafe impl Send for PhysicalDeviceProvokingVertexFeaturesEXT {}
19261unsafe impl Sync for PhysicalDeviceProvokingVertexFeaturesEXT {}
19262
19263#[repr(C)]
19265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19266pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
19267 pub s_type: StructureType,
19268 pub next: *mut c_void,
19269 pub provoking_vertex_mode_per_pipeline: Bool32,
19270 pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
19271}
19272
19273impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
19274 #[inline]
19275 fn default() -> Self {
19276 Self {
19277 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
19278 next: ptr::null_mut(),
19279 provoking_vertex_mode_per_pipeline: Bool32::default(),
19280 transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
19281 }
19282 }
19283}
19284
19285unsafe impl Send for PhysicalDeviceProvokingVertexPropertiesEXT {}
19286unsafe impl Sync for PhysicalDeviceProvokingVertexPropertiesEXT {}
19287
19288#[repr(C)]
19290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19291pub struct PhysicalDevicePushDescriptorProperties {
19292 pub s_type: StructureType,
19293 pub next: *mut c_void,
19294 pub max_push_descriptors: u32,
19295}
19296
19297impl Default for PhysicalDevicePushDescriptorProperties {
19298 #[inline]
19299 fn default() -> Self {
19300 Self {
19301 s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
19302 next: ptr::null_mut(),
19303 max_push_descriptors: u32::default(),
19304 }
19305 }
19306}
19307
19308unsafe impl Send for PhysicalDevicePushDescriptorProperties {}
19309unsafe impl Sync for PhysicalDevicePushDescriptorProperties {}
19310
19311#[repr(C)]
19313#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19314pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19315 pub s_type: StructureType,
19316 pub next: *const c_void,
19317 pub queue_family_index: u32,
19318 pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
19319}
19320
19321impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19322 #[inline]
19323 fn default() -> Self {
19324 Self {
19325 s_type:
19326 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
19327 next: ptr::null(),
19328 queue_family_index: u32::default(),
19329 engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
19330 }
19331 }
19332}
19333
19334unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19335unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19336
19337#[repr(C)]
19339#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19340pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19341 pub s_type: StructureType,
19342 pub next: *mut c_void,
19343 pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
19344}
19345
19346impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19347 #[inline]
19348 fn default() -> Self {
19349 Self {
19350 s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
19351 next: ptr::null_mut(),
19352 format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
19353 }
19354 }
19355}
19356
19357unsafe impl Send for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19358unsafe impl Sync for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19359
19360#[repr(C)]
19362#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19363pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19364 pub s_type: StructureType,
19365 pub next: *mut c_void,
19366 pub rasterization_order_color_attachment_access: Bool32,
19367 pub rasterization_order_depth_attachment_access: Bool32,
19368 pub rasterization_order_stencil_attachment_access: Bool32,
19369}
19370
19371impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19372 #[inline]
19373 fn default() -> Self {
19374 Self {
19375 s_type:
19376 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
19377 next: ptr::null_mut(),
19378 rasterization_order_color_attachment_access: Bool32::default(),
19379 rasterization_order_depth_attachment_access: Bool32::default(),
19380 rasterization_order_stencil_attachment_access: Bool32::default(),
19381 }
19382 }
19383}
19384
19385unsafe impl Send for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
19386unsafe impl Sync for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
19387
19388#[repr(C)]
19390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19391pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
19392 pub s_type: StructureType,
19393 pub next: *mut c_void,
19394 pub shader_raw_access_chains: Bool32,
19395}
19396
19397impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
19398 #[inline]
19399 fn default() -> Self {
19400 Self {
19401 s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
19402 next: ptr::null_mut(),
19403 shader_raw_access_chains: Bool32::default(),
19404 }
19405 }
19406}
19407
19408unsafe impl Send for PhysicalDeviceRawAccessChainsFeaturesNV {}
19409unsafe impl Sync for PhysicalDeviceRawAccessChainsFeaturesNV {}
19410
19411#[repr(C)]
19413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19414pub struct PhysicalDeviceRayQueryFeaturesKHR {
19415 pub s_type: StructureType,
19416 pub next: *mut c_void,
19417 pub ray_query: Bool32,
19418}
19419
19420impl Default for PhysicalDeviceRayQueryFeaturesKHR {
19421 #[inline]
19422 fn default() -> Self {
19423 Self {
19424 s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
19425 next: ptr::null_mut(),
19426 ray_query: Bool32::default(),
19427 }
19428 }
19429}
19430
19431unsafe impl Send for PhysicalDeviceRayQueryFeaturesKHR {}
19432unsafe impl Sync for PhysicalDeviceRayQueryFeaturesKHR {}
19433
19434#[repr(C)]
19436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19437pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
19438 pub s_type: StructureType,
19439 pub next: *mut c_void,
19440 pub ray_tracing_invocation_reorder: Bool32,
19441}
19442
19443impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
19444 #[inline]
19445 fn default() -> Self {
19446 Self {
19447 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
19448 next: ptr::null_mut(),
19449 ray_tracing_invocation_reorder: Bool32::default(),
19450 }
19451 }
19452}
19453
19454unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
19455unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
19456
19457#[repr(C)]
19459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19460pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
19461 pub s_type: StructureType,
19462 pub next: *mut c_void,
19463 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeNV,
19464}
19465
19466impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
19467 #[inline]
19468 fn default() -> Self {
19469 Self {
19470 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
19471 next: ptr::null_mut(),
19472 ray_tracing_invocation_reorder_reordering_hint:
19473 RayTracingInvocationReorderModeNV::default(),
19474 }
19475 }
19476}
19477
19478unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
19479unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
19480
19481#[repr(C)]
19483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19484pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
19485 pub s_type: StructureType,
19486 pub next: *mut c_void,
19487 pub spheres: Bool32,
19488 pub linear_swept_spheres: Bool32,
19489}
19490
19491impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
19492 #[inline]
19493 fn default() -> Self {
19494 Self {
19495 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
19496 next: ptr::null_mut(),
19497 spheres: Bool32::default(),
19498 linear_swept_spheres: Bool32::default(),
19499 }
19500 }
19501}
19502
19503unsafe impl Send for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
19504unsafe impl Sync for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
19505
19506#[repr(C)]
19508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19509pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
19510 pub s_type: StructureType,
19511 pub next: *mut c_void,
19512 pub ray_tracing_maintenance1: Bool32,
19513 pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
19514}
19515
19516impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
19517 #[inline]
19518 fn default() -> Self {
19519 Self {
19520 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
19521 next: ptr::null_mut(),
19522 ray_tracing_maintenance1: Bool32::default(),
19523 ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
19524 }
19525 }
19526}
19527
19528unsafe impl Send for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
19529unsafe impl Sync for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
19530
19531#[repr(C)]
19533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19534pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
19535 pub s_type: StructureType,
19536 pub next: *mut c_void,
19537 pub ray_tracing_motion_blur: Bool32,
19538 pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
19539}
19540
19541impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
19542 #[inline]
19543 fn default() -> Self {
19544 Self {
19545 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
19546 next: ptr::null_mut(),
19547 ray_tracing_motion_blur: Bool32::default(),
19548 ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
19549 }
19550 }
19551}
19552
19553unsafe impl Send for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
19554unsafe impl Sync for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
19555
19556#[repr(C)]
19558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19559pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
19560 pub s_type: StructureType,
19561 pub next: *mut c_void,
19562 pub ray_tracing_pipeline: Bool32,
19563 pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
19564 pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
19565 pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
19566 pub ray_traversal_primitive_culling: Bool32,
19567}
19568
19569impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
19570 #[inline]
19571 fn default() -> Self {
19572 Self {
19573 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
19574 next: ptr::null_mut(),
19575 ray_tracing_pipeline: Bool32::default(),
19576 ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
19577 ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
19578 ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
19579 ray_traversal_primitive_culling: Bool32::default(),
19580 }
19581 }
19582}
19583
19584unsafe impl Send for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
19585unsafe impl Sync for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
19586
19587#[repr(C)]
19589#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19590pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
19591 pub s_type: StructureType,
19592 pub next: *mut c_void,
19593 pub shader_group_handle_size: u32,
19594 pub max_ray_recursion_depth: u32,
19595 pub max_shader_group_stride: u32,
19596 pub shader_group_base_alignment: u32,
19597 pub shader_group_handle_capture_replay_size: u32,
19598 pub max_ray_dispatch_invocation_count: u32,
19599 pub shader_group_handle_alignment: u32,
19600 pub max_ray_hit_attribute_size: u32,
19601}
19602
19603impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
19604 #[inline]
19605 fn default() -> Self {
19606 Self {
19607 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
19608 next: ptr::null_mut(),
19609 shader_group_handle_size: u32::default(),
19610 max_ray_recursion_depth: u32::default(),
19611 max_shader_group_stride: u32::default(),
19612 shader_group_base_alignment: u32::default(),
19613 shader_group_handle_capture_replay_size: u32::default(),
19614 max_ray_dispatch_invocation_count: u32::default(),
19615 shader_group_handle_alignment: u32::default(),
19616 max_ray_hit_attribute_size: u32::default(),
19617 }
19618 }
19619}
19620
19621unsafe impl Send for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
19622unsafe impl Sync for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
19623
19624#[repr(C)]
19626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19627pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
19628 pub s_type: StructureType,
19629 pub next: *mut c_void,
19630 pub ray_tracing_position_fetch: Bool32,
19631}
19632
19633impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
19634 #[inline]
19635 fn default() -> Self {
19636 Self {
19637 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
19638 next: ptr::null_mut(),
19639 ray_tracing_position_fetch: Bool32::default(),
19640 }
19641 }
19642}
19643
19644unsafe impl Send for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
19645unsafe impl Sync for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
19646
19647#[repr(C)]
19649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19650pub struct PhysicalDeviceRayTracingPropertiesNV {
19651 pub s_type: StructureType,
19652 pub next: *mut c_void,
19653 pub shader_group_handle_size: u32,
19654 pub max_recursion_depth: u32,
19655 pub max_shader_group_stride: u32,
19656 pub shader_group_base_alignment: u32,
19657 pub max_geometry_count: u64,
19658 pub max_instance_count: u64,
19659 pub max_triangle_count: u64,
19660 pub max_descriptor_set_acceleration_structures: u32,
19661}
19662
19663impl Default for PhysicalDeviceRayTracingPropertiesNV {
19664 #[inline]
19665 fn default() -> Self {
19666 Self {
19667 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
19668 next: ptr::null_mut(),
19669 shader_group_handle_size: u32::default(),
19670 max_recursion_depth: u32::default(),
19671 max_shader_group_stride: u32::default(),
19672 shader_group_base_alignment: u32::default(),
19673 max_geometry_count: u64::default(),
19674 max_instance_count: u64::default(),
19675 max_triangle_count: u64::default(),
19676 max_descriptor_set_acceleration_structures: u32::default(),
19677 }
19678 }
19679}
19680
19681unsafe impl Send for PhysicalDeviceRayTracingPropertiesNV {}
19682unsafe impl Sync for PhysicalDeviceRayTracingPropertiesNV {}
19683
19684#[repr(C)]
19686#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19687pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
19688 pub s_type: StructureType,
19689 pub next: *mut c_void,
19690 pub ray_tracing_validation: Bool32,
19691}
19692
19693impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
19694 #[inline]
19695 fn default() -> Self {
19696 Self {
19697 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
19698 next: ptr::null_mut(),
19699 ray_tracing_validation: Bool32::default(),
19700 }
19701 }
19702}
19703
19704unsafe impl Send for PhysicalDeviceRayTracingValidationFeaturesNV {}
19705unsafe impl Sync for PhysicalDeviceRayTracingValidationFeaturesNV {}
19706
19707#[repr(C)]
19709#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19710pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
19711 pub s_type: StructureType,
19712 pub next: *mut c_void,
19713 pub relaxed_line_rasterization: Bool32,
19714}
19715
19716impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
19717 #[inline]
19718 fn default() -> Self {
19719 Self {
19720 s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
19721 next: ptr::null_mut(),
19722 relaxed_line_rasterization: Bool32::default(),
19723 }
19724 }
19725}
19726
19727unsafe impl Send for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
19728unsafe impl Sync for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
19729
19730#[repr(C)]
19732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19733pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
19734 pub s_type: StructureType,
19735 pub next: *mut c_void,
19736 pub render_pass_striped: Bool32,
19737}
19738
19739impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
19740 #[inline]
19741 fn default() -> Self {
19742 Self {
19743 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
19744 next: ptr::null_mut(),
19745 render_pass_striped: Bool32::default(),
19746 }
19747 }
19748}
19749
19750unsafe impl Send for PhysicalDeviceRenderPassStripedFeaturesARM {}
19751unsafe impl Sync for PhysicalDeviceRenderPassStripedFeaturesARM {}
19752
19753#[repr(C)]
19755#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19756pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
19757 pub s_type: StructureType,
19758 pub next: *mut c_void,
19759 pub render_pass_stripe_granularity: Extent2D,
19760 pub max_render_pass_stripes: u32,
19761}
19762
19763impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
19764 #[inline]
19765 fn default() -> Self {
19766 Self {
19767 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
19768 next: ptr::null_mut(),
19769 render_pass_stripe_granularity: Extent2D::default(),
19770 max_render_pass_stripes: u32::default(),
19771 }
19772 }
19773}
19774
19775unsafe impl Send for PhysicalDeviceRenderPassStripedPropertiesARM {}
19776unsafe impl Sync for PhysicalDeviceRenderPassStripedPropertiesARM {}
19777
19778#[repr(C)]
19780#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19781pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
19782 pub s_type: StructureType,
19783 pub next: *mut c_void,
19784 pub representative_fragment_test: Bool32,
19785}
19786
19787impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
19788 #[inline]
19789 fn default() -> Self {
19790 Self {
19791 s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
19792 next: ptr::null_mut(),
19793 representative_fragment_test: Bool32::default(),
19794 }
19795 }
19796}
19797
19798unsafe impl Send for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
19799unsafe impl Sync for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
19800
19801#[repr(C)]
19803#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19804pub struct PhysicalDeviceRobustness2FeaturesKHR {
19805 pub s_type: StructureType,
19806 pub next: *mut c_void,
19807 pub robust_buffer_access2: Bool32,
19808 pub robust_image_access2: Bool32,
19809 pub null_descriptor: Bool32,
19810}
19811
19812impl Default for PhysicalDeviceRobustness2FeaturesKHR {
19813 #[inline]
19814 fn default() -> Self {
19815 Self {
19816 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
19817 next: ptr::null_mut(),
19818 robust_buffer_access2: Bool32::default(),
19819 robust_image_access2: Bool32::default(),
19820 null_descriptor: Bool32::default(),
19821 }
19822 }
19823}
19824
19825unsafe impl Send for PhysicalDeviceRobustness2FeaturesKHR {}
19826unsafe impl Sync for PhysicalDeviceRobustness2FeaturesKHR {}
19827
19828#[repr(C)]
19830#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19831pub struct PhysicalDeviceRobustness2PropertiesKHR {
19832 pub s_type: StructureType,
19833 pub next: *mut c_void,
19834 pub robust_storage_buffer_access_size_alignment: DeviceSize,
19835 pub robust_uniform_buffer_access_size_alignment: DeviceSize,
19836}
19837
19838impl Default for PhysicalDeviceRobustness2PropertiesKHR {
19839 #[inline]
19840 fn default() -> Self {
19841 Self {
19842 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
19843 next: ptr::null_mut(),
19844 robust_storage_buffer_access_size_alignment: DeviceSize::default(),
19845 robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
19846 }
19847 }
19848}
19849
19850unsafe impl Send for PhysicalDeviceRobustness2PropertiesKHR {}
19851unsafe impl Sync for PhysicalDeviceRobustness2PropertiesKHR {}
19852
19853#[repr(C)]
19855#[derive(Copy, Clone, Debug, PartialEq)]
19856pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
19857 pub s_type: StructureType,
19858 pub next: *mut c_void,
19859 pub sample_location_sample_counts: SampleCountFlags,
19860 pub max_sample_location_grid_size: Extent2D,
19861 pub sample_location_coordinate_range: [f32; 2],
19862 pub sample_location_sub_pixel_bits: u32,
19863 pub variable_sample_locations: Bool32,
19864}
19865
19866impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
19867 #[inline]
19868 fn default() -> Self {
19869 Self {
19870 s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
19871 next: ptr::null_mut(),
19872 sample_location_sample_counts: SampleCountFlags::default(),
19873 max_sample_location_grid_size: Extent2D::default(),
19874 sample_location_coordinate_range: [f32::default(); 2],
19875 sample_location_sub_pixel_bits: u32::default(),
19876 variable_sample_locations: Bool32::default(),
19877 }
19878 }
19879}
19880
19881unsafe impl Send for PhysicalDeviceSampleLocationsPropertiesEXT {}
19882unsafe impl Sync for PhysicalDeviceSampleLocationsPropertiesEXT {}
19883
19884#[repr(C)]
19886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19887pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
19888 pub s_type: StructureType,
19889 pub next: *mut c_void,
19890 pub filter_minmax_single_component_formats: Bool32,
19891 pub filter_minmax_image_component_mapping: Bool32,
19892}
19893
19894impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
19895 #[inline]
19896 fn default() -> Self {
19897 Self {
19898 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
19899 next: ptr::null_mut(),
19900 filter_minmax_single_component_formats: Bool32::default(),
19901 filter_minmax_image_component_mapping: Bool32::default(),
19902 }
19903 }
19904}
19905
19906unsafe impl Send for PhysicalDeviceSamplerFilterMinmaxProperties {}
19907unsafe impl Sync for PhysicalDeviceSamplerFilterMinmaxProperties {}
19908
19909#[repr(C)]
19911#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19912pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
19913 pub s_type: StructureType,
19914 pub next: *mut c_void,
19915 pub sampler_ycbcr_conversion: Bool32,
19916}
19917
19918impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
19919 #[inline]
19920 fn default() -> Self {
19921 Self {
19922 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
19923 next: ptr::null_mut(),
19924 sampler_ycbcr_conversion: Bool32::default(),
19925 }
19926 }
19927}
19928
19929unsafe impl Send for PhysicalDeviceSamplerYcbcrConversionFeatures {}
19930unsafe impl Sync for PhysicalDeviceSamplerYcbcrConversionFeatures {}
19931
19932#[repr(C)]
19934#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19935pub struct PhysicalDeviceScalarBlockLayoutFeatures {
19936 pub s_type: StructureType,
19937 pub next: *mut c_void,
19938 pub scalar_block_layout: Bool32,
19939}
19940
19941impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
19942 #[inline]
19943 fn default() -> Self {
19944 Self {
19945 s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
19946 next: ptr::null_mut(),
19947 scalar_block_layout: Bool32::default(),
19948 }
19949 }
19950}
19951
19952unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {}
19953unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {}
19954
19955#[repr(C)]
19957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19958pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
19959 pub s_type: StructureType,
19960 pub next: *mut c_void,
19961 pub scheduling_controls: Bool32,
19962}
19963
19964impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
19965 #[inline]
19966 fn default() -> Self {
19967 Self {
19968 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
19969 next: ptr::null_mut(),
19970 scheduling_controls: Bool32::default(),
19971 }
19972 }
19973}
19974
19975unsafe impl Send for PhysicalDeviceSchedulingControlsFeaturesARM {}
19976unsafe impl Sync for PhysicalDeviceSchedulingControlsFeaturesARM {}
19977
19978#[repr(C)]
19980#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19981pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
19982 pub s_type: StructureType,
19983 pub next: *mut c_void,
19984 pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
19985}
19986
19987impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
19988 #[inline]
19989 fn default() -> Self {
19990 Self {
19991 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
19992 next: ptr::null_mut(),
19993 scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
19994 }
19995 }
19996}
19997
19998unsafe impl Send for PhysicalDeviceSchedulingControlsPropertiesARM {}
19999unsafe impl Sync for PhysicalDeviceSchedulingControlsPropertiesARM {}
20000
20001#[repr(C)]
20003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20004pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20005 pub s_type: StructureType,
20006 pub next: *mut c_void,
20007 pub separate_depth_stencil_layouts: Bool32,
20008}
20009
20010impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20011 #[inline]
20012 fn default() -> Self {
20013 Self {
20014 s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
20015 next: ptr::null_mut(),
20016 separate_depth_stencil_layouts: Bool32::default(),
20017 }
20018 }
20019}
20020
20021unsafe impl Send for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20022unsafe impl Sync for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20023
20024#[repr(C)]
20026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20027pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20028 pub s_type: StructureType,
20029 pub next: *mut c_void,
20030 pub shader_float16_vector_atomics: Bool32,
20031}
20032
20033impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20034 #[inline]
20035 fn default() -> Self {
20036 Self {
20037 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
20038 next: ptr::null_mut(),
20039 shader_float16_vector_atomics: Bool32::default(),
20040 }
20041 }
20042}
20043
20044unsafe impl Send for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20045unsafe impl Sync for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20046
20047#[repr(C)]
20049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20050pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20051 pub s_type: StructureType,
20052 pub next: *mut c_void,
20053 pub shader_buffer_float16_atomics: Bool32,
20054 pub shader_buffer_float16_atomic_add: Bool32,
20055 pub shader_buffer_float16_atomic_min_max: Bool32,
20056 pub shader_buffer_float32_atomic_min_max: Bool32,
20057 pub shader_buffer_float64_atomic_min_max: Bool32,
20058 pub shader_shared_float16_atomics: Bool32,
20059 pub shader_shared_float16_atomic_add: Bool32,
20060 pub shader_shared_float16_atomic_min_max: Bool32,
20061 pub shader_shared_float32_atomic_min_max: Bool32,
20062 pub shader_shared_float64_atomic_min_max: Bool32,
20063 pub shader_image_float32_atomic_min_max: Bool32,
20064 pub sparse_image_float32_atomic_min_max: Bool32,
20065}
20066
20067impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20068 #[inline]
20069 fn default() -> Self {
20070 Self {
20071 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
20072 next: ptr::null_mut(),
20073 shader_buffer_float16_atomics: Bool32::default(),
20074 shader_buffer_float16_atomic_add: Bool32::default(),
20075 shader_buffer_float16_atomic_min_max: Bool32::default(),
20076 shader_buffer_float32_atomic_min_max: Bool32::default(),
20077 shader_buffer_float64_atomic_min_max: Bool32::default(),
20078 shader_shared_float16_atomics: Bool32::default(),
20079 shader_shared_float16_atomic_add: Bool32::default(),
20080 shader_shared_float16_atomic_min_max: Bool32::default(),
20081 shader_shared_float32_atomic_min_max: Bool32::default(),
20082 shader_shared_float64_atomic_min_max: Bool32::default(),
20083 shader_image_float32_atomic_min_max: Bool32::default(),
20084 sparse_image_float32_atomic_min_max: Bool32::default(),
20085 }
20086 }
20087}
20088
20089unsafe impl Send for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20090unsafe impl Sync for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20091
20092#[repr(C)]
20094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20095pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20096 pub s_type: StructureType,
20097 pub next: *mut c_void,
20098 pub shader_buffer_float32_atomics: Bool32,
20099 pub shader_buffer_float32_atomic_add: Bool32,
20100 pub shader_buffer_float64_atomics: Bool32,
20101 pub shader_buffer_float64_atomic_add: Bool32,
20102 pub shader_shared_float32_atomics: Bool32,
20103 pub shader_shared_float32_atomic_add: Bool32,
20104 pub shader_shared_float64_atomics: Bool32,
20105 pub shader_shared_float64_atomic_add: Bool32,
20106 pub shader_image_float32_atomics: Bool32,
20107 pub shader_image_float32_atomic_add: Bool32,
20108 pub sparse_image_float32_atomics: Bool32,
20109 pub sparse_image_float32_atomic_add: Bool32,
20110}
20111
20112impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20113 #[inline]
20114 fn default() -> Self {
20115 Self {
20116 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
20117 next: ptr::null_mut(),
20118 shader_buffer_float32_atomics: Bool32::default(),
20119 shader_buffer_float32_atomic_add: Bool32::default(),
20120 shader_buffer_float64_atomics: Bool32::default(),
20121 shader_buffer_float64_atomic_add: Bool32::default(),
20122 shader_shared_float32_atomics: Bool32::default(),
20123 shader_shared_float32_atomic_add: Bool32::default(),
20124 shader_shared_float64_atomics: Bool32::default(),
20125 shader_shared_float64_atomic_add: Bool32::default(),
20126 shader_image_float32_atomics: Bool32::default(),
20127 shader_image_float32_atomic_add: Bool32::default(),
20128 sparse_image_float32_atomics: Bool32::default(),
20129 sparse_image_float32_atomic_add: Bool32::default(),
20130 }
20131 }
20132}
20133
20134unsafe impl Send for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20135unsafe impl Sync for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20136
20137#[repr(C)]
20139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20140pub struct PhysicalDeviceShaderAtomicInt64Features {
20141 pub s_type: StructureType,
20142 pub next: *mut c_void,
20143 pub shader_buffer_int64_atomics: Bool32,
20144 pub shader_shared_int64_atomics: Bool32,
20145}
20146
20147impl Default for PhysicalDeviceShaderAtomicInt64Features {
20148 #[inline]
20149 fn default() -> Self {
20150 Self {
20151 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
20152 next: ptr::null_mut(),
20153 shader_buffer_int64_atomics: Bool32::default(),
20154 shader_shared_int64_atomics: Bool32::default(),
20155 }
20156 }
20157}
20158
20159unsafe impl Send for PhysicalDeviceShaderAtomicInt64Features {}
20160unsafe impl Sync for PhysicalDeviceShaderAtomicInt64Features {}
20161
20162#[repr(C)]
20164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20165pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
20166 pub s_type: StructureType,
20167 pub next: *mut c_void,
20168 pub shader_b_float16_type: Bool32,
20169 pub shader_b_float_16dot_product: Bool32,
20170 pub shader_b_float16_cooperative_matrix: Bool32,
20171}
20172
20173impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
20174 #[inline]
20175 fn default() -> Self {
20176 Self {
20177 s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
20178 next: ptr::null_mut(),
20179 shader_b_float16_type: Bool32::default(),
20180 shader_b_float_16dot_product: Bool32::default(),
20181 shader_b_float16_cooperative_matrix: Bool32::default(),
20182 }
20183 }
20184}
20185
20186unsafe impl Send for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20187unsafe impl Sync for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20188
20189#[repr(C)]
20191#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20192pub struct PhysicalDeviceShaderClockFeaturesKHR {
20193 pub s_type: StructureType,
20194 pub next: *mut c_void,
20195 pub shader_subgroup_clock: Bool32,
20196 pub shader_device_clock: Bool32,
20197}
20198
20199impl Default for PhysicalDeviceShaderClockFeaturesKHR {
20200 #[inline]
20201 fn default() -> Self {
20202 Self {
20203 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
20204 next: ptr::null_mut(),
20205 shader_subgroup_clock: Bool32::default(),
20206 shader_device_clock: Bool32::default(),
20207 }
20208 }
20209}
20210
20211unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {}
20212unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {}
20213
20214#[repr(C)]
20216#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20217pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20218 pub s_type: StructureType,
20219 pub next: *mut c_void,
20220 pub shader_core_builtins: Bool32,
20221}
20222
20223impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20224 #[inline]
20225 fn default() -> Self {
20226 Self {
20227 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
20228 next: ptr::null_mut(),
20229 shader_core_builtins: Bool32::default(),
20230 }
20231 }
20232}
20233
20234unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20235unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20236
20237#[repr(C)]
20239#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20240pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20241 pub s_type: StructureType,
20242 pub next: *mut c_void,
20243 pub shader_core_mask: u64,
20244 pub shader_core_count: u32,
20245 pub shader_warps_per_core: u32,
20246}
20247
20248impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20249 #[inline]
20250 fn default() -> Self {
20251 Self {
20252 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
20253 next: ptr::null_mut(),
20254 shader_core_mask: u64::default(),
20255 shader_core_count: u32::default(),
20256 shader_warps_per_core: u32::default(),
20257 }
20258 }
20259}
20260
20261unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20262unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20263
20264#[repr(C)]
20266#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20267pub struct PhysicalDeviceShaderCoreProperties2AMD {
20268 pub s_type: StructureType,
20269 pub next: *mut c_void,
20270 pub shader_core_features: ShaderCorePropertiesFlagsAMD,
20271 pub active_compute_unit_count: u32,
20272}
20273
20274impl Default for PhysicalDeviceShaderCoreProperties2AMD {
20275 #[inline]
20276 fn default() -> Self {
20277 Self {
20278 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
20279 next: ptr::null_mut(),
20280 shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
20281 active_compute_unit_count: u32::default(),
20282 }
20283 }
20284}
20285
20286unsafe impl Send for PhysicalDeviceShaderCoreProperties2AMD {}
20287unsafe impl Sync for PhysicalDeviceShaderCoreProperties2AMD {}
20288
20289#[repr(C)]
20291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20292pub struct PhysicalDeviceShaderCorePropertiesAMD {
20293 pub s_type: StructureType,
20294 pub next: *mut c_void,
20295 pub shader_engine_count: u32,
20296 pub shader_arrays_per_engine_count: u32,
20297 pub compute_units_per_shader_array: u32,
20298 pub simd_per_compute_unit: u32,
20299 pub wavefronts_per_simd: u32,
20300 pub wavefront_size: u32,
20301 pub sgprs_per_simd: u32,
20302 pub min_sgpr_allocation: u32,
20303 pub max_sgpr_allocation: u32,
20304 pub sgpr_allocation_granularity: u32,
20305 pub vgprs_per_simd: u32,
20306 pub min_vgpr_allocation: u32,
20307 pub max_vgpr_allocation: u32,
20308 pub vgpr_allocation_granularity: u32,
20309}
20310
20311impl Default for PhysicalDeviceShaderCorePropertiesAMD {
20312 #[inline]
20313 fn default() -> Self {
20314 Self {
20315 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
20316 next: ptr::null_mut(),
20317 shader_engine_count: u32::default(),
20318 shader_arrays_per_engine_count: u32::default(),
20319 compute_units_per_shader_array: u32::default(),
20320 simd_per_compute_unit: u32::default(),
20321 wavefronts_per_simd: u32::default(),
20322 wavefront_size: u32::default(),
20323 sgprs_per_simd: u32::default(),
20324 min_sgpr_allocation: u32::default(),
20325 max_sgpr_allocation: u32::default(),
20326 sgpr_allocation_granularity: u32::default(),
20327 vgprs_per_simd: u32::default(),
20328 min_vgpr_allocation: u32::default(),
20329 max_vgpr_allocation: u32::default(),
20330 vgpr_allocation_granularity: u32::default(),
20331 }
20332 }
20333}
20334
20335unsafe impl Send for PhysicalDeviceShaderCorePropertiesAMD {}
20336unsafe impl Sync for PhysicalDeviceShaderCorePropertiesAMD {}
20337
20338#[repr(C)]
20340#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20341pub struct PhysicalDeviceShaderCorePropertiesARM {
20342 pub s_type: StructureType,
20343 pub next: *mut c_void,
20344 pub pixel_rate: u32,
20345 pub texel_rate: u32,
20346 pub fma_rate: u32,
20347}
20348
20349impl Default for PhysicalDeviceShaderCorePropertiesARM {
20350 #[inline]
20351 fn default() -> Self {
20352 Self {
20353 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
20354 next: ptr::null_mut(),
20355 pixel_rate: u32::default(),
20356 texel_rate: u32::default(),
20357 fma_rate: u32::default(),
20358 }
20359 }
20360}
20361
20362unsafe impl Send for PhysicalDeviceShaderCorePropertiesARM {}
20363unsafe impl Sync for PhysicalDeviceShaderCorePropertiesARM {}
20364
20365#[repr(C)]
20367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20368pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
20369 pub s_type: StructureType,
20370 pub next: *mut c_void,
20371 pub shader_demote_to_helper_invocation: Bool32,
20372}
20373
20374impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
20375 #[inline]
20376 fn default() -> Self {
20377 Self {
20378 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
20379 next: ptr::null_mut(),
20380 shader_demote_to_helper_invocation: Bool32::default(),
20381 }
20382 }
20383}
20384
20385unsafe impl Send for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
20386unsafe impl Sync for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
20387
20388#[repr(C)]
20390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20391pub struct PhysicalDeviceShaderDrawParametersFeatures {
20392 pub s_type: StructureType,
20393 pub next: *mut c_void,
20394 pub shader_draw_parameters: Bool32,
20395}
20396
20397impl Default for PhysicalDeviceShaderDrawParametersFeatures {
20398 #[inline]
20399 fn default() -> Self {
20400 Self {
20401 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
20402 next: ptr::null_mut(),
20403 shader_draw_parameters: Bool32::default(),
20404 }
20405 }
20406}
20407
20408unsafe impl Send for PhysicalDeviceShaderDrawParametersFeatures {}
20409unsafe impl Sync for PhysicalDeviceShaderDrawParametersFeatures {}
20410
20411#[repr(C)]
20413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20414pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
20415 pub s_type: StructureType,
20416 pub next: *mut c_void,
20417 pub shader_early_and_late_fragment_tests: Bool32,
20418}
20419
20420impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
20421 #[inline]
20422 fn default() -> Self {
20423 Self {
20424 s_type:
20425 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
20426 next: ptr::null_mut(),
20427 shader_early_and_late_fragment_tests: Bool32::default(),
20428 }
20429 }
20430}
20431
20432unsafe impl Send for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
20433unsafe impl Sync for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
20434
20435#[repr(C)]
20437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20438pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
20439 pub s_type: StructureType,
20440 pub next: *mut c_void,
20441 pub shader_enqueue: Bool32,
20442 pub shader_mesh_enqueue: Bool32,
20443}
20444
20445impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
20446 #[inline]
20447 fn default() -> Self {
20448 Self {
20449 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
20450 next: ptr::null_mut(),
20451 shader_enqueue: Bool32::default(),
20452 shader_mesh_enqueue: Bool32::default(),
20453 }
20454 }
20455}
20456
20457unsafe impl Send for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
20458unsafe impl Sync for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
20459
20460#[repr(C)]
20462#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20463pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
20464 pub s_type: StructureType,
20465 pub next: *mut c_void,
20466 pub max_execution_graph_depth: u32,
20467 pub max_execution_graph_shader_output_nodes: u32,
20468 pub max_execution_graph_shader_payload_size: u32,
20469 pub max_execution_graph_shader_payload_count: u32,
20470 pub execution_graph_dispatch_address_alignment: u32,
20471 pub max_execution_graph_workgroup_count: [u32; 3],
20472 pub max_execution_graph_workgroups: u32,
20473}
20474
20475impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
20476 #[inline]
20477 fn default() -> Self {
20478 Self {
20479 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
20480 next: ptr::null_mut(),
20481 max_execution_graph_depth: u32::default(),
20482 max_execution_graph_shader_output_nodes: u32::default(),
20483 max_execution_graph_shader_payload_size: u32::default(),
20484 max_execution_graph_shader_payload_count: u32::default(),
20485 execution_graph_dispatch_address_alignment: u32::default(),
20486 max_execution_graph_workgroup_count: [u32::default(); 3],
20487 max_execution_graph_workgroups: u32::default(),
20488 }
20489 }
20490}
20491
20492unsafe impl Send for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
20493unsafe impl Sync for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
20494
20495#[repr(C)]
20497#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20498pub struct PhysicalDeviceShaderExpectAssumeFeatures {
20499 pub s_type: StructureType,
20500 pub next: *mut c_void,
20501 pub shader_expect_assume: Bool32,
20502}
20503
20504impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
20505 #[inline]
20506 fn default() -> Self {
20507 Self {
20508 s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
20509 next: ptr::null_mut(),
20510 shader_expect_assume: Bool32::default(),
20511 }
20512 }
20513}
20514
20515unsafe impl Send for PhysicalDeviceShaderExpectAssumeFeatures {}
20516unsafe impl Sync for PhysicalDeviceShaderExpectAssumeFeatures {}
20517
20518#[repr(C)]
20520#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20521pub struct PhysicalDeviceShaderFloat16Int8Features {
20522 pub s_type: StructureType,
20523 pub next: *mut c_void,
20524 pub shader_float16: Bool32,
20525 pub shader_int8: Bool32,
20526}
20527
20528impl Default for PhysicalDeviceShaderFloat16Int8Features {
20529 #[inline]
20530 fn default() -> Self {
20531 Self {
20532 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
20533 next: ptr::null_mut(),
20534 shader_float16: Bool32::default(),
20535 shader_int8: Bool32::default(),
20536 }
20537 }
20538}
20539
20540unsafe impl Send for PhysicalDeviceShaderFloat16Int8Features {}
20541unsafe impl Sync for PhysicalDeviceShaderFloat16Int8Features {}
20542
20543#[repr(C)]
20545#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20546pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
20547 pub s_type: StructureType,
20548 pub next: *mut c_void,
20549 pub shader_float8: Bool32,
20550 pub shader_float8_cooperative_matrix: Bool32,
20551}
20552
20553impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
20554 #[inline]
20555 fn default() -> Self {
20556 Self {
20557 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
20558 next: ptr::null_mut(),
20559 shader_float8: Bool32::default(),
20560 shader_float8_cooperative_matrix: Bool32::default(),
20561 }
20562 }
20563}
20564
20565unsafe impl Send for PhysicalDeviceShaderFloat8FeaturesEXT {}
20566unsafe impl Sync for PhysicalDeviceShaderFloat8FeaturesEXT {}
20567
20568#[repr(C)]
20570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20571pub struct PhysicalDeviceShaderFloatControls2Features {
20572 pub s_type: StructureType,
20573 pub next: *mut c_void,
20574 pub shader_float_controls2: Bool32,
20575}
20576
20577impl Default for PhysicalDeviceShaderFloatControls2Features {
20578 #[inline]
20579 fn default() -> Self {
20580 Self {
20581 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
20582 next: ptr::null_mut(),
20583 shader_float_controls2: Bool32::default(),
20584 }
20585 }
20586}
20587
20588unsafe impl Send for PhysicalDeviceShaderFloatControls2Features {}
20589unsafe impl Sync for PhysicalDeviceShaderFloatControls2Features {}
20590
20591#[repr(C)]
20593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20594pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
20595 pub s_type: StructureType,
20596 pub next: *mut c_void,
20597 pub shader_image_int64_atomics: Bool32,
20598 pub sparse_image_int64_atomics: Bool32,
20599}
20600
20601impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
20602 #[inline]
20603 fn default() -> Self {
20604 Self {
20605 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
20606 next: ptr::null_mut(),
20607 shader_image_int64_atomics: Bool32::default(),
20608 sparse_image_int64_atomics: Bool32::default(),
20609 }
20610 }
20611}
20612
20613unsafe impl Send for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
20614unsafe impl Sync for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
20615
20616#[repr(C)]
20618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20619pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
20620 pub s_type: StructureType,
20621 pub next: *mut c_void,
20622 pub image_footprint: Bool32,
20623}
20624
20625impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
20626 #[inline]
20627 fn default() -> Self {
20628 Self {
20629 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
20630 next: ptr::null_mut(),
20631 image_footprint: Bool32::default(),
20632 }
20633 }
20634}
20635
20636unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {}
20637unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {}
20638
20639#[repr(C)]
20641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20642pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
20643 pub s_type: StructureType,
20644 pub next: *mut c_void,
20645 pub shader_integer_dot_product: Bool32,
20646}
20647
20648impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
20649 #[inline]
20650 fn default() -> Self {
20651 Self {
20652 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
20653 next: ptr::null_mut(),
20654 shader_integer_dot_product: Bool32::default(),
20655 }
20656 }
20657}
20658
20659unsafe impl Send for PhysicalDeviceShaderIntegerDotProductFeatures {}
20660unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductFeatures {}
20661
20662#[repr(C)]
20664#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20665pub struct PhysicalDeviceShaderIntegerDotProductProperties {
20666 pub s_type: StructureType,
20667 pub next: *mut c_void,
20668 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
20669 pub integer_dot_product_8bit_signed_accelerated: Bool32,
20670 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
20671 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
20672 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
20673 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
20674 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
20675 pub integer_dot_product_16bit_signed_accelerated: Bool32,
20676 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
20677 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
20678 pub integer_dot_product_32bit_signed_accelerated: Bool32,
20679 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
20680 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
20681 pub integer_dot_product_64bit_signed_accelerated: Bool32,
20682 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
20683 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
20684 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
20685 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
20686 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
20687 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
20688 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
20689 Bool32,
20690 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
20691 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
20692 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
20693 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
20694 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
20695 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
20696 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
20697 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
20698 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
20699}
20700
20701impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
20702 #[inline]
20703 fn default() -> Self {
20704 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() }
20705 }
20706}
20707
20708unsafe impl Send for PhysicalDeviceShaderIntegerDotProductProperties {}
20709unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductProperties {}
20710
20711#[repr(C)]
20713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20714pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
20715 pub s_type: StructureType,
20716 pub next: *mut c_void,
20717 pub shader_integer_functions2: Bool32,
20718}
20719
20720impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
20721 #[inline]
20722 fn default() -> Self {
20723 Self {
20724 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
20725 next: ptr::null_mut(),
20726 shader_integer_functions2: Bool32::default(),
20727 }
20728 }
20729}
20730
20731unsafe impl Send for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
20732unsafe impl Sync for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
20733
20734#[repr(C)]
20736#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20737pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
20738 pub s_type: StructureType,
20739 pub next: *mut c_void,
20740 pub shader_maximal_reconvergence: Bool32,
20741}
20742
20743impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
20744 #[inline]
20745 fn default() -> Self {
20746 Self {
20747 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
20748 next: ptr::null_mut(),
20749 shader_maximal_reconvergence: Bool32::default(),
20750 }
20751 }
20752}
20753
20754unsafe impl Send for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
20755unsafe impl Sync for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
20756
20757#[repr(C)]
20759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20760pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
20761 pub s_type: StructureType,
20762 pub next: *mut c_void,
20763 pub shader_module_identifier: Bool32,
20764}
20765
20766impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
20767 #[inline]
20768 fn default() -> Self {
20769 Self {
20770 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
20771 next: ptr::null_mut(),
20772 shader_module_identifier: Bool32::default(),
20773 }
20774 }
20775}
20776
20777unsafe impl Send for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
20778unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
20779
20780#[repr(C)]
20782#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20783pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
20784 pub s_type: StructureType,
20785 pub next: *mut c_void,
20786 pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
20787}
20788
20789impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
20790 #[inline]
20791 fn default() -> Self {
20792 Self {
20793 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
20794 next: ptr::null_mut(),
20795 shader_module_identifier_algorithm_uuid: ByteArray::default(),
20796 }
20797 }
20798}
20799
20800unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
20801unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
20802
20803#[repr(C)]
20805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20806pub struct PhysicalDeviceShaderObjectFeaturesEXT {
20807 pub s_type: StructureType,
20808 pub next: *mut c_void,
20809 pub shader_object: Bool32,
20810}
20811
20812impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
20813 #[inline]
20814 fn default() -> Self {
20815 Self {
20816 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
20817 next: ptr::null_mut(),
20818 shader_object: Bool32::default(),
20819 }
20820 }
20821}
20822
20823unsafe impl Send for PhysicalDeviceShaderObjectFeaturesEXT {}
20824unsafe impl Sync for PhysicalDeviceShaderObjectFeaturesEXT {}
20825
20826#[repr(C)]
20828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20829pub struct PhysicalDeviceShaderObjectPropertiesEXT {
20830 pub s_type: StructureType,
20831 pub next: *mut c_void,
20832 pub shader_binary_uuid: ByteArray<UUID_SIZE>,
20833 pub shader_binary_version: u32,
20834}
20835
20836impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
20837 #[inline]
20838 fn default() -> Self {
20839 Self {
20840 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
20841 next: ptr::null_mut(),
20842 shader_binary_uuid: ByteArray::default(),
20843 shader_binary_version: u32::default(),
20844 }
20845 }
20846}
20847
20848unsafe impl Send for PhysicalDeviceShaderObjectPropertiesEXT {}
20849unsafe impl Sync for PhysicalDeviceShaderObjectPropertiesEXT {}
20850
20851#[repr(C)]
20853#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20854pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
20855 pub s_type: StructureType,
20856 pub next: *mut c_void,
20857 pub shader_quad_control: Bool32,
20858}
20859
20860impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
20861 #[inline]
20862 fn default() -> Self {
20863 Self {
20864 s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
20865 next: ptr::null_mut(),
20866 shader_quad_control: Bool32::default(),
20867 }
20868 }
20869}
20870
20871unsafe impl Send for PhysicalDeviceShaderQuadControlFeaturesKHR {}
20872unsafe impl Sync for PhysicalDeviceShaderQuadControlFeaturesKHR {}
20873
20874#[repr(C)]
20876#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20877pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
20878 pub s_type: StructureType,
20879 pub next: *mut c_void,
20880 pub shader_relaxed_extended_instruction: Bool32,
20881}
20882
20883impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
20884 #[inline]
20885 fn default() -> Self {
20886 Self {
20887 s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
20888 next: ptr::null_mut(),
20889 shader_relaxed_extended_instruction: Bool32::default(),
20890 }
20891 }
20892}
20893
20894unsafe impl Send for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
20895unsafe impl Sync for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
20896
20897#[repr(C)]
20899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20900pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
20901 pub s_type: StructureType,
20902 pub next: *mut c_void,
20903 pub shader_replicated_composites: Bool32,
20904}
20905
20906impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
20907 #[inline]
20908 fn default() -> Self {
20909 Self {
20910 s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
20911 next: ptr::null_mut(),
20912 shader_replicated_composites: Bool32::default(),
20913 }
20914 }
20915}
20916
20917unsafe impl Send for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
20918unsafe impl Sync for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
20919
20920#[repr(C)]
20922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20923pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
20924 pub s_type: StructureType,
20925 pub next: *mut c_void,
20926 pub shader_sm_builtins: Bool32,
20927}
20928
20929impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
20930 #[inline]
20931 fn default() -> Self {
20932 Self {
20933 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
20934 next: ptr::null_mut(),
20935 shader_sm_builtins: Bool32::default(),
20936 }
20937 }
20938}
20939
20940unsafe impl Send for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
20941unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
20942
20943#[repr(C)]
20945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20946pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
20947 pub s_type: StructureType,
20948 pub next: *mut c_void,
20949 pub shader_sm_count: u32,
20950 pub shader_warps_per_sm: u32,
20951}
20952
20953impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
20954 #[inline]
20955 fn default() -> Self {
20956 Self {
20957 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
20958 next: ptr::null_mut(),
20959 shader_sm_count: u32::default(),
20960 shader_warps_per_sm: u32::default(),
20961 }
20962 }
20963}
20964
20965unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
20966unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
20967
20968#[repr(C)]
20970#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20971pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
20972 pub s_type: StructureType,
20973 pub next: *mut c_void,
20974 pub shader_subgroup_extended_types: Bool32,
20975}
20976
20977impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
20978 #[inline]
20979 fn default() -> Self {
20980 Self {
20981 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
20982 next: ptr::null_mut(),
20983 shader_subgroup_extended_types: Bool32::default(),
20984 }
20985 }
20986}
20987
20988unsafe impl Send for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
20989unsafe impl Sync for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
20990
20991#[repr(C)]
20993#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20994pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
20995 pub s_type: StructureType,
20996 pub next: *mut c_void,
20997 pub shader_subgroup_rotate: Bool32,
20998 pub shader_subgroup_rotate_clustered: Bool32,
20999}
21000
21001impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
21002 #[inline]
21003 fn default() -> Self {
21004 Self {
21005 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
21006 next: ptr::null_mut(),
21007 shader_subgroup_rotate: Bool32::default(),
21008 shader_subgroup_rotate_clustered: Bool32::default(),
21009 }
21010 }
21011}
21012
21013unsafe impl Send for PhysicalDeviceShaderSubgroupRotateFeatures {}
21014unsafe impl Sync for PhysicalDeviceShaderSubgroupRotateFeatures {}
21015
21016#[repr(C)]
21018#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21019pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21020 pub s_type: StructureType,
21021 pub next: *mut c_void,
21022 pub shader_subgroup_uniform_control_flow: Bool32,
21023}
21024
21025impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21026 #[inline]
21027 fn default() -> Self {
21028 Self {
21029 s_type:
21030 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
21031 next: ptr::null_mut(),
21032 shader_subgroup_uniform_control_flow: Bool32::default(),
21033 }
21034 }
21035}
21036
21037unsafe impl Send for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21038unsafe impl Sync for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21039
21040#[repr(C)]
21042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21043pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
21044 pub s_type: StructureType,
21045 pub next: *mut c_void,
21046 pub shader_terminate_invocation: Bool32,
21047}
21048
21049impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
21050 #[inline]
21051 fn default() -> Self {
21052 Self {
21053 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
21054 next: ptr::null_mut(),
21055 shader_terminate_invocation: Bool32::default(),
21056 }
21057 }
21058}
21059
21060unsafe impl Send for PhysicalDeviceShaderTerminateInvocationFeatures {}
21061unsafe impl Sync for PhysicalDeviceShaderTerminateInvocationFeatures {}
21062
21063#[repr(C)]
21065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21066pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
21067 pub s_type: StructureType,
21068 pub next: *mut c_void,
21069 pub shader_tile_image_color_read_access: Bool32,
21070 pub shader_tile_image_depth_read_access: Bool32,
21071 pub shader_tile_image_stencil_read_access: Bool32,
21072}
21073
21074impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
21075 #[inline]
21076 fn default() -> Self {
21077 Self {
21078 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
21079 next: ptr::null_mut(),
21080 shader_tile_image_color_read_access: Bool32::default(),
21081 shader_tile_image_depth_read_access: Bool32::default(),
21082 shader_tile_image_stencil_read_access: Bool32::default(),
21083 }
21084 }
21085}
21086
21087unsafe impl Send for PhysicalDeviceShaderTileImageFeaturesEXT {}
21088unsafe impl Sync for PhysicalDeviceShaderTileImageFeaturesEXT {}
21089
21090#[repr(C)]
21092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21093pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
21094 pub s_type: StructureType,
21095 pub next: *mut c_void,
21096 pub shader_tile_image_coherent_read_accelerated: Bool32,
21097 pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
21098 pub shader_tile_image_read_from_helper_invocation: Bool32,
21099}
21100
21101impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
21102 #[inline]
21103 fn default() -> Self {
21104 Self {
21105 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
21106 next: ptr::null_mut(),
21107 shader_tile_image_coherent_read_accelerated: Bool32::default(),
21108 shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
21109 shader_tile_image_read_from_helper_invocation: Bool32::default(),
21110 }
21111 }
21112}
21113
21114unsafe impl Send for PhysicalDeviceShaderTileImagePropertiesEXT {}
21115unsafe impl Sync for PhysicalDeviceShaderTileImagePropertiesEXT {}
21116
21117#[repr(C)]
21119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21120pub struct PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21121 pub s_type: StructureType,
21122 pub next: *mut c_void,
21123 pub shader_untyped_pointers: Bool32,
21124}
21125
21126impl Default for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21127 #[inline]
21128 fn default() -> Self {
21129 Self {
21130 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
21131 next: ptr::null_mut(),
21132 shader_untyped_pointers: Bool32::default(),
21133 }
21134 }
21135}
21136
21137unsafe impl Send for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21138unsafe impl Sync for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21139
21140#[repr(C)]
21142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21143pub struct PhysicalDeviceShadingRateImageFeaturesNV {
21144 pub s_type: StructureType,
21145 pub next: *mut c_void,
21146 pub shading_rate_image: Bool32,
21147 pub shading_rate_coarse_sample_order: Bool32,
21148}
21149
21150impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
21151 #[inline]
21152 fn default() -> Self {
21153 Self {
21154 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
21155 next: ptr::null_mut(),
21156 shading_rate_image: Bool32::default(),
21157 shading_rate_coarse_sample_order: Bool32::default(),
21158 }
21159 }
21160}
21161
21162unsafe impl Send for PhysicalDeviceShadingRateImageFeaturesNV {}
21163unsafe impl Sync for PhysicalDeviceShadingRateImageFeaturesNV {}
21164
21165#[repr(C)]
21167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21168pub struct PhysicalDeviceShadingRateImagePropertiesNV {
21169 pub s_type: StructureType,
21170 pub next: *mut c_void,
21171 pub shading_rate_texel_size: Extent2D,
21172 pub shading_rate_palette_size: u32,
21173 pub shading_rate_max_coarse_samples: u32,
21174}
21175
21176impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
21177 #[inline]
21178 fn default() -> Self {
21179 Self {
21180 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
21181 next: ptr::null_mut(),
21182 shading_rate_texel_size: Extent2D::default(),
21183 shading_rate_palette_size: u32::default(),
21184 shading_rate_max_coarse_samples: u32::default(),
21185 }
21186 }
21187}
21188
21189unsafe impl Send for PhysicalDeviceShadingRateImagePropertiesNV {}
21190unsafe impl Sync for PhysicalDeviceShadingRateImagePropertiesNV {}
21191
21192#[repr(C)]
21194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21195pub struct PhysicalDeviceSparseImageFormatInfo2 {
21196 pub s_type: StructureType,
21197 pub next: *const c_void,
21198 pub format: Format,
21199 pub type_: ImageType,
21200 pub samples: SampleCountFlags,
21201 pub usage: ImageUsageFlags,
21202 pub tiling: ImageTiling,
21203}
21204
21205impl Default for PhysicalDeviceSparseImageFormatInfo2 {
21206 #[inline]
21207 fn default() -> Self {
21208 Self {
21209 s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
21210 next: ptr::null(),
21211 format: Format::default(),
21212 type_: ImageType::default(),
21213 samples: SampleCountFlags::default(),
21214 usage: ImageUsageFlags::default(),
21215 tiling: ImageTiling::default(),
21216 }
21217 }
21218}
21219
21220unsafe impl Send for PhysicalDeviceSparseImageFormatInfo2 {}
21221unsafe impl Sync for PhysicalDeviceSparseImageFormatInfo2 {}
21222
21223#[repr(C)]
21225#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
21226pub struct PhysicalDeviceSparseProperties {
21227 pub residency_standard_2d_block_shape: Bool32,
21228 pub residency_standard_2d_multisample_block_shape: Bool32,
21229 pub residency_standard_3d_block_shape: Bool32,
21230 pub residency_aligned_mip_size: Bool32,
21231 pub residency_non_resident_strict: Bool32,
21232}
21233
21234#[repr(C)]
21236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21237pub struct PhysicalDeviceSubgroupProperties {
21238 pub s_type: StructureType,
21239 pub next: *mut c_void,
21240 pub subgroup_size: u32,
21241 pub supported_stages: ShaderStageFlags,
21242 pub supported_operations: SubgroupFeatureFlags,
21243 pub quad_operations_in_all_stages: Bool32,
21244}
21245
21246impl Default for PhysicalDeviceSubgroupProperties {
21247 #[inline]
21248 fn default() -> Self {
21249 Self {
21250 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
21251 next: ptr::null_mut(),
21252 subgroup_size: u32::default(),
21253 supported_stages: ShaderStageFlags::default(),
21254 supported_operations: SubgroupFeatureFlags::default(),
21255 quad_operations_in_all_stages: Bool32::default(),
21256 }
21257 }
21258}
21259
21260unsafe impl Send for PhysicalDeviceSubgroupProperties {}
21261unsafe impl Sync for PhysicalDeviceSubgroupProperties {}
21262
21263#[repr(C)]
21265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21266pub struct PhysicalDeviceSubgroupSizeControlFeatures {
21267 pub s_type: StructureType,
21268 pub next: *mut c_void,
21269 pub subgroup_size_control: Bool32,
21270 pub compute_full_subgroups: Bool32,
21271}
21272
21273impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
21274 #[inline]
21275 fn default() -> Self {
21276 Self {
21277 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
21278 next: ptr::null_mut(),
21279 subgroup_size_control: Bool32::default(),
21280 compute_full_subgroups: Bool32::default(),
21281 }
21282 }
21283}
21284
21285unsafe impl Send for PhysicalDeviceSubgroupSizeControlFeatures {}
21286unsafe impl Sync for PhysicalDeviceSubgroupSizeControlFeatures {}
21287
21288#[repr(C)]
21290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21291pub struct PhysicalDeviceSubgroupSizeControlProperties {
21292 pub s_type: StructureType,
21293 pub next: *mut c_void,
21294 pub min_subgroup_size: u32,
21295 pub max_subgroup_size: u32,
21296 pub max_compute_workgroup_subgroups: u32,
21297 pub required_subgroup_size_stages: ShaderStageFlags,
21298}
21299
21300impl Default for PhysicalDeviceSubgroupSizeControlProperties {
21301 #[inline]
21302 fn default() -> Self {
21303 Self {
21304 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
21305 next: ptr::null_mut(),
21306 min_subgroup_size: u32::default(),
21307 max_subgroup_size: u32::default(),
21308 max_compute_workgroup_subgroups: u32::default(),
21309 required_subgroup_size_stages: ShaderStageFlags::default(),
21310 }
21311 }
21312}
21313
21314unsafe impl Send for PhysicalDeviceSubgroupSizeControlProperties {}
21315unsafe impl Sync for PhysicalDeviceSubgroupSizeControlProperties {}
21316
21317#[repr(C)]
21319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21320pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
21321 pub s_type: StructureType,
21322 pub next: *mut c_void,
21323 pub subpass_merge_feedback: Bool32,
21324}
21325
21326impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
21327 #[inline]
21328 fn default() -> Self {
21329 Self {
21330 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
21331 next: ptr::null_mut(),
21332 subpass_merge_feedback: Bool32::default(),
21333 }
21334 }
21335}
21336
21337unsafe impl Send for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
21338unsafe impl Sync for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
21339
21340#[repr(C)]
21342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21343pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
21344 pub s_type: StructureType,
21345 pub next: *mut c_void,
21346 pub subpass_shading: Bool32,
21347}
21348
21349impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
21350 #[inline]
21351 fn default() -> Self {
21352 Self {
21353 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
21354 next: ptr::null_mut(),
21355 subpass_shading: Bool32::default(),
21356 }
21357 }
21358}
21359
21360unsafe impl Send for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
21361unsafe impl Sync for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
21362
21363#[repr(C)]
21365#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21366pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
21367 pub s_type: StructureType,
21368 pub next: *mut c_void,
21369 pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
21370}
21371
21372impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
21373 #[inline]
21374 fn default() -> Self {
21375 Self {
21376 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
21377 next: ptr::null_mut(),
21378 max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
21379 }
21380 }
21381}
21382
21383unsafe impl Send for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
21384unsafe impl Sync for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
21385
21386#[repr(C)]
21388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21389pub struct PhysicalDeviceSurfaceInfo2KHR {
21390 pub s_type: StructureType,
21391 pub next: *const c_void,
21392 pub surface: SurfaceKHR,
21393}
21394
21395impl Default for PhysicalDeviceSurfaceInfo2KHR {
21396 #[inline]
21397 fn default() -> Self {
21398 Self {
21399 s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
21400 next: ptr::null(),
21401 surface: SurfaceKHR::default(),
21402 }
21403 }
21404}
21405
21406unsafe impl Send for PhysicalDeviceSurfaceInfo2KHR {}
21407unsafe impl Sync for PhysicalDeviceSurfaceInfo2KHR {}
21408
21409#[repr(C)]
21411#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21412pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
21413 pub s_type: StructureType,
21414 pub next: *mut c_void,
21415 pub swapchain_maintenance1: Bool32,
21416}
21417
21418impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
21419 #[inline]
21420 fn default() -> Self {
21421 Self {
21422 s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
21423 next: ptr::null_mut(),
21424 swapchain_maintenance1: Bool32::default(),
21425 }
21426 }
21427}
21428
21429unsafe impl Send for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
21430unsafe impl Sync for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
21431
21432#[repr(C)]
21434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21435pub struct PhysicalDeviceSynchronization2Features {
21436 pub s_type: StructureType,
21437 pub next: *mut c_void,
21438 pub synchronization2: Bool32,
21439}
21440
21441impl Default for PhysicalDeviceSynchronization2Features {
21442 #[inline]
21443 fn default() -> Self {
21444 Self {
21445 s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
21446 next: ptr::null_mut(),
21447 synchronization2: Bool32::default(),
21448 }
21449 }
21450}
21451
21452unsafe impl Send for PhysicalDeviceSynchronization2Features {}
21453unsafe impl Sync for PhysicalDeviceSynchronization2Features {}
21454
21455#[repr(C)]
21457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21458pub struct PhysicalDeviceTensorFeaturesARM {
21459 pub s_type: StructureType,
21460 pub next: *mut c_void,
21461 pub tensor_non_packed: Bool32,
21462 pub shader_tensor_access: Bool32,
21463 pub shader_storage_tensor_array_dynamic_indexing: Bool32,
21464 pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
21465 pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
21466 pub tensors: Bool32,
21467}
21468
21469impl Default for PhysicalDeviceTensorFeaturesARM {
21470 #[inline]
21471 fn default() -> Self {
21472 Self {
21473 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
21474 next: ptr::null_mut(),
21475 tensor_non_packed: Bool32::default(),
21476 shader_tensor_access: Bool32::default(),
21477 shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
21478 shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
21479 descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
21480 tensors: Bool32::default(),
21481 }
21482 }
21483}
21484
21485unsafe impl Send for PhysicalDeviceTensorFeaturesARM {}
21486unsafe impl Sync for PhysicalDeviceTensorFeaturesARM {}
21487
21488#[repr(C)]
21490#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21491pub struct PhysicalDeviceTensorPropertiesARM {
21492 pub s_type: StructureType,
21493 pub next: *mut c_void,
21494 pub max_tensor_dimension_count: u32,
21495 pub max_tensor_elements: u64,
21496 pub max_per_dimension_tensor_elements: u64,
21497 pub max_tensor_stride: i64,
21498 pub max_tensor_size: u64,
21499 pub max_tensor_shader_access_array_length: u32,
21500 pub max_tensor_shader_access_size: u32,
21501 pub max_descriptor_set_storage_tensors: u32,
21502 pub max_per_stage_descriptor_set_storage_tensors: u32,
21503 pub max_descriptor_set_update_after_bind_storage_tensors: u32,
21504 pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
21505 pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
21506 pub shader_tensor_supported_stages: ShaderStageFlags,
21507}
21508
21509impl Default for PhysicalDeviceTensorPropertiesARM {
21510 #[inline]
21511 fn default() -> Self {
21512 Self {
21513 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
21514 next: ptr::null_mut(),
21515 max_tensor_dimension_count: u32::default(),
21516 max_tensor_elements: u64::default(),
21517 max_per_dimension_tensor_elements: u64::default(),
21518 max_tensor_stride: i64::default(),
21519 max_tensor_size: u64::default(),
21520 max_tensor_shader_access_array_length: u32::default(),
21521 max_tensor_shader_access_size: u32::default(),
21522 max_descriptor_set_storage_tensors: u32::default(),
21523 max_per_stage_descriptor_set_storage_tensors: u32::default(),
21524 max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
21525 max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
21526 shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
21527 shader_tensor_supported_stages: ShaderStageFlags::default(),
21528 }
21529 }
21530}
21531
21532unsafe impl Send for PhysicalDeviceTensorPropertiesARM {}
21533unsafe impl Sync for PhysicalDeviceTensorPropertiesARM {}
21534
21535#[repr(C)]
21537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21538pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
21539 pub s_type: StructureType,
21540 pub next: *mut c_void,
21541 pub texel_buffer_alignment: Bool32,
21542}
21543
21544impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
21545 #[inline]
21546 fn default() -> Self {
21547 Self {
21548 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
21549 next: ptr::null_mut(),
21550 texel_buffer_alignment: Bool32::default(),
21551 }
21552 }
21553}
21554
21555unsafe impl Send for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
21556unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
21557
21558#[repr(C)]
21560#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21561pub struct PhysicalDeviceTexelBufferAlignmentProperties {
21562 pub s_type: StructureType,
21563 pub next: *mut c_void,
21564 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
21565 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
21566 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
21567 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
21568}
21569
21570impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
21571 #[inline]
21572 fn default() -> Self {
21573 Self {
21574 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
21575 next: ptr::null_mut(),
21576 storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
21577 storage_texel_buffer_offset_single_texel_alignment: Bool32::default(),
21578 uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
21579 uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(),
21580 }
21581 }
21582}
21583
21584unsafe impl Send for PhysicalDeviceTexelBufferAlignmentProperties {}
21585unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentProperties {}
21586
21587#[repr(C)]
21589#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21590pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
21591 pub s_type: StructureType,
21592 pub next: *mut c_void,
21593 pub texture_compression_astc_hdr: Bool32,
21594}
21595
21596impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
21597 #[inline]
21598 fn default() -> Self {
21599 Self {
21600 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
21601 next: ptr::null_mut(),
21602 texture_compression_astc_hdr: Bool32::default(),
21603 }
21604 }
21605}
21606
21607unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
21608unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
21609
21610#[repr(C)]
21612#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21613pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
21614 pub s_type: StructureType,
21615 pub next: *mut c_void,
21616 pub tile_memory_heap: Bool32,
21617}
21618
21619impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
21620 #[inline]
21621 fn default() -> Self {
21622 Self {
21623 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
21624 next: ptr::null_mut(),
21625 tile_memory_heap: Bool32::default(),
21626 }
21627 }
21628}
21629
21630unsafe impl Send for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
21631unsafe impl Sync for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
21632
21633#[repr(C)]
21635#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21636pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
21637 pub s_type: StructureType,
21638 pub next: *mut c_void,
21639 pub queue_submit_boundary: Bool32,
21640 pub tile_buffer_transfers: Bool32,
21641}
21642
21643impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
21644 #[inline]
21645 fn default() -> Self {
21646 Self {
21647 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
21648 next: ptr::null_mut(),
21649 queue_submit_boundary: Bool32::default(),
21650 tile_buffer_transfers: Bool32::default(),
21651 }
21652 }
21653}
21654
21655unsafe impl Send for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
21656unsafe impl Sync for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
21657
21658#[repr(C)]
21660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21661pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
21662 pub s_type: StructureType,
21663 pub next: *mut c_void,
21664 pub tile_properties: Bool32,
21665}
21666
21667impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
21668 #[inline]
21669 fn default() -> Self {
21670 Self {
21671 s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
21672 next: ptr::null_mut(),
21673 tile_properties: Bool32::default(),
21674 }
21675 }
21676}
21677
21678unsafe impl Send for PhysicalDeviceTilePropertiesFeaturesQCOM {}
21679unsafe impl Sync for PhysicalDeviceTilePropertiesFeaturesQCOM {}
21680
21681#[repr(C)]
21683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21684pub struct PhysicalDeviceTileShadingFeaturesQCOM {
21685 pub s_type: StructureType,
21686 pub next: *mut c_void,
21687 pub tile_shading: Bool32,
21688 pub tile_shading_fragment_stage: Bool32,
21689 pub tile_shading_color_attachments: Bool32,
21690 pub tile_shading_depth_attachments: Bool32,
21691 pub tile_shading_stencil_attachments: Bool32,
21692 pub tile_shading_input_attachments: Bool32,
21693 pub tile_shading_sampled_attachments: Bool32,
21694 pub tile_shading_per_tile_draw: Bool32,
21695 pub tile_shading_per_tile_dispatch: Bool32,
21696 pub tile_shading_dispatch_tile: Bool32,
21697 pub tile_shading_apron: Bool32,
21698 pub tile_shading_anisotropic_apron: Bool32,
21699 pub tile_shading_atomic_ops: Bool32,
21700 pub tile_shading_image_processing: Bool32,
21701}
21702
21703impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
21704 #[inline]
21705 fn default() -> Self {
21706 Self {
21707 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
21708 next: ptr::null_mut(),
21709 tile_shading: Bool32::default(),
21710 tile_shading_fragment_stage: Bool32::default(),
21711 tile_shading_color_attachments: Bool32::default(),
21712 tile_shading_depth_attachments: Bool32::default(),
21713 tile_shading_stencil_attachments: Bool32::default(),
21714 tile_shading_input_attachments: Bool32::default(),
21715 tile_shading_sampled_attachments: Bool32::default(),
21716 tile_shading_per_tile_draw: Bool32::default(),
21717 tile_shading_per_tile_dispatch: Bool32::default(),
21718 tile_shading_dispatch_tile: Bool32::default(),
21719 tile_shading_apron: Bool32::default(),
21720 tile_shading_anisotropic_apron: Bool32::default(),
21721 tile_shading_atomic_ops: Bool32::default(),
21722 tile_shading_image_processing: Bool32::default(),
21723 }
21724 }
21725}
21726
21727unsafe impl Send for PhysicalDeviceTileShadingFeaturesQCOM {}
21728unsafe impl Sync for PhysicalDeviceTileShadingFeaturesQCOM {}
21729
21730#[repr(C)]
21732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21733pub struct PhysicalDeviceTileShadingPropertiesQCOM {
21734 pub s_type: StructureType,
21735 pub next: *mut c_void,
21736 pub max_apron_size: u32,
21737 pub prefer_non_coherent: Bool32,
21738 pub tile_granularity: Extent2D,
21739 pub max_tile_shading_rate: Extent2D,
21740}
21741
21742impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
21743 #[inline]
21744 fn default() -> Self {
21745 Self {
21746 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
21747 next: ptr::null_mut(),
21748 max_apron_size: u32::default(),
21749 prefer_non_coherent: Bool32::default(),
21750 tile_granularity: Extent2D::default(),
21751 max_tile_shading_rate: Extent2D::default(),
21752 }
21753 }
21754}
21755
21756unsafe impl Send for PhysicalDeviceTileShadingPropertiesQCOM {}
21757unsafe impl Sync for PhysicalDeviceTileShadingPropertiesQCOM {}
21758
21759#[repr(C)]
21761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21762pub struct PhysicalDeviceTimelineSemaphoreFeatures {
21763 pub s_type: StructureType,
21764 pub next: *mut c_void,
21765 pub timeline_semaphore: Bool32,
21766}
21767
21768impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
21769 #[inline]
21770 fn default() -> Self {
21771 Self {
21772 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
21773 next: ptr::null_mut(),
21774 timeline_semaphore: Bool32::default(),
21775 }
21776 }
21777}
21778
21779unsafe impl Send for PhysicalDeviceTimelineSemaphoreFeatures {}
21780unsafe impl Sync for PhysicalDeviceTimelineSemaphoreFeatures {}
21781
21782#[repr(C)]
21784#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21785pub struct PhysicalDeviceTimelineSemaphoreProperties {
21786 pub s_type: StructureType,
21787 pub next: *mut c_void,
21788 pub max_timeline_semaphore_value_difference: u64,
21789}
21790
21791impl Default for PhysicalDeviceTimelineSemaphoreProperties {
21792 #[inline]
21793 fn default() -> Self {
21794 Self {
21795 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
21796 next: ptr::null_mut(),
21797 max_timeline_semaphore_value_difference: u64::default(),
21798 }
21799 }
21800}
21801
21802unsafe impl Send for PhysicalDeviceTimelineSemaphoreProperties {}
21803unsafe impl Sync for PhysicalDeviceTimelineSemaphoreProperties {}
21804
21805#[repr(C)]
21807#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21808pub struct PhysicalDeviceToolProperties {
21809 pub s_type: StructureType,
21810 pub next: *mut c_void,
21811 pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
21812 pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
21813 pub purposes: ToolPurposeFlags,
21814 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
21815 pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
21816}
21817
21818impl Default for PhysicalDeviceToolProperties {
21819 #[inline]
21820 fn default() -> Self {
21821 Self {
21822 s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
21823 next: ptr::null_mut(),
21824 name: StringArray::default(),
21825 version: StringArray::default(),
21826 purposes: ToolPurposeFlags::default(),
21827 description: StringArray::default(),
21828 layer: StringArray::default(),
21829 }
21830 }
21831}
21832
21833unsafe impl Send for PhysicalDeviceToolProperties {}
21834unsafe impl Sync for PhysicalDeviceToolProperties {}
21835
21836#[repr(C)]
21838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21839pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
21840 pub s_type: StructureType,
21841 pub next: *mut c_void,
21842 pub transform_feedback: Bool32,
21843 pub geometry_streams: Bool32,
21844}
21845
21846impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
21847 #[inline]
21848 fn default() -> Self {
21849 Self {
21850 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
21851 next: ptr::null_mut(),
21852 transform_feedback: Bool32::default(),
21853 geometry_streams: Bool32::default(),
21854 }
21855 }
21856}
21857
21858unsafe impl Send for PhysicalDeviceTransformFeedbackFeaturesEXT {}
21859unsafe impl Sync for PhysicalDeviceTransformFeedbackFeaturesEXT {}
21860
21861#[repr(C)]
21863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21864pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
21865 pub s_type: StructureType,
21866 pub next: *mut c_void,
21867 pub max_transform_feedback_streams: u32,
21868 pub max_transform_feedback_buffers: u32,
21869 pub max_transform_feedback_buffer_size: DeviceSize,
21870 pub max_transform_feedback_stream_data_size: u32,
21871 pub max_transform_feedback_buffer_data_size: u32,
21872 pub max_transform_feedback_buffer_data_stride: u32,
21873 pub transform_feedback_queries: Bool32,
21874 pub transform_feedback_streams_lines_triangles: Bool32,
21875 pub transform_feedback_rasterization_stream_select: Bool32,
21876 pub transform_feedback_draw: Bool32,
21877}
21878
21879impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
21880 #[inline]
21881 fn default() -> Self {
21882 Self {
21883 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
21884 next: ptr::null_mut(),
21885 max_transform_feedback_streams: u32::default(),
21886 max_transform_feedback_buffers: u32::default(),
21887 max_transform_feedback_buffer_size: DeviceSize::default(),
21888 max_transform_feedback_stream_data_size: u32::default(),
21889 max_transform_feedback_buffer_data_size: u32::default(),
21890 max_transform_feedback_buffer_data_stride: u32::default(),
21891 transform_feedback_queries: Bool32::default(),
21892 transform_feedback_streams_lines_triangles: Bool32::default(),
21893 transform_feedback_rasterization_stream_select: Bool32::default(),
21894 transform_feedback_draw: Bool32::default(),
21895 }
21896 }
21897}
21898
21899unsafe impl Send for PhysicalDeviceTransformFeedbackPropertiesEXT {}
21900unsafe impl Sync for PhysicalDeviceTransformFeedbackPropertiesEXT {}
21901
21902#[repr(C)]
21904#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21905pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
21906 pub s_type: StructureType,
21907 pub next: *mut c_void,
21908 pub unified_image_layouts: Bool32,
21909 pub unified_image_layouts_video: Bool32,
21910}
21911
21912impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
21913 #[inline]
21914 fn default() -> Self {
21915 Self {
21916 s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
21917 next: ptr::null_mut(),
21918 unified_image_layouts: Bool32::default(),
21919 unified_image_layouts_video: Bool32::default(),
21920 }
21921 }
21922}
21923
21924unsafe impl Send for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
21925unsafe impl Sync for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
21926
21927#[repr(C)]
21929#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21930pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
21931 pub s_type: StructureType,
21932 pub next: *mut c_void,
21933 pub uniform_buffer_standard_layout: Bool32,
21934}
21935
21936impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
21937 #[inline]
21938 fn default() -> Self {
21939 Self {
21940 s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
21941 next: ptr::null_mut(),
21942 uniform_buffer_standard_layout: Bool32::default(),
21943 }
21944 }
21945}
21946
21947unsafe impl Send for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
21948unsafe impl Sync for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
21949
21950#[repr(C)]
21952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21953pub struct PhysicalDeviceVariablePointersFeatures {
21954 pub s_type: StructureType,
21955 pub next: *mut c_void,
21956 pub variable_pointers_storage_buffer: Bool32,
21957 pub variable_pointers: Bool32,
21958}
21959
21960impl Default for PhysicalDeviceVariablePointersFeatures {
21961 #[inline]
21962 fn default() -> Self {
21963 Self {
21964 s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
21965 next: ptr::null_mut(),
21966 variable_pointers_storage_buffer: Bool32::default(),
21967 variable_pointers: Bool32::default(),
21968 }
21969 }
21970}
21971
21972unsafe impl Send for PhysicalDeviceVariablePointersFeatures {}
21973unsafe impl Sync for PhysicalDeviceVariablePointersFeatures {}
21974
21975#[repr(C)]
21977#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21978pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
21979 pub s_type: StructureType,
21980 pub next: *mut c_void,
21981 pub vertex_attribute_instance_rate_divisor: Bool32,
21982 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
21983}
21984
21985impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
21986 #[inline]
21987 fn default() -> Self {
21988 Self {
21989 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
21990 next: ptr::null_mut(),
21991 vertex_attribute_instance_rate_divisor: Bool32::default(),
21992 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
21993 }
21994 }
21995}
21996
21997unsafe impl Send for PhysicalDeviceVertexAttributeDivisorFeatures {}
21998unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorFeatures {}
21999
22000#[repr(C)]
22002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22003pub struct PhysicalDeviceVertexAttributeDivisorProperties {
22004 pub s_type: StructureType,
22005 pub next: *mut c_void,
22006 pub max_vertex_attrib_divisor: u32,
22007 pub supports_non_zero_first_instance: Bool32,
22008}
22009
22010impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
22011 #[inline]
22012 fn default() -> Self {
22013 Self {
22014 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
22015 next: ptr::null_mut(),
22016 max_vertex_attrib_divisor: u32::default(),
22017 supports_non_zero_first_instance: Bool32::default(),
22018 }
22019 }
22020}
22021
22022unsafe impl Send for PhysicalDeviceVertexAttributeDivisorProperties {}
22023unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorProperties {}
22024
22025#[repr(C)]
22027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22028pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22029 pub s_type: StructureType,
22030 pub next: *mut c_void,
22031 pub max_vertex_attrib_divisor: u32,
22032}
22033
22034impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22035 #[inline]
22036 fn default() -> Self {
22037 Self {
22038 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
22039 next: ptr::null_mut(),
22040 max_vertex_attrib_divisor: u32::default(),
22041 }
22042 }
22043}
22044
22045unsafe impl Send for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22046unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22047
22048#[repr(C)]
22050#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22051pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22052 pub s_type: StructureType,
22053 pub next: *mut c_void,
22054 pub vertex_attribute_robustness: Bool32,
22055}
22056
22057impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22058 #[inline]
22059 fn default() -> Self {
22060 Self {
22061 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
22062 next: ptr::null_mut(),
22063 vertex_attribute_robustness: Bool32::default(),
22064 }
22065 }
22066}
22067
22068unsafe impl Send for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22069unsafe impl Sync for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22070
22071#[repr(C)]
22073#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22074pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22075 pub s_type: StructureType,
22076 pub next: *mut c_void,
22077 pub vertex_input_dynamic_state: Bool32,
22078}
22079
22080impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22081 #[inline]
22082 fn default() -> Self {
22083 Self {
22084 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
22085 next: ptr::null_mut(),
22086 vertex_input_dynamic_state: Bool32::default(),
22087 }
22088 }
22089}
22090
22091unsafe impl Send for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22092unsafe impl Sync for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22093
22094#[repr(C)]
22096#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22097pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22098 pub s_type: StructureType,
22099 pub next: *mut c_void,
22100 pub video_decode_vp9: Bool32,
22101}
22102
22103impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22104 #[inline]
22105 fn default() -> Self {
22106 Self {
22107 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
22108 next: ptr::null_mut(),
22109 video_decode_vp9: Bool32::default(),
22110 }
22111 }
22112}
22113
22114unsafe impl Send for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22115unsafe impl Sync for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22116
22117#[repr(C)]
22119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22120pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22121 pub s_type: StructureType,
22122 pub next: *mut c_void,
22123 pub video_encode_av1: Bool32,
22124}
22125
22126impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22127 #[inline]
22128 fn default() -> Self {
22129 Self {
22130 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
22131 next: ptr::null_mut(),
22132 video_encode_av1: Bool32::default(),
22133 }
22134 }
22135}
22136
22137unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22138unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22139
22140#[repr(C)]
22142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22143pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22144 pub s_type: StructureType,
22145 pub next: *mut c_void,
22146 pub video_encode_intra_refresh: Bool32,
22147}
22148
22149impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22150 #[inline]
22151 fn default() -> Self {
22152 Self {
22153 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
22154 next: ptr::null_mut(),
22155 video_encode_intra_refresh: Bool32::default(),
22156 }
22157 }
22158}
22159
22160unsafe impl Send for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22161unsafe impl Sync for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22162
22163#[repr(C)]
22165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22166pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22167 pub s_type: StructureType,
22168 pub next: *const c_void,
22169 pub video_profile: *const VideoProfileInfoKHR,
22170 pub quality_level: u32,
22171}
22172
22173impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22174 #[inline]
22175 fn default() -> Self {
22176 Self {
22177 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
22178 next: ptr::null(),
22179 video_profile: ptr::null(),
22180 quality_level: u32::default(),
22181 }
22182 }
22183}
22184
22185unsafe impl Send for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
22186unsafe impl Sync for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
22187
22188#[repr(C)]
22190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22191pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
22192 pub s_type: StructureType,
22193 pub next: *mut c_void,
22194 pub video_encode_quantization_map: Bool32,
22195}
22196
22197impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
22198 #[inline]
22199 fn default() -> Self {
22200 Self {
22201 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
22202 next: ptr::null_mut(),
22203 video_encode_quantization_map: Bool32::default(),
22204 }
22205 }
22206}
22207
22208unsafe impl Send for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
22209unsafe impl Sync for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
22210
22211#[repr(C)]
22213#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22214pub struct PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
22215 pub s_type: StructureType,
22216 pub next: *mut c_void,
22217 pub video_encode_rgb_conversion: Bool32,
22218}
22219
22220impl Default for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
22221 #[inline]
22222 fn default() -> Self {
22223 Self {
22224 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
22225 next: ptr::null_mut(),
22226 video_encode_rgb_conversion: Bool32::default(),
22227 }
22228 }
22229}
22230
22231unsafe impl Send for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
22232unsafe impl Sync for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
22233
22234#[repr(C)]
22236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22237pub struct PhysicalDeviceVideoFormatInfoKHR {
22238 pub s_type: StructureType,
22239 pub next: *const c_void,
22240 pub image_usage: ImageUsageFlags,
22241}
22242
22243impl Default for PhysicalDeviceVideoFormatInfoKHR {
22244 #[inline]
22245 fn default() -> Self {
22246 Self {
22247 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
22248 next: ptr::null(),
22249 image_usage: ImageUsageFlags::default(),
22250 }
22251 }
22252}
22253
22254unsafe impl Send for PhysicalDeviceVideoFormatInfoKHR {}
22255unsafe impl Sync for PhysicalDeviceVideoFormatInfoKHR {}
22256
22257#[repr(C)]
22259#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22260pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
22261 pub s_type: StructureType,
22262 pub next: *mut c_void,
22263 pub video_maintenance1: Bool32,
22264}
22265
22266impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
22267 #[inline]
22268 fn default() -> Self {
22269 Self {
22270 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
22271 next: ptr::null_mut(),
22272 video_maintenance1: Bool32::default(),
22273 }
22274 }
22275}
22276
22277unsafe impl Send for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
22278unsafe impl Sync for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
22279
22280#[repr(C)]
22282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22283pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
22284 pub s_type: StructureType,
22285 pub next: *mut c_void,
22286 pub video_maintenance2: Bool32,
22287}
22288
22289impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
22290 #[inline]
22291 fn default() -> Self {
22292 Self {
22293 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
22294 next: ptr::null_mut(),
22295 video_maintenance2: Bool32::default(),
22296 }
22297 }
22298}
22299
22300unsafe impl Send for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
22301unsafe impl Sync for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
22302
22303#[repr(C)]
22305#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22306pub struct PhysicalDeviceVulkan11Features {
22307 pub s_type: StructureType,
22308 pub next: *mut c_void,
22309 pub storage_buffer_16bit_access: Bool32,
22310 pub uniform_and_storage_buffer_16bit_access: Bool32,
22311 pub storage_push_constant16: Bool32,
22312 pub storage_input_output16: Bool32,
22313 pub multiview: Bool32,
22314 pub multiview_geometry_shader: Bool32,
22315 pub multiview_tessellation_shader: Bool32,
22316 pub variable_pointers_storage_buffer: Bool32,
22317 pub variable_pointers: Bool32,
22318 pub protected_memory: Bool32,
22319 pub sampler_ycbcr_conversion: Bool32,
22320 pub shader_draw_parameters: Bool32,
22321}
22322
22323impl Default for PhysicalDeviceVulkan11Features {
22324 #[inline]
22325 fn default() -> Self {
22326 Self {
22327 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
22328 next: ptr::null_mut(),
22329 storage_buffer_16bit_access: Bool32::default(),
22330 uniform_and_storage_buffer_16bit_access: Bool32::default(),
22331 storage_push_constant16: Bool32::default(),
22332 storage_input_output16: Bool32::default(),
22333 multiview: Bool32::default(),
22334 multiview_geometry_shader: Bool32::default(),
22335 multiview_tessellation_shader: Bool32::default(),
22336 variable_pointers_storage_buffer: Bool32::default(),
22337 variable_pointers: Bool32::default(),
22338 protected_memory: Bool32::default(),
22339 sampler_ycbcr_conversion: Bool32::default(),
22340 shader_draw_parameters: Bool32::default(),
22341 }
22342 }
22343}
22344
22345unsafe impl Send for PhysicalDeviceVulkan11Features {}
22346unsafe impl Sync for PhysicalDeviceVulkan11Features {}
22347
22348#[repr(C)]
22350#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22351pub struct PhysicalDeviceVulkan11Properties {
22352 pub s_type: StructureType,
22353 pub next: *mut c_void,
22354 pub device_uuid: ByteArray<UUID_SIZE>,
22355 pub driver_uuid: ByteArray<UUID_SIZE>,
22356 pub device_luid: ByteArray<LUID_SIZE>,
22357 pub device_node_mask: u32,
22358 pub device_luid_valid: Bool32,
22359 pub subgroup_size: u32,
22360 pub subgroup_supported_stages: ShaderStageFlags,
22361 pub subgroup_supported_operations: SubgroupFeatureFlags,
22362 pub subgroup_quad_operations_in_all_stages: Bool32,
22363 pub point_clipping_behavior: PointClippingBehavior,
22364 pub max_multiview_view_count: u32,
22365 pub max_multiview_instance_index: u32,
22366 pub protected_no_fault: Bool32,
22367 pub max_per_set_descriptors: u32,
22368 pub max_memory_allocation_size: DeviceSize,
22369}
22370
22371impl Default for PhysicalDeviceVulkan11Properties {
22372 #[inline]
22373 fn default() -> Self {
22374 Self {
22375 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
22376 next: ptr::null_mut(),
22377 device_uuid: ByteArray::default(),
22378 driver_uuid: ByteArray::default(),
22379 device_luid: ByteArray::default(),
22380 device_node_mask: u32::default(),
22381 device_luid_valid: Bool32::default(),
22382 subgroup_size: u32::default(),
22383 subgroup_supported_stages: ShaderStageFlags::default(),
22384 subgroup_supported_operations: SubgroupFeatureFlags::default(),
22385 subgroup_quad_operations_in_all_stages: Bool32::default(),
22386 point_clipping_behavior: PointClippingBehavior::default(),
22387 max_multiview_view_count: u32::default(),
22388 max_multiview_instance_index: u32::default(),
22389 protected_no_fault: Bool32::default(),
22390 max_per_set_descriptors: u32::default(),
22391 max_memory_allocation_size: DeviceSize::default(),
22392 }
22393 }
22394}
22395
22396unsafe impl Send for PhysicalDeviceVulkan11Properties {}
22397unsafe impl Sync for PhysicalDeviceVulkan11Properties {}
22398
22399#[repr(C)]
22401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22402pub struct PhysicalDeviceVulkan12Features {
22403 pub s_type: StructureType,
22404 pub next: *mut c_void,
22405 pub sampler_mirror_clamp_to_edge: Bool32,
22406 pub draw_indirect_count: Bool32,
22407 pub storage_buffer_8bit_access: Bool32,
22408 pub uniform_and_storage_buffer_8bit_access: Bool32,
22409 pub storage_push_constant8: Bool32,
22410 pub shader_buffer_int64_atomics: Bool32,
22411 pub shader_shared_int64_atomics: Bool32,
22412 pub shader_float16: Bool32,
22413 pub shader_int8: Bool32,
22414 pub descriptor_indexing: Bool32,
22415 pub shader_input_attachment_array_dynamic_indexing: Bool32,
22416 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
22417 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
22418 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
22419 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
22420 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
22421 pub shader_storage_image_array_non_uniform_indexing: Bool32,
22422 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
22423 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
22424 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
22425 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
22426 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
22427 pub descriptor_binding_storage_image_update_after_bind: Bool32,
22428 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
22429 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
22430 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
22431 pub descriptor_binding_update_unused_while_pending: Bool32,
22432 pub descriptor_binding_partially_bound: Bool32,
22433 pub descriptor_binding_variable_descriptor_count: Bool32,
22434 pub runtime_descriptor_array: Bool32,
22435 pub sampler_filter_minmax: Bool32,
22436 pub scalar_block_layout: Bool32,
22437 pub imageless_framebuffer: Bool32,
22438 pub uniform_buffer_standard_layout: Bool32,
22439 pub shader_subgroup_extended_types: Bool32,
22440 pub separate_depth_stencil_layouts: Bool32,
22441 pub host_query_reset: Bool32,
22442 pub timeline_semaphore: Bool32,
22443 pub buffer_device_address: Bool32,
22444 pub buffer_device_address_capture_replay: Bool32,
22445 pub buffer_device_address_multi_device: Bool32,
22446 pub vulkan_memory_model: Bool32,
22447 pub vulkan_memory_model_device_scope: Bool32,
22448 pub vulkan_memory_model_availability_visibility_chains: Bool32,
22449 pub shader_output_viewport_index: Bool32,
22450 pub shader_output_layer: Bool32,
22451 pub subgroup_broadcast_dynamic_id: Bool32,
22452}
22453
22454impl Default for PhysicalDeviceVulkan12Features {
22455 #[inline]
22456 fn default() -> Self {
22457 Self {
22458 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
22459 next: ptr::null_mut(),
22460 sampler_mirror_clamp_to_edge: Bool32::default(),
22461 draw_indirect_count: Bool32::default(),
22462 storage_buffer_8bit_access: Bool32::default(),
22463 uniform_and_storage_buffer_8bit_access: Bool32::default(),
22464 storage_push_constant8: Bool32::default(),
22465 shader_buffer_int64_atomics: Bool32::default(),
22466 shader_shared_int64_atomics: Bool32::default(),
22467 shader_float16: Bool32::default(),
22468 shader_int8: Bool32::default(),
22469 descriptor_indexing: Bool32::default(),
22470 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
22471 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
22472 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
22473 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
22474 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
22475 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
22476 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
22477 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
22478 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
22479 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
22480 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
22481 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
22482 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
22483 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
22484 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
22485 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
22486 descriptor_binding_update_unused_while_pending: Bool32::default(),
22487 descriptor_binding_partially_bound: Bool32::default(),
22488 descriptor_binding_variable_descriptor_count: Bool32::default(),
22489 runtime_descriptor_array: Bool32::default(),
22490 sampler_filter_minmax: Bool32::default(),
22491 scalar_block_layout: Bool32::default(),
22492 imageless_framebuffer: Bool32::default(),
22493 uniform_buffer_standard_layout: Bool32::default(),
22494 shader_subgroup_extended_types: Bool32::default(),
22495 separate_depth_stencil_layouts: Bool32::default(),
22496 host_query_reset: Bool32::default(),
22497 timeline_semaphore: Bool32::default(),
22498 buffer_device_address: Bool32::default(),
22499 buffer_device_address_capture_replay: Bool32::default(),
22500 buffer_device_address_multi_device: Bool32::default(),
22501 vulkan_memory_model: Bool32::default(),
22502 vulkan_memory_model_device_scope: Bool32::default(),
22503 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
22504 shader_output_viewport_index: Bool32::default(),
22505 shader_output_layer: Bool32::default(),
22506 subgroup_broadcast_dynamic_id: Bool32::default(),
22507 }
22508 }
22509}
22510
22511unsafe impl Send for PhysicalDeviceVulkan12Features {}
22512unsafe impl Sync for PhysicalDeviceVulkan12Features {}
22513
22514#[repr(C)]
22516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22517pub struct PhysicalDeviceVulkan12Properties {
22518 pub s_type: StructureType,
22519 pub next: *mut c_void,
22520 pub driver_id: DriverId,
22521 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
22522 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
22523 pub conformance_version: ConformanceVersion,
22524 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
22525 pub rounding_mode_independence: ShaderFloatControlsIndependence,
22526 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
22527 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
22528 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
22529 pub shader_denorm_preserve_float16: Bool32,
22530 pub shader_denorm_preserve_float32: Bool32,
22531 pub shader_denorm_preserve_float64: Bool32,
22532 pub shader_denorm_flush_to_zero_float16: Bool32,
22533 pub shader_denorm_flush_to_zero_float32: Bool32,
22534 pub shader_denorm_flush_to_zero_float64: Bool32,
22535 pub shader_rounding_mode_rte_float16: Bool32,
22536 pub shader_rounding_mode_rte_float32: Bool32,
22537 pub shader_rounding_mode_rte_float64: Bool32,
22538 pub shader_rounding_mode_rtz_float16: Bool32,
22539 pub shader_rounding_mode_rtz_float32: Bool32,
22540 pub shader_rounding_mode_rtz_float64: Bool32,
22541 pub max_update_after_bind_descriptors_in_all_pools: u32,
22542 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
22543 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
22544 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
22545 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
22546 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
22547 pub robust_buffer_access_update_after_bind: Bool32,
22548 pub quad_divergent_implicit_lod: Bool32,
22549 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
22550 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
22551 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
22552 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
22553 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
22554 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
22555 pub max_per_stage_update_after_bind_resources: u32,
22556 pub max_descriptor_set_update_after_bind_samplers: u32,
22557 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
22558 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
22559 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
22560 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
22561 pub max_descriptor_set_update_after_bind_sampled_images: u32,
22562 pub max_descriptor_set_update_after_bind_storage_images: u32,
22563 pub max_descriptor_set_update_after_bind_input_attachments: u32,
22564 pub supported_depth_resolve_modes: ResolveModeFlags,
22565 pub supported_stencil_resolve_modes: ResolveModeFlags,
22566 pub independent_resolve_none: Bool32,
22567 pub independent_resolve: Bool32,
22568 pub filter_minmax_single_component_formats: Bool32,
22569 pub filter_minmax_image_component_mapping: Bool32,
22570 pub max_timeline_semaphore_value_difference: u64,
22571 pub framebuffer_integer_color_sample_counts: SampleCountFlags,
22572}
22573
22574impl Default for PhysicalDeviceVulkan12Properties {
22575 #[inline]
22576 fn default() -> Self {
22577 Self {
22578 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
22579 next: ptr::null_mut(),
22580 driver_id: DriverId::default(),
22581 driver_name: StringArray::default(),
22582 driver_info: StringArray::default(),
22583 conformance_version: ConformanceVersion::default(),
22584 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
22585 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
22586 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
22587 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
22588 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
22589 shader_denorm_preserve_float16: Bool32::default(),
22590 shader_denorm_preserve_float32: Bool32::default(),
22591 shader_denorm_preserve_float64: Bool32::default(),
22592 shader_denorm_flush_to_zero_float16: Bool32::default(),
22593 shader_denorm_flush_to_zero_float32: Bool32::default(),
22594 shader_denorm_flush_to_zero_float64: Bool32::default(),
22595 shader_rounding_mode_rte_float16: Bool32::default(),
22596 shader_rounding_mode_rte_float32: Bool32::default(),
22597 shader_rounding_mode_rte_float64: Bool32::default(),
22598 shader_rounding_mode_rtz_float16: Bool32::default(),
22599 shader_rounding_mode_rtz_float32: Bool32::default(),
22600 shader_rounding_mode_rtz_float64: Bool32::default(),
22601 max_update_after_bind_descriptors_in_all_pools: u32::default(),
22602 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
22603 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
22604 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
22605 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
22606 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
22607 robust_buffer_access_update_after_bind: Bool32::default(),
22608 quad_divergent_implicit_lod: Bool32::default(),
22609 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
22610 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
22611 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
22612 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
22613 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
22614 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
22615 max_per_stage_update_after_bind_resources: u32::default(),
22616 max_descriptor_set_update_after_bind_samplers: u32::default(),
22617 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
22618 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
22619 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
22620 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
22621 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
22622 max_descriptor_set_update_after_bind_storage_images: u32::default(),
22623 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
22624 supported_depth_resolve_modes: ResolveModeFlags::default(),
22625 supported_stencil_resolve_modes: ResolveModeFlags::default(),
22626 independent_resolve_none: Bool32::default(),
22627 independent_resolve: Bool32::default(),
22628 filter_minmax_single_component_formats: Bool32::default(),
22629 filter_minmax_image_component_mapping: Bool32::default(),
22630 max_timeline_semaphore_value_difference: u64::default(),
22631 framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
22632 }
22633 }
22634}
22635
22636unsafe impl Send for PhysicalDeviceVulkan12Properties {}
22637unsafe impl Sync for PhysicalDeviceVulkan12Properties {}
22638
22639#[repr(C)]
22641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22642pub struct PhysicalDeviceVulkan13Features {
22643 pub s_type: StructureType,
22644 pub next: *mut c_void,
22645 pub robust_image_access: Bool32,
22646 pub inline_uniform_block: Bool32,
22647 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
22648 pub pipeline_creation_cache_control: Bool32,
22649 pub private_data: Bool32,
22650 pub shader_demote_to_helper_invocation: Bool32,
22651 pub shader_terminate_invocation: Bool32,
22652 pub subgroup_size_control: Bool32,
22653 pub compute_full_subgroups: Bool32,
22654 pub synchronization2: Bool32,
22655 pub texture_compression_astc_hdr: Bool32,
22656 pub shader_zero_initialize_workgroup_memory: Bool32,
22657 pub dynamic_rendering: Bool32,
22658 pub shader_integer_dot_product: Bool32,
22659 pub maintenance4: Bool32,
22660}
22661
22662impl Default for PhysicalDeviceVulkan13Features {
22663 #[inline]
22664 fn default() -> Self {
22665 Self {
22666 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
22667 next: ptr::null_mut(),
22668 robust_image_access: Bool32::default(),
22669 inline_uniform_block: Bool32::default(),
22670 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
22671 pipeline_creation_cache_control: Bool32::default(),
22672 private_data: Bool32::default(),
22673 shader_demote_to_helper_invocation: Bool32::default(),
22674 shader_terminate_invocation: Bool32::default(),
22675 subgroup_size_control: Bool32::default(),
22676 compute_full_subgroups: Bool32::default(),
22677 synchronization2: Bool32::default(),
22678 texture_compression_astc_hdr: Bool32::default(),
22679 shader_zero_initialize_workgroup_memory: Bool32::default(),
22680 dynamic_rendering: Bool32::default(),
22681 shader_integer_dot_product: Bool32::default(),
22682 maintenance4: Bool32::default(),
22683 }
22684 }
22685}
22686
22687unsafe impl Send for PhysicalDeviceVulkan13Features {}
22688unsafe impl Sync for PhysicalDeviceVulkan13Features {}
22689
22690#[repr(C)]
22692#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22693pub struct PhysicalDeviceVulkan13Properties {
22694 pub s_type: StructureType,
22695 pub next: *mut c_void,
22696 pub min_subgroup_size: u32,
22697 pub max_subgroup_size: u32,
22698 pub max_compute_workgroup_subgroups: u32,
22699 pub required_subgroup_size_stages: ShaderStageFlags,
22700 pub max_inline_uniform_block_size: u32,
22701 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
22702 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
22703 pub max_descriptor_set_inline_uniform_blocks: u32,
22704 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
22705 pub max_inline_uniform_total_size: u32,
22706 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
22707 pub integer_dot_product_8bit_signed_accelerated: Bool32,
22708 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
22709 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
22710 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
22711 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
22712 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
22713 pub integer_dot_product_16bit_signed_accelerated: Bool32,
22714 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
22715 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
22716 pub integer_dot_product_32bit_signed_accelerated: Bool32,
22717 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
22718 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
22719 pub integer_dot_product_64bit_signed_accelerated: Bool32,
22720 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
22721 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
22722 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
22723 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
22724 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
22725 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
22726 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
22727 Bool32,
22728 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
22729 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
22730 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
22731 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
22732 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
22733 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
22734 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
22735 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
22736 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
22737 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
22738 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
22739 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
22740 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
22741 pub max_buffer_size: DeviceSize,
22742}
22743
22744impl Default for PhysicalDeviceVulkan13Properties {
22745 #[inline]
22746 fn default() -> Self {
22747 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() }
22748 }
22749}
22750
22751unsafe impl Send for PhysicalDeviceVulkan13Properties {}
22752unsafe impl Sync for PhysicalDeviceVulkan13Properties {}
22753
22754#[repr(C)]
22756#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22757pub struct PhysicalDeviceVulkan14Features {
22758 pub s_type: StructureType,
22759 pub next: *mut c_void,
22760 pub global_priority_query: Bool32,
22761 pub shader_subgroup_rotate: Bool32,
22762 pub shader_subgroup_rotate_clustered: Bool32,
22763 pub shader_float_controls2: Bool32,
22764 pub shader_expect_assume: Bool32,
22765 pub rectangular_lines: Bool32,
22766 pub bresenham_lines: Bool32,
22767 pub smooth_lines: Bool32,
22768 pub stippled_rectangular_lines: Bool32,
22769 pub stippled_bresenham_lines: Bool32,
22770 pub stippled_smooth_lines: Bool32,
22771 pub vertex_attribute_instance_rate_divisor: Bool32,
22772 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
22773 pub index_type_uint8: Bool32,
22774 pub dynamic_rendering_local_read: Bool32,
22775 pub maintenance5: Bool32,
22776 pub maintenance6: Bool32,
22777 pub pipeline_protected_access: Bool32,
22778 pub pipeline_robustness: Bool32,
22779 pub host_image_copy: Bool32,
22780 pub push_descriptor: Bool32,
22781}
22782
22783impl Default for PhysicalDeviceVulkan14Features {
22784 #[inline]
22785 fn default() -> Self {
22786 Self {
22787 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
22788 next: ptr::null_mut(),
22789 global_priority_query: Bool32::default(),
22790 shader_subgroup_rotate: Bool32::default(),
22791 shader_subgroup_rotate_clustered: Bool32::default(),
22792 shader_float_controls2: Bool32::default(),
22793 shader_expect_assume: Bool32::default(),
22794 rectangular_lines: Bool32::default(),
22795 bresenham_lines: Bool32::default(),
22796 smooth_lines: Bool32::default(),
22797 stippled_rectangular_lines: Bool32::default(),
22798 stippled_bresenham_lines: Bool32::default(),
22799 stippled_smooth_lines: Bool32::default(),
22800 vertex_attribute_instance_rate_divisor: Bool32::default(),
22801 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
22802 index_type_uint8: Bool32::default(),
22803 dynamic_rendering_local_read: Bool32::default(),
22804 maintenance5: Bool32::default(),
22805 maintenance6: Bool32::default(),
22806 pipeline_protected_access: Bool32::default(),
22807 pipeline_robustness: Bool32::default(),
22808 host_image_copy: Bool32::default(),
22809 push_descriptor: Bool32::default(),
22810 }
22811 }
22812}
22813
22814unsafe impl Send for PhysicalDeviceVulkan14Features {}
22815unsafe impl Sync for PhysicalDeviceVulkan14Features {}
22816
22817#[repr(C)]
22819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22820pub struct PhysicalDeviceVulkan14Properties {
22821 pub s_type: StructureType,
22822 pub next: *mut c_void,
22823 pub line_sub_pixel_precision_bits: u32,
22824 pub max_vertex_attrib_divisor: u32,
22825 pub supports_non_zero_first_instance: Bool32,
22826 pub max_push_descriptors: u32,
22827 pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
22828 pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
22829 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
22830 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
22831 pub depth_stencil_swizzle_one_support: Bool32,
22832 pub polygon_mode_point_size: Bool32,
22833 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
22834 pub non_strict_wide_lines_use_parallelogram: Bool32,
22835 pub block_texel_view_compatible_multiple_layers: Bool32,
22836 pub max_combined_image_sampler_descriptor_count: u32,
22837 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
22838 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
22839 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
22840 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
22841 pub default_robustness_images: PipelineRobustnessImageBehavior,
22842 pub copy_src_layout_count: u32,
22843 pub copy_src_layouts: *mut ImageLayout,
22844 pub copy_dst_layout_count: u32,
22845 pub copy_dst_layouts: *mut ImageLayout,
22846 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
22847 pub identical_memory_type_requirements: Bool32,
22848}
22849
22850impl Default for PhysicalDeviceVulkan14Properties {
22851 #[inline]
22852 fn default() -> Self {
22853 Self {
22854 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
22855 next: ptr::null_mut(),
22856 line_sub_pixel_precision_bits: u32::default(),
22857 max_vertex_attrib_divisor: u32::default(),
22858 supports_non_zero_first_instance: Bool32::default(),
22859 max_push_descriptors: u32::default(),
22860 dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
22861 dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
22862 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
22863 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
22864 depth_stencil_swizzle_one_support: Bool32::default(),
22865 polygon_mode_point_size: Bool32::default(),
22866 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
22867 non_strict_wide_lines_use_parallelogram: Bool32::default(),
22868 block_texel_view_compatible_multiple_layers: Bool32::default(),
22869 max_combined_image_sampler_descriptor_count: u32::default(),
22870 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
22871 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
22872 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
22873 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
22874 default_robustness_images: PipelineRobustnessImageBehavior::default(),
22875 copy_src_layout_count: u32::default(),
22876 copy_src_layouts: ptr::null_mut(),
22877 copy_dst_layout_count: u32::default(),
22878 copy_dst_layouts: ptr::null_mut(),
22879 optimal_tiling_layout_uuid: ByteArray::default(),
22880 identical_memory_type_requirements: Bool32::default(),
22881 }
22882 }
22883}
22884
22885unsafe impl Send for PhysicalDeviceVulkan14Properties {}
22886unsafe impl Sync for PhysicalDeviceVulkan14Properties {}
22887
22888#[repr(C)]
22890#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22891pub struct PhysicalDeviceVulkanMemoryModelFeatures {
22892 pub s_type: StructureType,
22893 pub next: *mut c_void,
22894 pub vulkan_memory_model: Bool32,
22895 pub vulkan_memory_model_device_scope: Bool32,
22896 pub vulkan_memory_model_availability_visibility_chains: Bool32,
22897}
22898
22899impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
22900 #[inline]
22901 fn default() -> Self {
22902 Self {
22903 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
22904 next: ptr::null_mut(),
22905 vulkan_memory_model: Bool32::default(),
22906 vulkan_memory_model_device_scope: Bool32::default(),
22907 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
22908 }
22909 }
22910}
22911
22912unsafe impl Send for PhysicalDeviceVulkanMemoryModelFeatures {}
22913unsafe impl Sync for PhysicalDeviceVulkanMemoryModelFeatures {}
22914
22915#[repr(C)]
22917#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22918pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
22919 pub s_type: StructureType,
22920 pub next: *mut c_void,
22921 pub workgroup_memory_explicit_layout: Bool32,
22922 pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
22923 pub workgroup_memory_explicit_layout_8bit_access: Bool32,
22924 pub workgroup_memory_explicit_layout_16bit_access: Bool32,
22925}
22926
22927impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
22928 #[inline]
22929 fn default() -> Self {
22930 Self {
22931 s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
22932 next: ptr::null_mut(),
22933 workgroup_memory_explicit_layout: Bool32::default(),
22934 workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
22935 workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
22936 workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
22937 }
22938 }
22939}
22940
22941unsafe impl Send for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
22942unsafe impl Sync for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
22943
22944#[repr(C)]
22946#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22947pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
22948 pub s_type: StructureType,
22949 pub next: *mut c_void,
22950 pub ycbcr2plane444_formats: Bool32,
22951}
22952
22953impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
22954 #[inline]
22955 fn default() -> Self {
22956 Self {
22957 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
22958 next: ptr::null_mut(),
22959 ycbcr2plane444_formats: Bool32::default(),
22960 }
22961 }
22962}
22963
22964unsafe impl Send for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
22965unsafe impl Sync for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
22966
22967#[repr(C)]
22969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22970pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
22971 pub s_type: StructureType,
22972 pub next: *mut c_void,
22973 pub ycbcr_degamma: Bool32,
22974}
22975
22976impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
22977 #[inline]
22978 fn default() -> Self {
22979 Self {
22980 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
22981 next: ptr::null_mut(),
22982 ycbcr_degamma: Bool32::default(),
22983 }
22984 }
22985}
22986
22987unsafe impl Send for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
22988unsafe impl Sync for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
22989
22990#[repr(C)]
22992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22993pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
22994 pub s_type: StructureType,
22995 pub next: *mut c_void,
22996 pub ycbcr_image_arrays: Bool32,
22997}
22998
22999impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23000 #[inline]
23001 fn default() -> Self {
23002 Self {
23003 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
23004 next: ptr::null_mut(),
23005 ycbcr_image_arrays: Bool32::default(),
23006 }
23007 }
23008}
23009
23010unsafe impl Send for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23011unsafe impl Sync for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23012
23013#[repr(C)]
23015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23016pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23017 pub s_type: StructureType,
23018 pub next: *mut c_void,
23019 pub zero_initialize_device_memory: Bool32,
23020}
23021
23022impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23023 #[inline]
23024 fn default() -> Self {
23025 Self {
23026 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
23027 next: ptr::null_mut(),
23028 zero_initialize_device_memory: Bool32::default(),
23029 }
23030 }
23031}
23032
23033unsafe impl Send for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23034unsafe impl Sync for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23035
23036#[repr(C)]
23038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23039pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23040 pub s_type: StructureType,
23041 pub next: *mut c_void,
23042 pub shader_zero_initialize_workgroup_memory: Bool32,
23043}
23044
23045impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23046 #[inline]
23047 fn default() -> Self {
23048 Self {
23049 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
23050 next: ptr::null_mut(),
23051 shader_zero_initialize_workgroup_memory: Bool32::default(),
23052 }
23053 }
23054}
23055
23056unsafe impl Send for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23057unsafe impl Sync for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23058
23059#[repr(C)]
23061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23062pub struct PipelineBinaryCreateInfoKHR {
23063 pub s_type: StructureType,
23064 pub next: *const c_void,
23065 pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
23066 pub pipeline: Pipeline,
23067 pub pipeline_create_info: *const PipelineCreateInfoKHR,
23068}
23069
23070impl Default for PipelineBinaryCreateInfoKHR {
23071 #[inline]
23072 fn default() -> Self {
23073 Self {
23074 s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
23075 next: ptr::null(),
23076 keys_and_data_info: ptr::null(),
23077 pipeline: Pipeline::default(),
23078 pipeline_create_info: ptr::null(),
23079 }
23080 }
23081}
23082
23083unsafe impl Send for PipelineBinaryCreateInfoKHR {}
23084unsafe impl Sync for PipelineBinaryCreateInfoKHR {}
23085
23086#[repr(C)]
23088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23089pub struct PipelineBinaryDataInfoKHR {
23090 pub s_type: StructureType,
23091 pub next: *mut c_void,
23092 pub pipeline_binary: PipelineBinaryKHR,
23093}
23094
23095impl Default for PipelineBinaryDataInfoKHR {
23096 #[inline]
23097 fn default() -> Self {
23098 Self {
23099 s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
23100 next: ptr::null_mut(),
23101 pipeline_binary: PipelineBinaryKHR::default(),
23102 }
23103 }
23104}
23105
23106unsafe impl Send for PipelineBinaryDataInfoKHR {}
23107unsafe impl Sync for PipelineBinaryDataInfoKHR {}
23108
23109#[repr(C)]
23111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23112pub struct PipelineBinaryDataKHR {
23113 pub data_size: usize,
23114 pub data: *mut c_void,
23115}
23116
23117impl Default for PipelineBinaryDataKHR {
23118 #[inline]
23119 fn default() -> Self {
23120 Self {
23121 data_size: usize::default(),
23122 data: ptr::null_mut(),
23123 }
23124 }
23125}
23126
23127unsafe impl Send for PipelineBinaryDataKHR {}
23128unsafe impl Sync for PipelineBinaryDataKHR {}
23129
23130#[repr(C)]
23132#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23133pub struct PipelineBinaryHandlesInfoKHR {
23134 pub s_type: StructureType,
23135 pub next: *const c_void,
23136 pub pipeline_binary_count: u32,
23137 pub pipeline_binaries: *mut PipelineBinaryKHR,
23138}
23139
23140impl Default for PipelineBinaryHandlesInfoKHR {
23141 #[inline]
23142 fn default() -> Self {
23143 Self {
23144 s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
23145 next: ptr::null(),
23146 pipeline_binary_count: u32::default(),
23147 pipeline_binaries: ptr::null_mut(),
23148 }
23149 }
23150}
23151
23152unsafe impl Send for PipelineBinaryHandlesInfoKHR {}
23153unsafe impl Sync for PipelineBinaryHandlesInfoKHR {}
23154
23155#[repr(C)]
23157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23158pub struct PipelineBinaryInfoKHR {
23159 pub s_type: StructureType,
23160 pub next: *const c_void,
23161 pub binary_count: u32,
23162 pub pipeline_binaries: *const PipelineBinaryKHR,
23163}
23164
23165impl Default for PipelineBinaryInfoKHR {
23166 #[inline]
23167 fn default() -> Self {
23168 Self {
23169 s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
23170 next: ptr::null(),
23171 binary_count: u32::default(),
23172 pipeline_binaries: ptr::null(),
23173 }
23174 }
23175}
23176
23177unsafe impl Send for PipelineBinaryInfoKHR {}
23178unsafe impl Sync for PipelineBinaryInfoKHR {}
23179
23180#[repr(C)]
23182#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23183pub struct PipelineBinaryKeyKHR {
23184 pub s_type: StructureType,
23185 pub next: *mut c_void,
23186 pub key_size: u32,
23187 pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
23188}
23189
23190impl Default for PipelineBinaryKeyKHR {
23191 #[inline]
23192 fn default() -> Self {
23193 Self {
23194 s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
23195 next: ptr::null_mut(),
23196 key_size: u32::default(),
23197 key: ByteArray::default(),
23198 }
23199 }
23200}
23201
23202unsafe impl Send for PipelineBinaryKeyKHR {}
23203unsafe impl Sync for PipelineBinaryKeyKHR {}
23204
23205#[repr(C)]
23207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23208pub struct PipelineBinaryKeysAndDataKHR {
23209 pub binary_count: u32,
23210 pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
23211 pub pipeline_binary_data: *const PipelineBinaryDataKHR,
23212}
23213
23214impl Default for PipelineBinaryKeysAndDataKHR {
23215 #[inline]
23216 fn default() -> Self {
23217 Self {
23218 binary_count: u32::default(),
23219 pipeline_binary_keys: ptr::null(),
23220 pipeline_binary_data: ptr::null(),
23221 }
23222 }
23223}
23224
23225unsafe impl Send for PipelineBinaryKeysAndDataKHR {}
23226unsafe impl Sync for PipelineBinaryKeysAndDataKHR {}
23227
23228#[repr(C)]
23230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23231pub struct PipelineCacheCreateInfo {
23232 pub s_type: StructureType,
23233 pub next: *const c_void,
23234 pub flags: PipelineCacheCreateFlags,
23235 pub initial_data_size: usize,
23236 pub initial_data: *const c_void,
23237}
23238
23239impl Default for PipelineCacheCreateInfo {
23240 #[inline]
23241 fn default() -> Self {
23242 Self {
23243 s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
23244 next: ptr::null(),
23245 flags: PipelineCacheCreateFlags::default(),
23246 initial_data_size: usize::default(),
23247 initial_data: ptr::null(),
23248 }
23249 }
23250}
23251
23252unsafe impl Send for PipelineCacheCreateInfo {}
23253unsafe impl Sync for PipelineCacheCreateInfo {}
23254
23255#[repr(C)]
23257#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23258pub struct PipelineCacheHeaderVersionOne {
23259 pub header_size: u32,
23260 pub header_version: PipelineCacheHeaderVersion,
23261 pub vendor_id: u32,
23262 pub device_id: u32,
23263 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
23264}
23265
23266#[repr(C)]
23268#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23269pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
23270 pub s_type: StructureType,
23271 pub next: *const c_void,
23272 pub src_premultiplied: Bool32,
23273 pub dst_premultiplied: Bool32,
23274 pub blend_overlap: BlendOverlapEXT,
23275}
23276
23277impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
23278 #[inline]
23279 fn default() -> Self {
23280 Self {
23281 s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
23282 next: ptr::null(),
23283 src_premultiplied: Bool32::default(),
23284 dst_premultiplied: Bool32::default(),
23285 blend_overlap: BlendOverlapEXT::default(),
23286 }
23287 }
23288}
23289
23290unsafe impl Send for PipelineColorBlendAdvancedStateCreateInfoEXT {}
23291unsafe impl Sync for PipelineColorBlendAdvancedStateCreateInfoEXT {}
23292
23293#[repr(C)]
23295#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23296pub struct PipelineColorBlendAttachmentState {
23297 pub blend_enable: Bool32,
23298 pub src_color_blend_factor: BlendFactor,
23299 pub dst_color_blend_factor: BlendFactor,
23300 pub color_blend_op: BlendOp,
23301 pub src_alpha_blend_factor: BlendFactor,
23302 pub dst_alpha_blend_factor: BlendFactor,
23303 pub alpha_blend_op: BlendOp,
23304 pub color_write_mask: ColorComponentFlags,
23305}
23306
23307#[repr(C)]
23309#[derive(Copy, Clone, Debug, PartialEq)]
23310pub struct PipelineColorBlendStateCreateInfo {
23311 pub s_type: StructureType,
23312 pub next: *const c_void,
23313 pub flags: PipelineColorBlendStateCreateFlags,
23314 pub logic_op_enable: Bool32,
23315 pub logic_op: LogicOp,
23316 pub attachment_count: u32,
23317 pub attachments: *const PipelineColorBlendAttachmentState,
23318 pub blend_constants: [f32; 4],
23319}
23320
23321impl Default for PipelineColorBlendStateCreateInfo {
23322 #[inline]
23323 fn default() -> Self {
23324 Self {
23325 s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
23326 next: ptr::null(),
23327 flags: PipelineColorBlendStateCreateFlags::default(),
23328 logic_op_enable: Bool32::default(),
23329 logic_op: LogicOp::default(),
23330 attachment_count: u32::default(),
23331 attachments: ptr::null(),
23332 blend_constants: [f32::default(); 4],
23333 }
23334 }
23335}
23336
23337unsafe impl Send for PipelineColorBlendStateCreateInfo {}
23338unsafe impl Sync for PipelineColorBlendStateCreateInfo {}
23339
23340#[repr(C)]
23342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23343pub struct PipelineColorWriteCreateInfoEXT {
23344 pub s_type: StructureType,
23345 pub next: *const c_void,
23346 pub attachment_count: u32,
23347 pub color_write_enables: *const Bool32,
23348}
23349
23350impl Default for PipelineColorWriteCreateInfoEXT {
23351 #[inline]
23352 fn default() -> Self {
23353 Self {
23354 s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
23355 next: ptr::null(),
23356 attachment_count: u32::default(),
23357 color_write_enables: ptr::null(),
23358 }
23359 }
23360}
23361
23362unsafe impl Send for PipelineColorWriteCreateInfoEXT {}
23363unsafe impl Sync for PipelineColorWriteCreateInfoEXT {}
23364
23365#[repr(C)]
23367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23368pub struct PipelineCompilerControlCreateInfoAMD {
23369 pub s_type: StructureType,
23370 pub next: *const c_void,
23371 pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
23372}
23373
23374impl Default for PipelineCompilerControlCreateInfoAMD {
23375 #[inline]
23376 fn default() -> Self {
23377 Self {
23378 s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
23379 next: ptr::null(),
23380 compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
23381 }
23382 }
23383}
23384
23385unsafe impl Send for PipelineCompilerControlCreateInfoAMD {}
23386unsafe impl Sync for PipelineCompilerControlCreateInfoAMD {}
23387
23388#[repr(C)]
23390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23391pub struct PipelineCoverageModulationStateCreateInfoNV {
23392 pub s_type: StructureType,
23393 pub next: *const c_void,
23394 pub flags: PipelineCoverageModulationStateCreateFlagsNV,
23395 pub coverage_modulation_mode: CoverageModulationModeNV,
23396 pub coverage_modulation_table_enable: Bool32,
23397 pub coverage_modulation_table_count: u32,
23398 pub coverage_modulation_table: *const f32,
23399}
23400
23401impl Default for PipelineCoverageModulationStateCreateInfoNV {
23402 #[inline]
23403 fn default() -> Self {
23404 Self {
23405 s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
23406 next: ptr::null(),
23407 flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
23408 coverage_modulation_mode: CoverageModulationModeNV::default(),
23409 coverage_modulation_table_enable: Bool32::default(),
23410 coverage_modulation_table_count: u32::default(),
23411 coverage_modulation_table: ptr::null(),
23412 }
23413 }
23414}
23415
23416unsafe impl Send for PipelineCoverageModulationStateCreateInfoNV {}
23417unsafe impl Sync for PipelineCoverageModulationStateCreateInfoNV {}
23418
23419#[repr(C)]
23421#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23422pub struct PipelineCoverageReductionStateCreateInfoNV {
23423 pub s_type: StructureType,
23424 pub next: *const c_void,
23425 pub flags: PipelineCoverageReductionStateCreateFlagsNV,
23426 pub coverage_reduction_mode: CoverageReductionModeNV,
23427}
23428
23429impl Default for PipelineCoverageReductionStateCreateInfoNV {
23430 #[inline]
23431 fn default() -> Self {
23432 Self {
23433 s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
23434 next: ptr::null(),
23435 flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
23436 coverage_reduction_mode: CoverageReductionModeNV::default(),
23437 }
23438 }
23439}
23440
23441unsafe impl Send for PipelineCoverageReductionStateCreateInfoNV {}
23442unsafe impl Sync for PipelineCoverageReductionStateCreateInfoNV {}
23443
23444#[repr(C)]
23446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23447pub struct PipelineCoverageToColorStateCreateInfoNV {
23448 pub s_type: StructureType,
23449 pub next: *const c_void,
23450 pub flags: PipelineCoverageToColorStateCreateFlagsNV,
23451 pub coverage_to_color_enable: Bool32,
23452 pub coverage_to_color_location: u32,
23453}
23454
23455impl Default for PipelineCoverageToColorStateCreateInfoNV {
23456 #[inline]
23457 fn default() -> Self {
23458 Self {
23459 s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
23460 next: ptr::null(),
23461 flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
23462 coverage_to_color_enable: Bool32::default(),
23463 coverage_to_color_location: u32::default(),
23464 }
23465 }
23466}
23467
23468unsafe impl Send for PipelineCoverageToColorStateCreateInfoNV {}
23469unsafe impl Sync for PipelineCoverageToColorStateCreateInfoNV {}
23470
23471#[repr(C)]
23473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23474pub struct PipelineCreateFlags2CreateInfo {
23475 pub s_type: StructureType,
23476 pub next: *const c_void,
23477 pub flags: PipelineCreateFlags2,
23478}
23479
23480impl Default for PipelineCreateFlags2CreateInfo {
23481 #[inline]
23482 fn default() -> Self {
23483 Self {
23484 s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
23485 next: ptr::null(),
23486 flags: PipelineCreateFlags2::default(),
23487 }
23488 }
23489}
23490
23491unsafe impl Send for PipelineCreateFlags2CreateInfo {}
23492unsafe impl Sync for PipelineCreateFlags2CreateInfo {}
23493
23494#[repr(C)]
23496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23497pub struct PipelineCreateInfoKHR {
23498 pub s_type: StructureType,
23499 pub next: *mut c_void,
23500}
23501
23502impl Default for PipelineCreateInfoKHR {
23503 #[inline]
23504 fn default() -> Self {
23505 Self {
23506 s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
23507 next: ptr::null_mut(),
23508 }
23509 }
23510}
23511
23512unsafe impl Send for PipelineCreateInfoKHR {}
23513unsafe impl Sync for PipelineCreateInfoKHR {}
23514
23515#[repr(C)]
23517#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23518pub struct PipelineCreationFeedback {
23519 pub flags: PipelineCreationFeedbackFlags,
23520 pub duration: u64,
23521}
23522
23523#[repr(C)]
23525#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23526pub struct PipelineCreationFeedbackCreateInfo {
23527 pub s_type: StructureType,
23528 pub next: *const c_void,
23529 pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
23530 pub pipeline_stage_creation_feedback_count: u32,
23531 pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
23532}
23533
23534impl Default for PipelineCreationFeedbackCreateInfo {
23535 #[inline]
23536 fn default() -> Self {
23537 Self {
23538 s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
23539 next: ptr::null(),
23540 pipeline_creation_feedback: ptr::null_mut(),
23541 pipeline_stage_creation_feedback_count: u32::default(),
23542 pipeline_stage_creation_feedbacks: ptr::null_mut(),
23543 }
23544 }
23545}
23546
23547unsafe impl Send for PipelineCreationFeedbackCreateInfo {}
23548unsafe impl Sync for PipelineCreationFeedbackCreateInfo {}
23549
23550#[repr(C)]
23552#[derive(Copy, Clone, Debug, PartialEq)]
23553pub struct PipelineDepthStencilStateCreateInfo {
23554 pub s_type: StructureType,
23555 pub next: *const c_void,
23556 pub flags: PipelineDepthStencilStateCreateFlags,
23557 pub depth_test_enable: Bool32,
23558 pub depth_write_enable: Bool32,
23559 pub depth_compare_op: CompareOp,
23560 pub depth_bounds_test_enable: Bool32,
23561 pub stencil_test_enable: Bool32,
23562 pub front: StencilOpState,
23563 pub back: StencilOpState,
23564 pub min_depth_bounds: f32,
23565 pub max_depth_bounds: f32,
23566}
23567
23568impl Default for PipelineDepthStencilStateCreateInfo {
23569 #[inline]
23570 fn default() -> Self {
23571 Self {
23572 s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
23573 next: ptr::null(),
23574 flags: PipelineDepthStencilStateCreateFlags::default(),
23575 depth_test_enable: Bool32::default(),
23576 depth_write_enable: Bool32::default(),
23577 depth_compare_op: CompareOp::default(),
23578 depth_bounds_test_enable: Bool32::default(),
23579 stencil_test_enable: Bool32::default(),
23580 front: StencilOpState::default(),
23581 back: StencilOpState::default(),
23582 min_depth_bounds: f32::default(),
23583 max_depth_bounds: f32::default(),
23584 }
23585 }
23586}
23587
23588unsafe impl Send for PipelineDepthStencilStateCreateInfo {}
23589unsafe impl Sync for PipelineDepthStencilStateCreateInfo {}
23590
23591#[repr(C)]
23593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23594pub struct PipelineDiscardRectangleStateCreateInfoEXT {
23595 pub s_type: StructureType,
23596 pub next: *const c_void,
23597 pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
23598 pub discard_rectangle_mode: DiscardRectangleModeEXT,
23599 pub discard_rectangle_count: u32,
23600 pub discard_rectangles: *const Rect2D,
23601}
23602
23603impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
23604 #[inline]
23605 fn default() -> Self {
23606 Self {
23607 s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
23608 next: ptr::null(),
23609 flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
23610 discard_rectangle_mode: DiscardRectangleModeEXT::default(),
23611 discard_rectangle_count: u32::default(),
23612 discard_rectangles: ptr::null(),
23613 }
23614 }
23615}
23616
23617unsafe impl Send for PipelineDiscardRectangleStateCreateInfoEXT {}
23618unsafe impl Sync for PipelineDiscardRectangleStateCreateInfoEXT {}
23619
23620#[repr(C)]
23622#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23623pub struct PipelineDynamicStateCreateInfo {
23624 pub s_type: StructureType,
23625 pub next: *const c_void,
23626 pub flags: PipelineDynamicStateCreateFlags,
23627 pub dynamic_state_count: u32,
23628 pub dynamic_states: *const DynamicState,
23629}
23630
23631impl Default for PipelineDynamicStateCreateInfo {
23632 #[inline]
23633 fn default() -> Self {
23634 Self {
23635 s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
23636 next: ptr::null(),
23637 flags: PipelineDynamicStateCreateFlags::default(),
23638 dynamic_state_count: u32::default(),
23639 dynamic_states: ptr::null(),
23640 }
23641 }
23642}
23643
23644unsafe impl Send for PipelineDynamicStateCreateInfo {}
23645unsafe impl Sync for PipelineDynamicStateCreateInfo {}
23646
23647#[repr(C)]
23649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23650pub struct PipelineExecutableInfoKHR {
23651 pub s_type: StructureType,
23652 pub next: *const c_void,
23653 pub pipeline: Pipeline,
23654 pub executable_index: u32,
23655}
23656
23657impl Default for PipelineExecutableInfoKHR {
23658 #[inline]
23659 fn default() -> Self {
23660 Self {
23661 s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
23662 next: ptr::null(),
23663 pipeline: Pipeline::default(),
23664 executable_index: u32::default(),
23665 }
23666 }
23667}
23668
23669unsafe impl Send for PipelineExecutableInfoKHR {}
23670unsafe impl Sync for PipelineExecutableInfoKHR {}
23671
23672#[repr(C)]
23674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23675pub struct PipelineExecutableInternalRepresentationKHR {
23676 pub s_type: StructureType,
23677 pub next: *mut c_void,
23678 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
23679 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
23680 pub is_text: Bool32,
23681 pub data_size: usize,
23682 pub data: *mut c_void,
23683}
23684
23685impl Default for PipelineExecutableInternalRepresentationKHR {
23686 #[inline]
23687 fn default() -> Self {
23688 Self {
23689 s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
23690 next: ptr::null_mut(),
23691 name: StringArray::default(),
23692 description: StringArray::default(),
23693 is_text: Bool32::default(),
23694 data_size: usize::default(),
23695 data: ptr::null_mut(),
23696 }
23697 }
23698}
23699
23700unsafe impl Send for PipelineExecutableInternalRepresentationKHR {}
23701unsafe impl Sync for PipelineExecutableInternalRepresentationKHR {}
23702
23703#[repr(C)]
23705#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23706pub struct PipelineExecutablePropertiesKHR {
23707 pub s_type: StructureType,
23708 pub next: *mut c_void,
23709 pub stages: ShaderStageFlags,
23710 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
23711 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
23712 pub subgroup_size: u32,
23713}
23714
23715impl Default for PipelineExecutablePropertiesKHR {
23716 #[inline]
23717 fn default() -> Self {
23718 Self {
23719 s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
23720 next: ptr::null_mut(),
23721 stages: ShaderStageFlags::default(),
23722 name: StringArray::default(),
23723 description: StringArray::default(),
23724 subgroup_size: u32::default(),
23725 }
23726 }
23727}
23728
23729unsafe impl Send for PipelineExecutablePropertiesKHR {}
23730unsafe impl Sync for PipelineExecutablePropertiesKHR {}
23731
23732#[repr(C)]
23734#[derive(Copy, Clone, Debug)]
23735pub struct PipelineExecutableStatisticKHR {
23736 pub s_type: StructureType,
23737 pub next: *mut c_void,
23738 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
23739 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
23740 pub format: PipelineExecutableStatisticFormatKHR,
23741 pub value: PipelineExecutableStatisticValueKHR,
23742}
23743
23744impl Default for PipelineExecutableStatisticKHR {
23745 #[inline]
23746 fn default() -> Self {
23747 Self {
23748 s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
23749 next: ptr::null_mut(),
23750 name: StringArray::default(),
23751 description: StringArray::default(),
23752 format: PipelineExecutableStatisticFormatKHR::default(),
23753 value: PipelineExecutableStatisticValueKHR::default(),
23754 }
23755 }
23756}
23757
23758unsafe impl Send for PipelineExecutableStatisticKHR {}
23759unsafe impl Sync for PipelineExecutableStatisticKHR {}
23760
23761#[repr(C)]
23763#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23764pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
23765 pub s_type: StructureType,
23766 pub next: *const c_void,
23767 pub max_fragment_density_map_layers: u32,
23768}
23769
23770impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
23771 #[inline]
23772 fn default() -> Self {
23773 Self {
23774 s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
23775 next: ptr::null(),
23776 max_fragment_density_map_layers: u32::default(),
23777 }
23778 }
23779}
23780
23781unsafe impl Send for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
23782unsafe impl Sync for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
23783
23784#[repr(C)]
23786#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23787pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
23788 pub s_type: StructureType,
23789 pub next: *const c_void,
23790 pub shading_rate_type: FragmentShadingRateTypeNV,
23791 pub shading_rate: FragmentShadingRateNV,
23792 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
23793}
23794
23795impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
23796 #[inline]
23797 fn default() -> Self {
23798 Self {
23799 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
23800 next: ptr::null(),
23801 shading_rate_type: FragmentShadingRateTypeNV::default(),
23802 shading_rate: FragmentShadingRateNV::default(),
23803 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
23804 }
23805 }
23806}
23807
23808unsafe impl Send for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
23809unsafe impl Sync for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
23810
23811#[repr(C)]
23813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23814pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
23815 pub s_type: StructureType,
23816 pub next: *const c_void,
23817 pub fragment_size: Extent2D,
23818 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
23819}
23820
23821impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
23822 #[inline]
23823 fn default() -> Self {
23824 Self {
23825 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
23826 next: ptr::null(),
23827 fragment_size: Extent2D::default(),
23828 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
23829 }
23830 }
23831}
23832
23833unsafe impl Send for PipelineFragmentShadingRateStateCreateInfoKHR {}
23834unsafe impl Sync for PipelineFragmentShadingRateStateCreateInfoKHR {}
23835
23836#[repr(C)]
23838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23839pub struct PipelineIndirectDeviceAddressInfoNV {
23840 pub s_type: StructureType,
23841 pub next: *const c_void,
23842 pub pipeline_bind_point: PipelineBindPoint,
23843 pub pipeline: Pipeline,
23844}
23845
23846impl Default for PipelineIndirectDeviceAddressInfoNV {
23847 #[inline]
23848 fn default() -> Self {
23849 Self {
23850 s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
23851 next: ptr::null(),
23852 pipeline_bind_point: PipelineBindPoint::default(),
23853 pipeline: Pipeline::default(),
23854 }
23855 }
23856}
23857
23858unsafe impl Send for PipelineIndirectDeviceAddressInfoNV {}
23859unsafe impl Sync for PipelineIndirectDeviceAddressInfoNV {}
23860
23861#[repr(C)]
23863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23864pub struct PipelineInfoKHR {
23865 pub s_type: StructureType,
23866 pub next: *const c_void,
23867 pub pipeline: Pipeline,
23868}
23869
23870impl Default for PipelineInfoKHR {
23871 #[inline]
23872 fn default() -> Self {
23873 Self {
23874 s_type: StructureType::PIPELINE_INFO_KHR,
23875 next: ptr::null(),
23876 pipeline: Pipeline::default(),
23877 }
23878 }
23879}
23880
23881unsafe impl Send for PipelineInfoKHR {}
23882unsafe impl Sync for PipelineInfoKHR {}
23883
23884#[repr(C)]
23886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23887pub struct PipelineInputAssemblyStateCreateInfo {
23888 pub s_type: StructureType,
23889 pub next: *const c_void,
23890 pub flags: PipelineInputAssemblyStateCreateFlags,
23891 pub topology: PrimitiveTopology,
23892 pub primitive_restart_enable: Bool32,
23893}
23894
23895impl Default for PipelineInputAssemblyStateCreateInfo {
23896 #[inline]
23897 fn default() -> Self {
23898 Self {
23899 s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
23900 next: ptr::null(),
23901 flags: PipelineInputAssemblyStateCreateFlags::default(),
23902 topology: PrimitiveTopology::default(),
23903 primitive_restart_enable: Bool32::default(),
23904 }
23905 }
23906}
23907
23908unsafe impl Send for PipelineInputAssemblyStateCreateInfo {}
23909unsafe impl Sync for PipelineInputAssemblyStateCreateInfo {}
23910
23911#[repr(C)]
23913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23914pub struct PipelineLayoutCreateInfo {
23915 pub s_type: StructureType,
23916 pub next: *const c_void,
23917 pub flags: PipelineLayoutCreateFlags,
23918 pub set_layout_count: u32,
23919 pub set_layouts: *const DescriptorSetLayout,
23920 pub push_constant_range_count: u32,
23921 pub push_constant_ranges: *const PushConstantRange,
23922}
23923
23924impl Default for PipelineLayoutCreateInfo {
23925 #[inline]
23926 fn default() -> Self {
23927 Self {
23928 s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
23929 next: ptr::null(),
23930 flags: PipelineLayoutCreateFlags::default(),
23931 set_layout_count: u32::default(),
23932 set_layouts: ptr::null(),
23933 push_constant_range_count: u32::default(),
23934 push_constant_ranges: ptr::null(),
23935 }
23936 }
23937}
23938
23939unsafe impl Send for PipelineLayoutCreateInfo {}
23940unsafe impl Sync for PipelineLayoutCreateInfo {}
23941
23942#[repr(C)]
23944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23945pub struct PipelineLibraryCreateInfoKHR {
23946 pub s_type: StructureType,
23947 pub next: *const c_void,
23948 pub library_count: u32,
23949 pub libraries: *const Pipeline,
23950}
23951
23952impl Default for PipelineLibraryCreateInfoKHR {
23953 #[inline]
23954 fn default() -> Self {
23955 Self {
23956 s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
23957 next: ptr::null(),
23958 library_count: u32::default(),
23959 libraries: ptr::null(),
23960 }
23961 }
23962}
23963
23964unsafe impl Send for PipelineLibraryCreateInfoKHR {}
23965unsafe impl Sync for PipelineLibraryCreateInfoKHR {}
23966
23967#[repr(C)]
23969#[derive(Copy, Clone, Debug, PartialEq)]
23970pub struct PipelineMultisampleStateCreateInfo {
23971 pub s_type: StructureType,
23972 pub next: *const c_void,
23973 pub flags: PipelineMultisampleStateCreateFlags,
23974 pub rasterization_samples: SampleCountFlags,
23975 pub sample_shading_enable: Bool32,
23976 pub min_sample_shading: f32,
23977 pub sample_mask: *const SampleMask,
23978 pub alpha_to_coverage_enable: Bool32,
23979 pub alpha_to_one_enable: Bool32,
23980}
23981
23982impl Default for PipelineMultisampleStateCreateInfo {
23983 #[inline]
23984 fn default() -> Self {
23985 Self {
23986 s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
23987 next: ptr::null(),
23988 flags: PipelineMultisampleStateCreateFlags::default(),
23989 rasterization_samples: SampleCountFlags::default(),
23990 sample_shading_enable: Bool32::default(),
23991 min_sample_shading: f32::default(),
23992 sample_mask: ptr::null(),
23993 alpha_to_coverage_enable: Bool32::default(),
23994 alpha_to_one_enable: Bool32::default(),
23995 }
23996 }
23997}
23998
23999unsafe impl Send for PipelineMultisampleStateCreateInfo {}
24000unsafe impl Sync for PipelineMultisampleStateCreateInfo {}
24001
24002#[repr(C)]
24004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24005pub struct PipelinePropertiesIdentifierEXT {
24006 pub s_type: StructureType,
24007 pub next: *mut c_void,
24008 pub pipeline_identifier: ByteArray<UUID_SIZE>,
24009}
24010
24011impl Default for PipelinePropertiesIdentifierEXT {
24012 #[inline]
24013 fn default() -> Self {
24014 Self {
24015 s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
24016 next: ptr::null_mut(),
24017 pipeline_identifier: ByteArray::default(),
24018 }
24019 }
24020}
24021
24022unsafe impl Send for PipelinePropertiesIdentifierEXT {}
24023unsafe impl Sync for PipelinePropertiesIdentifierEXT {}
24024
24025#[repr(C)]
24027#[derive(Copy, Clone, Debug, PartialEq)]
24028pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
24029 pub s_type: StructureType,
24030 pub next: *const c_void,
24031 pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
24032 pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
24033 pub extra_primitive_overestimation_size: f32,
24034}
24035
24036impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
24037 #[inline]
24038 fn default() -> Self {
24039 Self {
24040 s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
24041 next: ptr::null(),
24042 flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
24043 conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
24044 extra_primitive_overestimation_size: f32::default(),
24045 }
24046 }
24047}
24048
24049unsafe impl Send for PipelineRasterizationConservativeStateCreateInfoEXT {}
24050unsafe impl Sync for PipelineRasterizationConservativeStateCreateInfoEXT {}
24051
24052#[repr(C)]
24054#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24055pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
24056 pub s_type: StructureType,
24057 pub next: *const c_void,
24058 pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
24059 pub depth_clip_enable: Bool32,
24060}
24061
24062impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
24063 #[inline]
24064 fn default() -> Self {
24065 Self {
24066 s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
24067 next: ptr::null(),
24068 flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
24069 depth_clip_enable: Bool32::default(),
24070 }
24071 }
24072}
24073
24074unsafe impl Send for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24075unsafe impl Sync for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24076
24077#[repr(C)]
24079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24080pub struct PipelineRasterizationLineStateCreateInfo {
24081 pub s_type: StructureType,
24082 pub next: *const c_void,
24083 pub line_rasterization_mode: LineRasterizationMode,
24084 pub stippled_line_enable: Bool32,
24085 pub line_stipple_factor: u32,
24086 pub line_stipple_pattern: u16,
24087}
24088
24089impl Default for PipelineRasterizationLineStateCreateInfo {
24090 #[inline]
24091 fn default() -> Self {
24092 Self {
24093 s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
24094 next: ptr::null(),
24095 line_rasterization_mode: LineRasterizationMode::default(),
24096 stippled_line_enable: Bool32::default(),
24097 line_stipple_factor: u32::default(),
24098 line_stipple_pattern: u16::default(),
24099 }
24100 }
24101}
24102
24103unsafe impl Send for PipelineRasterizationLineStateCreateInfo {}
24104unsafe impl Sync for PipelineRasterizationLineStateCreateInfo {}
24105
24106#[repr(C)]
24108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24109pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24110 pub s_type: StructureType,
24111 pub next: *const c_void,
24112 pub provoking_vertex_mode: ProvokingVertexModeEXT,
24113}
24114
24115impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24116 #[inline]
24117 fn default() -> Self {
24118 Self {
24119 s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
24120 next: ptr::null(),
24121 provoking_vertex_mode: ProvokingVertexModeEXT::default(),
24122 }
24123 }
24124}
24125
24126unsafe impl Send for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24127unsafe impl Sync for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24128
24129#[repr(C)]
24131#[derive(Copy, Clone, Debug, PartialEq)]
24132pub struct PipelineRasterizationStateCreateInfo {
24133 pub s_type: StructureType,
24134 pub next: *const c_void,
24135 pub flags: PipelineRasterizationStateCreateFlags,
24136 pub depth_clamp_enable: Bool32,
24137 pub rasterizer_discard_enable: Bool32,
24138 pub polygon_mode: PolygonMode,
24139 pub cull_mode: CullModeFlags,
24140 pub front_face: FrontFace,
24141 pub depth_bias_enable: Bool32,
24142 pub depth_bias_constant_factor: f32,
24143 pub depth_bias_clamp: f32,
24144 pub depth_bias_slope_factor: f32,
24145 pub line_width: f32,
24146}
24147
24148impl Default for PipelineRasterizationStateCreateInfo {
24149 #[inline]
24150 fn default() -> Self {
24151 Self {
24152 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
24153 next: ptr::null(),
24154 flags: PipelineRasterizationStateCreateFlags::default(),
24155 depth_clamp_enable: Bool32::default(),
24156 rasterizer_discard_enable: Bool32::default(),
24157 polygon_mode: PolygonMode::default(),
24158 cull_mode: CullModeFlags::default(),
24159 front_face: FrontFace::default(),
24160 depth_bias_enable: Bool32::default(),
24161 depth_bias_constant_factor: f32::default(),
24162 depth_bias_clamp: f32::default(),
24163 depth_bias_slope_factor: f32::default(),
24164 line_width: f32::default(),
24165 }
24166 }
24167}
24168
24169unsafe impl Send for PipelineRasterizationStateCreateInfo {}
24170unsafe impl Sync for PipelineRasterizationStateCreateInfo {}
24171
24172#[repr(C)]
24174#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24175pub struct PipelineRasterizationStateRasterizationOrderAMD {
24176 pub s_type: StructureType,
24177 pub next: *const c_void,
24178 pub rasterization_order: RasterizationOrderAMD,
24179}
24180
24181impl Default for PipelineRasterizationStateRasterizationOrderAMD {
24182 #[inline]
24183 fn default() -> Self {
24184 Self {
24185 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
24186 next: ptr::null(),
24187 rasterization_order: RasterizationOrderAMD::default(),
24188 }
24189 }
24190}
24191
24192unsafe impl Send for PipelineRasterizationStateRasterizationOrderAMD {}
24193unsafe impl Sync for PipelineRasterizationStateRasterizationOrderAMD {}
24194
24195#[repr(C)]
24197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24198pub struct PipelineRasterizationStateStreamCreateInfoEXT {
24199 pub s_type: StructureType,
24200 pub next: *const c_void,
24201 pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
24202 pub rasterization_stream: u32,
24203}
24204
24205impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
24206 #[inline]
24207 fn default() -> Self {
24208 Self {
24209 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
24210 next: ptr::null(),
24211 flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
24212 rasterization_stream: u32::default(),
24213 }
24214 }
24215}
24216
24217unsafe impl Send for PipelineRasterizationStateStreamCreateInfoEXT {}
24218unsafe impl Sync for PipelineRasterizationStateStreamCreateInfoEXT {}
24219
24220#[repr(C)]
24222#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24223pub struct PipelineRenderingCreateInfo {
24224 pub s_type: StructureType,
24225 pub next: *const c_void,
24226 pub view_mask: u32,
24227 pub color_attachment_count: u32,
24228 pub color_attachment_formats: *const Format,
24229 pub depth_attachment_format: Format,
24230 pub stencil_attachment_format: Format,
24231}
24232
24233impl Default for PipelineRenderingCreateInfo {
24234 #[inline]
24235 fn default() -> Self {
24236 Self {
24237 s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
24238 next: ptr::null(),
24239 view_mask: u32::default(),
24240 color_attachment_count: u32::default(),
24241 color_attachment_formats: ptr::null(),
24242 depth_attachment_format: Format::default(),
24243 stencil_attachment_format: Format::default(),
24244 }
24245 }
24246}
24247
24248unsafe impl Send for PipelineRenderingCreateInfo {}
24249unsafe impl Sync for PipelineRenderingCreateInfo {}
24250
24251#[repr(C)]
24253#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24254pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
24255 pub s_type: StructureType,
24256 pub next: *const c_void,
24257 pub representative_fragment_test_enable: Bool32,
24258}
24259
24260impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
24261 #[inline]
24262 fn default() -> Self {
24263 Self {
24264 s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
24265 next: ptr::null(),
24266 representative_fragment_test_enable: Bool32::default(),
24267 }
24268 }
24269}
24270
24271unsafe impl Send for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
24272unsafe impl Sync for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
24273
24274#[repr(C)]
24276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24277pub struct PipelineRobustnessCreateInfo {
24278 pub s_type: StructureType,
24279 pub next: *const c_void,
24280 pub storage_buffers: PipelineRobustnessBufferBehavior,
24281 pub uniform_buffers: PipelineRobustnessBufferBehavior,
24282 pub vertex_inputs: PipelineRobustnessBufferBehavior,
24283 pub images: PipelineRobustnessImageBehavior,
24284}
24285
24286impl Default for PipelineRobustnessCreateInfo {
24287 #[inline]
24288 fn default() -> Self {
24289 Self {
24290 s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
24291 next: ptr::null(),
24292 storage_buffers: PipelineRobustnessBufferBehavior::default(),
24293 uniform_buffers: PipelineRobustnessBufferBehavior::default(),
24294 vertex_inputs: PipelineRobustnessBufferBehavior::default(),
24295 images: PipelineRobustnessImageBehavior::default(),
24296 }
24297 }
24298}
24299
24300unsafe impl Send for PipelineRobustnessCreateInfo {}
24301unsafe impl Sync for PipelineRobustnessCreateInfo {}
24302
24303#[repr(C)]
24305#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24306pub struct PipelineSampleLocationsStateCreateInfoEXT {
24307 pub s_type: StructureType,
24308 pub next: *const c_void,
24309 pub sample_locations_enable: Bool32,
24310 pub sample_locations_info: SampleLocationsInfoEXT,
24311}
24312
24313impl Default for PipelineSampleLocationsStateCreateInfoEXT {
24314 #[inline]
24315 fn default() -> Self {
24316 Self {
24317 s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
24318 next: ptr::null(),
24319 sample_locations_enable: Bool32::default(),
24320 sample_locations_info: SampleLocationsInfoEXT::default(),
24321 }
24322 }
24323}
24324
24325unsafe impl Send for PipelineSampleLocationsStateCreateInfoEXT {}
24326unsafe impl Sync for PipelineSampleLocationsStateCreateInfoEXT {}
24327
24328#[repr(C)]
24330#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24331pub struct PipelineShaderStageCreateInfo {
24332 pub s_type: StructureType,
24333 pub next: *const c_void,
24334 pub flags: PipelineShaderStageCreateFlags,
24335 pub stage: ShaderStageFlags,
24336 pub module: ShaderModule,
24337 pub name: *const c_char,
24338 pub specialization_info: *const SpecializationInfo,
24339}
24340
24341impl Default for PipelineShaderStageCreateInfo {
24342 #[inline]
24343 fn default() -> Self {
24344 Self {
24345 s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
24346 next: ptr::null(),
24347 flags: PipelineShaderStageCreateFlags::default(),
24348 stage: ShaderStageFlags::default(),
24349 module: ShaderModule::default(),
24350 name: ptr::null(),
24351 specialization_info: ptr::null(),
24352 }
24353 }
24354}
24355
24356unsafe impl Send for PipelineShaderStageCreateInfo {}
24357unsafe impl Sync for PipelineShaderStageCreateInfo {}
24358
24359#[repr(C)]
24361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24362pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
24363 pub s_type: StructureType,
24364 pub next: *const c_void,
24365 pub identifier_size: u32,
24366 pub identifier: *const u8,
24367}
24368
24369impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
24370 #[inline]
24371 fn default() -> Self {
24372 Self {
24373 s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
24374 next: ptr::null(),
24375 identifier_size: u32::default(),
24376 identifier: ptr::null(),
24377 }
24378 }
24379}
24380
24381unsafe impl Send for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
24382unsafe impl Sync for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
24383
24384#[repr(C)]
24386#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24387pub struct PipelineShaderStageNodeCreateInfoAMDX {
24388 pub s_type: StructureType,
24389 pub next: *const c_void,
24390 pub name: *const c_char,
24391 pub index: u32,
24392}
24393
24394impl Default for PipelineShaderStageNodeCreateInfoAMDX {
24395 #[inline]
24396 fn default() -> Self {
24397 Self {
24398 s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
24399 next: ptr::null(),
24400 name: ptr::null(),
24401 index: u32::default(),
24402 }
24403 }
24404}
24405
24406unsafe impl Send for PipelineShaderStageNodeCreateInfoAMDX {}
24407unsafe impl Sync for PipelineShaderStageNodeCreateInfoAMDX {}
24408
24409#[repr(C)]
24411#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24412pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
24413 pub s_type: StructureType,
24414 pub next: *const c_void,
24415 pub required_subgroup_size: u32,
24416}
24417
24418impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
24419 #[inline]
24420 fn default() -> Self {
24421 Self {
24422 s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
24423 next: ptr::null(),
24424 required_subgroup_size: u32::default(),
24425 }
24426 }
24427}
24428
24429unsafe impl Send for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
24430unsafe impl Sync for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
24431
24432#[repr(C)]
24434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24435pub struct PipelineTessellationDomainOriginStateCreateInfo {
24436 pub s_type: StructureType,
24437 pub next: *const c_void,
24438 pub domain_origin: TessellationDomainOrigin,
24439}
24440
24441impl Default for PipelineTessellationDomainOriginStateCreateInfo {
24442 #[inline]
24443 fn default() -> Self {
24444 Self {
24445 s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
24446 next: ptr::null(),
24447 domain_origin: TessellationDomainOrigin::default(),
24448 }
24449 }
24450}
24451
24452unsafe impl Send for PipelineTessellationDomainOriginStateCreateInfo {}
24453unsafe impl Sync for PipelineTessellationDomainOriginStateCreateInfo {}
24454
24455#[repr(C)]
24457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24458pub struct PipelineTessellationStateCreateInfo {
24459 pub s_type: StructureType,
24460 pub next: *const c_void,
24461 pub flags: PipelineTessellationStateCreateFlags,
24462 pub patch_control_points: u32,
24463}
24464
24465impl Default for PipelineTessellationStateCreateInfo {
24466 #[inline]
24467 fn default() -> Self {
24468 Self {
24469 s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
24470 next: ptr::null(),
24471 flags: PipelineTessellationStateCreateFlags::default(),
24472 patch_control_points: u32::default(),
24473 }
24474 }
24475}
24476
24477unsafe impl Send for PipelineTessellationStateCreateInfo {}
24478unsafe impl Sync for PipelineTessellationStateCreateInfo {}
24479
24480#[repr(C)]
24482#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24483pub struct PipelineVertexInputDivisorStateCreateInfo {
24484 pub s_type: StructureType,
24485 pub next: *const c_void,
24486 pub vertex_binding_divisor_count: u32,
24487 pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
24488}
24489
24490impl Default for PipelineVertexInputDivisorStateCreateInfo {
24491 #[inline]
24492 fn default() -> Self {
24493 Self {
24494 s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
24495 next: ptr::null(),
24496 vertex_binding_divisor_count: u32::default(),
24497 vertex_binding_divisors: ptr::null(),
24498 }
24499 }
24500}
24501
24502unsafe impl Send for PipelineVertexInputDivisorStateCreateInfo {}
24503unsafe impl Sync for PipelineVertexInputDivisorStateCreateInfo {}
24504
24505#[repr(C)]
24507#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24508pub struct PipelineVertexInputStateCreateInfo {
24509 pub s_type: StructureType,
24510 pub next: *const c_void,
24511 pub flags: PipelineVertexInputStateCreateFlags,
24512 pub vertex_binding_description_count: u32,
24513 pub vertex_binding_descriptions: *const VertexInputBindingDescription,
24514 pub vertex_attribute_description_count: u32,
24515 pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
24516}
24517
24518impl Default for PipelineVertexInputStateCreateInfo {
24519 #[inline]
24520 fn default() -> Self {
24521 Self {
24522 s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
24523 next: ptr::null(),
24524 flags: PipelineVertexInputStateCreateFlags::default(),
24525 vertex_binding_description_count: u32::default(),
24526 vertex_binding_descriptions: ptr::null(),
24527 vertex_attribute_description_count: u32::default(),
24528 vertex_attribute_descriptions: ptr::null(),
24529 }
24530 }
24531}
24532
24533unsafe impl Send for PipelineVertexInputStateCreateInfo {}
24534unsafe impl Sync for PipelineVertexInputStateCreateInfo {}
24535
24536#[repr(C)]
24538#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24539pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
24540 pub s_type: StructureType,
24541 pub next: *const c_void,
24542 pub sample_order_type: CoarseSampleOrderTypeNV,
24543 pub custom_sample_order_count: u32,
24544 pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
24545}
24546
24547impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
24548 #[inline]
24549 fn default() -> Self {
24550 Self {
24551 s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
24552 next: ptr::null(),
24553 sample_order_type: CoarseSampleOrderTypeNV::default(),
24554 custom_sample_order_count: u32::default(),
24555 custom_sample_orders: ptr::null(),
24556 }
24557 }
24558}
24559
24560unsafe impl Send for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
24561unsafe impl Sync for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
24562
24563#[repr(C)]
24565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24566pub struct PipelineViewportDepthClampControlCreateInfoEXT {
24567 pub s_type: StructureType,
24568 pub next: *const c_void,
24569 pub depth_clamp_mode: DepthClampModeEXT,
24570 pub depth_clamp_range: *const DepthClampRangeEXT,
24571}
24572
24573impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
24574 #[inline]
24575 fn default() -> Self {
24576 Self {
24577 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
24578 next: ptr::null(),
24579 depth_clamp_mode: DepthClampModeEXT::default(),
24580 depth_clamp_range: ptr::null(),
24581 }
24582 }
24583}
24584
24585unsafe impl Send for PipelineViewportDepthClampControlCreateInfoEXT {}
24586unsafe impl Sync for PipelineViewportDepthClampControlCreateInfoEXT {}
24587
24588#[repr(C)]
24590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24591pub struct PipelineViewportDepthClipControlCreateInfoEXT {
24592 pub s_type: StructureType,
24593 pub next: *const c_void,
24594 pub negative_one_to_one: Bool32,
24595}
24596
24597impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
24598 #[inline]
24599 fn default() -> Self {
24600 Self {
24601 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
24602 next: ptr::null(),
24603 negative_one_to_one: Bool32::default(),
24604 }
24605 }
24606}
24607
24608unsafe impl Send for PipelineViewportDepthClipControlCreateInfoEXT {}
24609unsafe impl Sync for PipelineViewportDepthClipControlCreateInfoEXT {}
24610
24611#[repr(C)]
24613#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24614pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
24615 pub s_type: StructureType,
24616 pub next: *const c_void,
24617 pub exclusive_scissor_count: u32,
24618 pub exclusive_scissors: *const Rect2D,
24619}
24620
24621impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
24622 #[inline]
24623 fn default() -> Self {
24624 Self {
24625 s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
24626 next: ptr::null(),
24627 exclusive_scissor_count: u32::default(),
24628 exclusive_scissors: ptr::null(),
24629 }
24630 }
24631}
24632
24633unsafe impl Send for PipelineViewportExclusiveScissorStateCreateInfoNV {}
24634unsafe impl Sync for PipelineViewportExclusiveScissorStateCreateInfoNV {}
24635
24636#[repr(C)]
24638#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24639pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
24640 pub s_type: StructureType,
24641 pub next: *const c_void,
24642 pub shading_rate_image_enable: Bool32,
24643 pub viewport_count: u32,
24644 pub shading_rate_palettes: *const ShadingRatePaletteNV,
24645}
24646
24647impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
24648 #[inline]
24649 fn default() -> Self {
24650 Self {
24651 s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
24652 next: ptr::null(),
24653 shading_rate_image_enable: Bool32::default(),
24654 viewport_count: u32::default(),
24655 shading_rate_palettes: ptr::null(),
24656 }
24657 }
24658}
24659
24660unsafe impl Send for PipelineViewportShadingRateImageStateCreateInfoNV {}
24661unsafe impl Sync for PipelineViewportShadingRateImageStateCreateInfoNV {}
24662
24663#[repr(C)]
24665#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24666pub struct PipelineViewportStateCreateInfo {
24667 pub s_type: StructureType,
24668 pub next: *const c_void,
24669 pub flags: PipelineViewportStateCreateFlags,
24670 pub viewport_count: u32,
24671 pub viewports: *const Viewport,
24672 pub scissor_count: u32,
24673 pub scissors: *const Rect2D,
24674}
24675
24676impl Default for PipelineViewportStateCreateInfo {
24677 #[inline]
24678 fn default() -> Self {
24679 Self {
24680 s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
24681 next: ptr::null(),
24682 flags: PipelineViewportStateCreateFlags::default(),
24683 viewport_count: u32::default(),
24684 viewports: ptr::null(),
24685 scissor_count: u32::default(),
24686 scissors: ptr::null(),
24687 }
24688 }
24689}
24690
24691unsafe impl Send for PipelineViewportStateCreateInfo {}
24692unsafe impl Sync for PipelineViewportStateCreateInfo {}
24693
24694#[repr(C)]
24696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24697pub struct PipelineViewportSwizzleStateCreateInfoNV {
24698 pub s_type: StructureType,
24699 pub next: *const c_void,
24700 pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
24701 pub viewport_count: u32,
24702 pub viewport_swizzles: *const ViewportSwizzleNV,
24703}
24704
24705impl Default for PipelineViewportSwizzleStateCreateInfoNV {
24706 #[inline]
24707 fn default() -> Self {
24708 Self {
24709 s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
24710 next: ptr::null(),
24711 flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
24712 viewport_count: u32::default(),
24713 viewport_swizzles: ptr::null(),
24714 }
24715 }
24716}
24717
24718unsafe impl Send for PipelineViewportSwizzleStateCreateInfoNV {}
24719unsafe impl Sync for PipelineViewportSwizzleStateCreateInfoNV {}
24720
24721#[repr(C)]
24723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24724pub struct PipelineViewportWScalingStateCreateInfoNV {
24725 pub s_type: StructureType,
24726 pub next: *const c_void,
24727 pub viewport_w_scaling_enable: Bool32,
24728 pub viewport_count: u32,
24729 pub viewport_w_scalings: *const ViewportWScalingNV,
24730}
24731
24732impl Default for PipelineViewportWScalingStateCreateInfoNV {
24733 #[inline]
24734 fn default() -> Self {
24735 Self {
24736 s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
24737 next: ptr::null(),
24738 viewport_w_scaling_enable: Bool32::default(),
24739 viewport_count: u32::default(),
24740 viewport_w_scalings: ptr::null(),
24741 }
24742 }
24743}
24744
24745unsafe impl Send for PipelineViewportWScalingStateCreateInfoNV {}
24746unsafe impl Sync for PipelineViewportWScalingStateCreateInfoNV {}
24747
24748#[repr(C)]
24750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24751pub struct PresentFrameTokenGGP {
24752 pub s_type: StructureType,
24753 pub next: *const c_void,
24754 pub frame_token: GgpFrameToken,
24755}
24756
24757impl Default for PresentFrameTokenGGP {
24758 #[inline]
24759 fn default() -> Self {
24760 Self {
24761 s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
24762 next: ptr::null(),
24763 frame_token: GgpFrameToken::default(),
24764 }
24765 }
24766}
24767
24768unsafe impl Send for PresentFrameTokenGGP {}
24769unsafe impl Sync for PresentFrameTokenGGP {}
24770
24771#[repr(C)]
24773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24774pub struct PresentId2KHR {
24775 pub s_type: StructureType,
24776 pub next: *const c_void,
24777 pub swapchain_count: u32,
24778 pub present_ids: *const u64,
24779}
24780
24781impl Default for PresentId2KHR {
24782 #[inline]
24783 fn default() -> Self {
24784 Self {
24785 s_type: StructureType::PRESENT_ID_2_KHR,
24786 next: ptr::null(),
24787 swapchain_count: u32::default(),
24788 present_ids: ptr::null(),
24789 }
24790 }
24791}
24792
24793unsafe impl Send for PresentId2KHR {}
24794unsafe impl Sync for PresentId2KHR {}
24795
24796#[repr(C)]
24798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24799pub struct PresentIdKHR {
24800 pub s_type: StructureType,
24801 pub next: *const c_void,
24802 pub swapchain_count: u32,
24803 pub present_ids: *const u64,
24804}
24805
24806impl Default for PresentIdKHR {
24807 #[inline]
24808 fn default() -> Self {
24809 Self {
24810 s_type: StructureType::PRESENT_ID_KHR,
24811 next: ptr::null(),
24812 swapchain_count: u32::default(),
24813 present_ids: ptr::null(),
24814 }
24815 }
24816}
24817
24818unsafe impl Send for PresentIdKHR {}
24819unsafe impl Sync for PresentIdKHR {}
24820
24821#[repr(C)]
24823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24824pub struct PresentInfoKHR {
24825 pub s_type: StructureType,
24826 pub next: *const c_void,
24827 pub wait_semaphore_count: u32,
24828 pub wait_semaphores: *const Semaphore,
24829 pub swapchain_count: u32,
24830 pub swapchains: *const SwapchainKHR,
24831 pub image_indices: *const u32,
24832 pub results: *mut Result,
24833}
24834
24835impl Default for PresentInfoKHR {
24836 #[inline]
24837 fn default() -> Self {
24838 Self {
24839 s_type: StructureType::PRESENT_INFO_KHR,
24840 next: ptr::null(),
24841 wait_semaphore_count: u32::default(),
24842 wait_semaphores: ptr::null(),
24843 swapchain_count: u32::default(),
24844 swapchains: ptr::null(),
24845 image_indices: ptr::null(),
24846 results: ptr::null_mut(),
24847 }
24848 }
24849}
24850
24851unsafe impl Send for PresentInfoKHR {}
24852unsafe impl Sync for PresentInfoKHR {}
24853
24854#[repr(C)]
24856#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24857pub struct PresentRegionKHR {
24858 pub rectangle_count: u32,
24859 pub rectangles: *const RectLayerKHR,
24860}
24861
24862impl Default for PresentRegionKHR {
24863 #[inline]
24864 fn default() -> Self {
24865 Self {
24866 rectangle_count: u32::default(),
24867 rectangles: ptr::null(),
24868 }
24869 }
24870}
24871
24872unsafe impl Send for PresentRegionKHR {}
24873unsafe impl Sync for PresentRegionKHR {}
24874
24875#[repr(C)]
24877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24878pub struct PresentRegionsKHR {
24879 pub s_type: StructureType,
24880 pub next: *const c_void,
24881 pub swapchain_count: u32,
24882 pub regions: *const PresentRegionKHR,
24883}
24884
24885impl Default for PresentRegionsKHR {
24886 #[inline]
24887 fn default() -> Self {
24888 Self {
24889 s_type: StructureType::PRESENT_REGIONS_KHR,
24890 next: ptr::null(),
24891 swapchain_count: u32::default(),
24892 regions: ptr::null(),
24893 }
24894 }
24895}
24896
24897unsafe impl Send for PresentRegionsKHR {}
24898unsafe impl Sync for PresentRegionsKHR {}
24899
24900#[repr(C)]
24902#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24903pub struct PresentTimeGOOGLE {
24904 pub present_id: u32,
24905 pub desired_present_time: u64,
24906}
24907
24908#[repr(C)]
24910#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24911pub struct PresentTimesInfoGOOGLE {
24912 pub s_type: StructureType,
24913 pub next: *const c_void,
24914 pub swapchain_count: u32,
24915 pub times: *const PresentTimeGOOGLE,
24916}
24917
24918impl Default for PresentTimesInfoGOOGLE {
24919 #[inline]
24920 fn default() -> Self {
24921 Self {
24922 s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
24923 next: ptr::null(),
24924 swapchain_count: u32::default(),
24925 times: ptr::null(),
24926 }
24927 }
24928}
24929
24930unsafe impl Send for PresentTimesInfoGOOGLE {}
24931unsafe impl Sync for PresentTimesInfoGOOGLE {}
24932
24933#[repr(C)]
24935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24936pub struct PresentWait2InfoKHR {
24937 pub s_type: StructureType,
24938 pub next: *const c_void,
24939 pub present_id: u64,
24940 pub timeout: u64,
24941}
24942
24943impl Default for PresentWait2InfoKHR {
24944 #[inline]
24945 fn default() -> Self {
24946 Self {
24947 s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
24948 next: ptr::null(),
24949 present_id: u64::default(),
24950 timeout: u64::default(),
24951 }
24952 }
24953}
24954
24955unsafe impl Send for PresentWait2InfoKHR {}
24956unsafe impl Sync for PresentWait2InfoKHR {}
24957
24958#[repr(C)]
24960#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24961pub struct PrivateDataSlotCreateInfo {
24962 pub s_type: StructureType,
24963 pub next: *const c_void,
24964 pub flags: PrivateDataSlotCreateFlags,
24965}
24966
24967impl Default for PrivateDataSlotCreateInfo {
24968 #[inline]
24969 fn default() -> Self {
24970 Self {
24971 s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
24972 next: ptr::null(),
24973 flags: PrivateDataSlotCreateFlags::default(),
24974 }
24975 }
24976}
24977
24978unsafe impl Send for PrivateDataSlotCreateInfo {}
24979unsafe impl Sync for PrivateDataSlotCreateInfo {}
24980
24981#[repr(C)]
24983#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24984pub struct ProtectedSubmitInfo {
24985 pub s_type: StructureType,
24986 pub next: *const c_void,
24987 pub protected_submit: Bool32,
24988}
24989
24990impl Default for ProtectedSubmitInfo {
24991 #[inline]
24992 fn default() -> Self {
24993 Self {
24994 s_type: StructureType::PROTECTED_SUBMIT_INFO,
24995 next: ptr::null(),
24996 protected_submit: Bool32::default(),
24997 }
24998 }
24999}
25000
25001unsafe impl Send for ProtectedSubmitInfo {}
25002unsafe impl Sync for ProtectedSubmitInfo {}
25003
25004#[repr(C)]
25006#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25007pub struct PushConstantRange {
25008 pub stage_flags: ShaderStageFlags,
25009 pub offset: u32,
25010 pub size: u32,
25011}
25012
25013#[repr(C)]
25015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25016pub struct PushConstantsInfo {
25017 pub s_type: StructureType,
25018 pub next: *const c_void,
25019 pub layout: PipelineLayout,
25020 pub stage_flags: ShaderStageFlags,
25021 pub offset: u32,
25022 pub size: u32,
25023 pub values: *const c_void,
25024}
25025
25026impl Default for PushConstantsInfo {
25027 #[inline]
25028 fn default() -> Self {
25029 Self {
25030 s_type: StructureType::PUSH_CONSTANTS_INFO,
25031 next: ptr::null(),
25032 layout: PipelineLayout::default(),
25033 stage_flags: ShaderStageFlags::default(),
25034 offset: u32::default(),
25035 size: u32::default(),
25036 values: ptr::null(),
25037 }
25038 }
25039}
25040
25041unsafe impl Send for PushConstantsInfo {}
25042unsafe impl Sync for PushConstantsInfo {}
25043
25044#[repr(C)]
25046#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25047pub struct PushDescriptorSetInfo {
25048 pub s_type: StructureType,
25049 pub next: *const c_void,
25050 pub stage_flags: ShaderStageFlags,
25051 pub layout: PipelineLayout,
25052 pub set: u32,
25053 pub descriptor_write_count: u32,
25054 pub descriptor_writes: *const WriteDescriptorSet,
25055}
25056
25057impl Default for PushDescriptorSetInfo {
25058 #[inline]
25059 fn default() -> Self {
25060 Self {
25061 s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
25062 next: ptr::null(),
25063 stage_flags: ShaderStageFlags::default(),
25064 layout: PipelineLayout::default(),
25065 set: u32::default(),
25066 descriptor_write_count: u32::default(),
25067 descriptor_writes: ptr::null(),
25068 }
25069 }
25070}
25071
25072unsafe impl Send for PushDescriptorSetInfo {}
25073unsafe impl Sync for PushDescriptorSetInfo {}
25074
25075#[repr(C)]
25077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25078pub struct PushDescriptorSetWithTemplateInfo {
25079 pub s_type: StructureType,
25080 pub next: *const c_void,
25081 pub descriptor_update_template: DescriptorUpdateTemplate,
25082 pub layout: PipelineLayout,
25083 pub set: u32,
25084 pub data: *const c_void,
25085}
25086
25087impl Default for PushDescriptorSetWithTemplateInfo {
25088 #[inline]
25089 fn default() -> Self {
25090 Self {
25091 s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
25092 next: ptr::null(),
25093 descriptor_update_template: DescriptorUpdateTemplate::default(),
25094 layout: PipelineLayout::default(),
25095 set: u32::default(),
25096 data: ptr::null(),
25097 }
25098 }
25099}
25100
25101unsafe impl Send for PushDescriptorSetWithTemplateInfo {}
25102unsafe impl Sync for PushDescriptorSetWithTemplateInfo {}
25103
25104#[repr(C)]
25106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25107pub struct QueryLowLatencySupportNV {
25108 pub s_type: StructureType,
25109 pub next: *const c_void,
25110 pub queried_low_latency_data: *mut c_void,
25111}
25112
25113impl Default for QueryLowLatencySupportNV {
25114 #[inline]
25115 fn default() -> Self {
25116 Self {
25117 s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
25118 next: ptr::null(),
25119 queried_low_latency_data: ptr::null_mut(),
25120 }
25121 }
25122}
25123
25124unsafe impl Send for QueryLowLatencySupportNV {}
25125unsafe impl Sync for QueryLowLatencySupportNV {}
25126
25127#[repr(C)]
25129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25130pub struct QueryPoolCreateInfo {
25131 pub s_type: StructureType,
25132 pub next: *const c_void,
25133 pub flags: QueryPoolCreateFlags,
25134 pub query_type: QueryType,
25135 pub query_count: u32,
25136 pub pipeline_statistics: QueryPipelineStatisticFlags,
25137}
25138
25139impl Default for QueryPoolCreateInfo {
25140 #[inline]
25141 fn default() -> Self {
25142 Self {
25143 s_type: StructureType::QUERY_POOL_CREATE_INFO,
25144 next: ptr::null(),
25145 flags: QueryPoolCreateFlags::default(),
25146 query_type: QueryType::default(),
25147 query_count: u32::default(),
25148 pipeline_statistics: QueryPipelineStatisticFlags::default(),
25149 }
25150 }
25151}
25152
25153unsafe impl Send for QueryPoolCreateInfo {}
25154unsafe impl Sync for QueryPoolCreateInfo {}
25155
25156#[repr(C)]
25158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25159pub struct QueryPoolPerformanceCreateInfoKHR {
25160 pub s_type: StructureType,
25161 pub next: *const c_void,
25162 pub queue_family_index: u32,
25163 pub counter_index_count: u32,
25164 pub counter_indices: *const u32,
25165}
25166
25167impl Default for QueryPoolPerformanceCreateInfoKHR {
25168 #[inline]
25169 fn default() -> Self {
25170 Self {
25171 s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
25172 next: ptr::null(),
25173 queue_family_index: u32::default(),
25174 counter_index_count: u32::default(),
25175 counter_indices: ptr::null(),
25176 }
25177 }
25178}
25179
25180unsafe impl Send for QueryPoolPerformanceCreateInfoKHR {}
25181unsafe impl Sync for QueryPoolPerformanceCreateInfoKHR {}
25182
25183#[repr(C)]
25185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25186pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
25187 pub s_type: StructureType,
25188 pub next: *const c_void,
25189 pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
25190}
25191
25192impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
25193 #[inline]
25194 fn default() -> Self {
25195 Self {
25196 s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
25197 next: ptr::null(),
25198 performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
25199 }
25200 }
25201}
25202
25203unsafe impl Send for QueryPoolPerformanceQueryCreateInfoINTEL {}
25204unsafe impl Sync for QueryPoolPerformanceQueryCreateInfoINTEL {}
25205
25206#[repr(C)]
25208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25209pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
25210 pub s_type: StructureType,
25211 pub next: *const c_void,
25212 pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
25213}
25214
25215impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
25216 #[inline]
25217 fn default() -> Self {
25218 Self {
25219 s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
25220 next: ptr::null(),
25221 encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
25222 }
25223 }
25224}
25225
25226unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
25227unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
25228
25229#[repr(C)]
25231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25232pub struct QueueFamilyCheckpointProperties2NV {
25233 pub s_type: StructureType,
25234 pub next: *mut c_void,
25235 pub checkpoint_execution_stage_mask: PipelineStageFlags2,
25236}
25237
25238impl Default for QueueFamilyCheckpointProperties2NV {
25239 #[inline]
25240 fn default() -> Self {
25241 Self {
25242 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
25243 next: ptr::null_mut(),
25244 checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
25245 }
25246 }
25247}
25248
25249unsafe impl Send for QueueFamilyCheckpointProperties2NV {}
25250unsafe impl Sync for QueueFamilyCheckpointProperties2NV {}
25251
25252#[repr(C)]
25254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25255pub struct QueueFamilyCheckpointPropertiesNV {
25256 pub s_type: StructureType,
25257 pub next: *mut c_void,
25258 pub checkpoint_execution_stage_mask: PipelineStageFlags,
25259}
25260
25261impl Default for QueueFamilyCheckpointPropertiesNV {
25262 #[inline]
25263 fn default() -> Self {
25264 Self {
25265 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
25266 next: ptr::null_mut(),
25267 checkpoint_execution_stage_mask: PipelineStageFlags::default(),
25268 }
25269 }
25270}
25271
25272unsafe impl Send for QueueFamilyCheckpointPropertiesNV {}
25273unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {}
25274
25275#[repr(C)]
25277#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25278pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
25279 pub s_type: StructureType,
25280 pub next: *const c_void,
25281 pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
25282 pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
25283}
25284
25285impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
25286 #[inline]
25287 fn default() -> Self {
25288 Self {
25289 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
25290 next: ptr::null(),
25291 foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
25292 foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
25293 }
25294 }
25295}
25296
25297unsafe impl Send for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
25298unsafe impl Sync for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
25299
25300#[repr(C)]
25302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25303pub struct QueueFamilyDataGraphPropertiesARM {
25304 pub s_type: StructureType,
25305 pub next: *const c_void,
25306 pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
25307 pub operation: PhysicalDeviceDataGraphOperationSupportARM,
25308}
25309
25310impl Default for QueueFamilyDataGraphPropertiesARM {
25311 #[inline]
25312 fn default() -> Self {
25313 Self {
25314 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
25315 next: ptr::null(),
25316 engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
25317 operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
25318 }
25319 }
25320}
25321
25322unsafe impl Send for QueueFamilyDataGraphPropertiesARM {}
25323unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {}
25324
25325#[repr(C)]
25327#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25328pub struct QueueFamilyGlobalPriorityProperties {
25329 pub s_type: StructureType,
25330 pub next: *mut c_void,
25331 pub priority_count: u32,
25332 pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE],
25333}
25334
25335impl Default for QueueFamilyGlobalPriorityProperties {
25336 #[inline]
25337 fn default() -> Self {
25338 Self {
25339 s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
25340 next: ptr::null_mut(),
25341 priority_count: u32::default(),
25342 priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
25343 }
25344 }
25345}
25346
25347unsafe impl Send for QueueFamilyGlobalPriorityProperties {}
25348unsafe impl Sync for QueueFamilyGlobalPriorityProperties {}
25349
25350#[repr(C)]
25352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25353pub struct QueueFamilyOwnershipTransferPropertiesKHR {
25354 pub s_type: StructureType,
25355 pub next: *mut c_void,
25356 pub optimal_image_transfer_to_queue_families: u32,
25357}
25358
25359impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
25360 #[inline]
25361 fn default() -> Self {
25362 Self {
25363 s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
25364 next: ptr::null_mut(),
25365 optimal_image_transfer_to_queue_families: u32::default(),
25366 }
25367 }
25368}
25369
25370unsafe impl Send for QueueFamilyOwnershipTransferPropertiesKHR {}
25371unsafe impl Sync for QueueFamilyOwnershipTransferPropertiesKHR {}
25372
25373#[repr(C)]
25375#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25376pub struct QueueFamilyProperties {
25377 pub queue_flags: QueueFlags,
25378 pub queue_count: u32,
25379 pub timestamp_valid_bits: u32,
25380 pub min_image_transfer_granularity: Extent3D,
25381}
25382
25383#[repr(C)]
25385#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25386pub struct QueueFamilyProperties2 {
25387 pub s_type: StructureType,
25388 pub next: *mut c_void,
25389 pub queue_family_properties: QueueFamilyProperties,
25390}
25391
25392impl Default for QueueFamilyProperties2 {
25393 #[inline]
25394 fn default() -> Self {
25395 Self {
25396 s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
25397 next: ptr::null_mut(),
25398 queue_family_properties: QueueFamilyProperties::default(),
25399 }
25400 }
25401}
25402
25403unsafe impl Send for QueueFamilyProperties2 {}
25404unsafe impl Sync for QueueFamilyProperties2 {}
25405
25406#[repr(C)]
25408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25409pub struct QueueFamilyQueryResultStatusPropertiesKHR {
25410 pub s_type: StructureType,
25411 pub next: *mut c_void,
25412 pub query_result_status_support: Bool32,
25413}
25414
25415impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
25416 #[inline]
25417 fn default() -> Self {
25418 Self {
25419 s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
25420 next: ptr::null_mut(),
25421 query_result_status_support: Bool32::default(),
25422 }
25423 }
25424}
25425
25426unsafe impl Send for QueueFamilyQueryResultStatusPropertiesKHR {}
25427unsafe impl Sync for QueueFamilyQueryResultStatusPropertiesKHR {}
25428
25429#[repr(C)]
25431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25432pub struct QueueFamilyVideoPropertiesKHR {
25433 pub s_type: StructureType,
25434 pub next: *mut c_void,
25435 pub video_codec_operations: VideoCodecOperationFlagsKHR,
25436}
25437
25438impl Default for QueueFamilyVideoPropertiesKHR {
25439 #[inline]
25440 fn default() -> Self {
25441 Self {
25442 s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
25443 next: ptr::null_mut(),
25444 video_codec_operations: VideoCodecOperationFlagsKHR::default(),
25445 }
25446 }
25447}
25448
25449unsafe impl Send for QueueFamilyVideoPropertiesKHR {}
25450unsafe impl Sync for QueueFamilyVideoPropertiesKHR {}
25451
25452#[repr(C)]
25454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25455pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
25456 pub s_type: StructureType,
25457 pub next: *mut c_void,
25458 pub allow_cluster_acceleration_structure: Bool32,
25459}
25460
25461impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
25462 #[inline]
25463 fn default() -> Self {
25464 Self {
25465 s_type:
25466 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
25467 next: ptr::null_mut(),
25468 allow_cluster_acceleration_structure: Bool32::default(),
25469 }
25470 }
25471}
25472
25473unsafe impl Send for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
25474unsafe impl Sync for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
25475
25476#[repr(C)]
25478#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25479pub struct RayTracingPipelineCreateInfoKHR {
25480 pub s_type: StructureType,
25481 pub next: *const c_void,
25482 pub flags: PipelineCreateFlags,
25483 pub stage_count: u32,
25484 pub stages: *const PipelineShaderStageCreateInfo,
25485 pub group_count: u32,
25486 pub groups: *const RayTracingShaderGroupCreateInfoKHR,
25487 pub max_pipeline_ray_recursion_depth: u32,
25488 pub library_info: *const PipelineLibraryCreateInfoKHR,
25489 pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
25490 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
25491 pub layout: PipelineLayout,
25492 pub base_pipeline_handle: Pipeline,
25493 pub base_pipeline_index: i32,
25494}
25495
25496impl Default for RayTracingPipelineCreateInfoKHR {
25497 #[inline]
25498 fn default() -> Self {
25499 Self {
25500 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
25501 next: ptr::null(),
25502 flags: PipelineCreateFlags::default(),
25503 stage_count: u32::default(),
25504 stages: ptr::null(),
25505 group_count: u32::default(),
25506 groups: ptr::null(),
25507 max_pipeline_ray_recursion_depth: u32::default(),
25508 library_info: ptr::null(),
25509 library_interface: ptr::null(),
25510 dynamic_state: ptr::null(),
25511 layout: PipelineLayout::default(),
25512 base_pipeline_handle: Pipeline::default(),
25513 base_pipeline_index: i32::default(),
25514 }
25515 }
25516}
25517
25518unsafe impl Send for RayTracingPipelineCreateInfoKHR {}
25519unsafe impl Sync for RayTracingPipelineCreateInfoKHR {}
25520
25521#[repr(C)]
25523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25524pub struct RayTracingPipelineCreateInfoNV {
25525 pub s_type: StructureType,
25526 pub next: *const c_void,
25527 pub flags: PipelineCreateFlags,
25528 pub stage_count: u32,
25529 pub stages: *const PipelineShaderStageCreateInfo,
25530 pub group_count: u32,
25531 pub groups: *const RayTracingShaderGroupCreateInfoNV,
25532 pub max_recursion_depth: u32,
25533 pub layout: PipelineLayout,
25534 pub base_pipeline_handle: Pipeline,
25535 pub base_pipeline_index: i32,
25536}
25537
25538impl Default for RayTracingPipelineCreateInfoNV {
25539 #[inline]
25540 fn default() -> Self {
25541 Self {
25542 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
25543 next: ptr::null(),
25544 flags: PipelineCreateFlags::default(),
25545 stage_count: u32::default(),
25546 stages: ptr::null(),
25547 group_count: u32::default(),
25548 groups: ptr::null(),
25549 max_recursion_depth: u32::default(),
25550 layout: PipelineLayout::default(),
25551 base_pipeline_handle: Pipeline::default(),
25552 base_pipeline_index: i32::default(),
25553 }
25554 }
25555}
25556
25557unsafe impl Send for RayTracingPipelineCreateInfoNV {}
25558unsafe impl Sync for RayTracingPipelineCreateInfoNV {}
25559
25560#[repr(C)]
25562#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25563pub struct RayTracingPipelineInterfaceCreateInfoKHR {
25564 pub s_type: StructureType,
25565 pub next: *const c_void,
25566 pub max_pipeline_ray_payload_size: u32,
25567 pub max_pipeline_ray_hit_attribute_size: u32,
25568}
25569
25570impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
25571 #[inline]
25572 fn default() -> Self {
25573 Self {
25574 s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
25575 next: ptr::null(),
25576 max_pipeline_ray_payload_size: u32::default(),
25577 max_pipeline_ray_hit_attribute_size: u32::default(),
25578 }
25579 }
25580}
25581
25582unsafe impl Send for RayTracingPipelineInterfaceCreateInfoKHR {}
25583unsafe impl Sync for RayTracingPipelineInterfaceCreateInfoKHR {}
25584
25585#[repr(C)]
25587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25588pub struct RayTracingShaderGroupCreateInfoKHR {
25589 pub s_type: StructureType,
25590 pub next: *const c_void,
25591 pub type_: RayTracingShaderGroupTypeKHR,
25592 pub general_shader: u32,
25593 pub closest_hit_shader: u32,
25594 pub any_hit_shader: u32,
25595 pub intersection_shader: u32,
25596 pub shader_group_capture_replay_handle: *const c_void,
25597}
25598
25599impl Default for RayTracingShaderGroupCreateInfoKHR {
25600 #[inline]
25601 fn default() -> Self {
25602 Self {
25603 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
25604 next: ptr::null(),
25605 type_: RayTracingShaderGroupTypeKHR::default(),
25606 general_shader: u32::default(),
25607 closest_hit_shader: u32::default(),
25608 any_hit_shader: u32::default(),
25609 intersection_shader: u32::default(),
25610 shader_group_capture_replay_handle: ptr::null(),
25611 }
25612 }
25613}
25614
25615unsafe impl Send for RayTracingShaderGroupCreateInfoKHR {}
25616unsafe impl Sync for RayTracingShaderGroupCreateInfoKHR {}
25617
25618#[repr(C)]
25620#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25621pub struct RayTracingShaderGroupCreateInfoNV {
25622 pub s_type: StructureType,
25623 pub next: *const c_void,
25624 pub type_: RayTracingShaderGroupTypeKHR,
25625 pub general_shader: u32,
25626 pub closest_hit_shader: u32,
25627 pub any_hit_shader: u32,
25628 pub intersection_shader: u32,
25629}
25630
25631impl Default for RayTracingShaderGroupCreateInfoNV {
25632 #[inline]
25633 fn default() -> Self {
25634 Self {
25635 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
25636 next: ptr::null(),
25637 type_: RayTracingShaderGroupTypeKHR::default(),
25638 general_shader: u32::default(),
25639 closest_hit_shader: u32::default(),
25640 any_hit_shader: u32::default(),
25641 intersection_shader: u32::default(),
25642 }
25643 }
25644}
25645
25646unsafe impl Send for RayTracingShaderGroupCreateInfoNV {}
25647unsafe impl Sync for RayTracingShaderGroupCreateInfoNV {}
25648
25649#[repr(C)]
25651#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25652pub struct Rect2D {
25653 pub offset: Offset2D,
25654 pub extent: Extent2D,
25655}
25656
25657#[repr(C)]
25659#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25660pub struct RectLayerKHR {
25661 pub offset: Offset2D,
25662 pub extent: Extent2D,
25663 pub layer: u32,
25664}
25665
25666#[repr(C)]
25668#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25669pub struct RefreshCycleDurationGOOGLE {
25670 pub refresh_duration: u64,
25671}
25672
25673#[repr(C)]
25675#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25676pub struct RefreshObjectKHR {
25677 pub object_type: ObjectType,
25678 pub object_handle: u64,
25679 pub flags: RefreshObjectFlagsKHR,
25680}
25681
25682#[repr(C)]
25684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25685pub struct RefreshObjectListKHR {
25686 pub s_type: StructureType,
25687 pub next: *const c_void,
25688 pub object_count: u32,
25689 pub objects: *const RefreshObjectKHR,
25690}
25691
25692impl Default for RefreshObjectListKHR {
25693 #[inline]
25694 fn default() -> Self {
25695 Self {
25696 s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
25697 next: ptr::null(),
25698 object_count: u32::default(),
25699 objects: ptr::null(),
25700 }
25701 }
25702}
25703
25704unsafe impl Send for RefreshObjectListKHR {}
25705unsafe impl Sync for RefreshObjectListKHR {}
25706
25707#[repr(C)]
25709#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25710pub struct ReleaseCapturedPipelineDataInfoKHR {
25711 pub s_type: StructureType,
25712 pub next: *mut c_void,
25713 pub pipeline: Pipeline,
25714}
25715
25716impl Default for ReleaseCapturedPipelineDataInfoKHR {
25717 #[inline]
25718 fn default() -> Self {
25719 Self {
25720 s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
25721 next: ptr::null_mut(),
25722 pipeline: Pipeline::default(),
25723 }
25724 }
25725}
25726
25727unsafe impl Send for ReleaseCapturedPipelineDataInfoKHR {}
25728unsafe impl Sync for ReleaseCapturedPipelineDataInfoKHR {}
25729
25730#[repr(C)]
25732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25733pub struct ReleaseSwapchainImagesInfoKHR {
25734 pub s_type: StructureType,
25735 pub next: *const c_void,
25736 pub swapchain: SwapchainKHR,
25737 pub image_index_count: u32,
25738 pub image_indices: *const u32,
25739}
25740
25741impl Default for ReleaseSwapchainImagesInfoKHR {
25742 #[inline]
25743 fn default() -> Self {
25744 Self {
25745 s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
25746 next: ptr::null(),
25747 swapchain: SwapchainKHR::default(),
25748 image_index_count: u32::default(),
25749 image_indices: ptr::null(),
25750 }
25751 }
25752}
25753
25754unsafe impl Send for ReleaseSwapchainImagesInfoKHR {}
25755unsafe impl Sync for ReleaseSwapchainImagesInfoKHR {}
25756
25757#[repr(C)]
25759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25760pub struct RenderPassAttachmentBeginInfo {
25761 pub s_type: StructureType,
25762 pub next: *const c_void,
25763 pub attachment_count: u32,
25764 pub attachments: *const ImageView,
25765}
25766
25767impl Default for RenderPassAttachmentBeginInfo {
25768 #[inline]
25769 fn default() -> Self {
25770 Self {
25771 s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
25772 next: ptr::null(),
25773 attachment_count: u32::default(),
25774 attachments: ptr::null(),
25775 }
25776 }
25777}
25778
25779unsafe impl Send for RenderPassAttachmentBeginInfo {}
25780unsafe impl Sync for RenderPassAttachmentBeginInfo {}
25781
25782#[repr(C)]
25784#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25785pub struct RenderPassBeginInfo {
25786 pub s_type: StructureType,
25787 pub next: *const c_void,
25788 pub render_pass: RenderPass,
25789 pub framebuffer: Framebuffer,
25790 pub render_area: Rect2D,
25791 pub clear_value_count: u32,
25792 pub clear_values: *const ClearValue,
25793}
25794
25795impl Default for RenderPassBeginInfo {
25796 #[inline]
25797 fn default() -> Self {
25798 Self {
25799 s_type: StructureType::RENDER_PASS_BEGIN_INFO,
25800 next: ptr::null(),
25801 render_pass: RenderPass::default(),
25802 framebuffer: Framebuffer::default(),
25803 render_area: Rect2D::default(),
25804 clear_value_count: u32::default(),
25805 clear_values: ptr::null(),
25806 }
25807 }
25808}
25809
25810unsafe impl Send for RenderPassBeginInfo {}
25811unsafe impl Sync for RenderPassBeginInfo {}
25812
25813#[repr(C)]
25815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25816pub struct RenderPassCreateInfo {
25817 pub s_type: StructureType,
25818 pub next: *const c_void,
25819 pub flags: RenderPassCreateFlags,
25820 pub attachment_count: u32,
25821 pub attachments: *const AttachmentDescription,
25822 pub subpass_count: u32,
25823 pub subpasses: *const SubpassDescription,
25824 pub dependency_count: u32,
25825 pub dependencies: *const SubpassDependency,
25826}
25827
25828impl Default for RenderPassCreateInfo {
25829 #[inline]
25830 fn default() -> Self {
25831 Self {
25832 s_type: StructureType::RENDER_PASS_CREATE_INFO,
25833 next: ptr::null(),
25834 flags: RenderPassCreateFlags::default(),
25835 attachment_count: u32::default(),
25836 attachments: ptr::null(),
25837 subpass_count: u32::default(),
25838 subpasses: ptr::null(),
25839 dependency_count: u32::default(),
25840 dependencies: ptr::null(),
25841 }
25842 }
25843}
25844
25845unsafe impl Send for RenderPassCreateInfo {}
25846unsafe impl Sync for RenderPassCreateInfo {}
25847
25848#[repr(C)]
25850#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25851pub struct RenderPassCreateInfo2 {
25852 pub s_type: StructureType,
25853 pub next: *const c_void,
25854 pub flags: RenderPassCreateFlags,
25855 pub attachment_count: u32,
25856 pub attachments: *const AttachmentDescription2,
25857 pub subpass_count: u32,
25858 pub subpasses: *const SubpassDescription2,
25859 pub dependency_count: u32,
25860 pub dependencies: *const SubpassDependency2,
25861 pub correlated_view_mask_count: u32,
25862 pub correlated_view_masks: *const u32,
25863}
25864
25865impl Default for RenderPassCreateInfo2 {
25866 #[inline]
25867 fn default() -> Self {
25868 Self {
25869 s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
25870 next: ptr::null(),
25871 flags: RenderPassCreateFlags::default(),
25872 attachment_count: u32::default(),
25873 attachments: ptr::null(),
25874 subpass_count: u32::default(),
25875 subpasses: ptr::null(),
25876 dependency_count: u32::default(),
25877 dependencies: ptr::null(),
25878 correlated_view_mask_count: u32::default(),
25879 correlated_view_masks: ptr::null(),
25880 }
25881 }
25882}
25883
25884unsafe impl Send for RenderPassCreateInfo2 {}
25885unsafe impl Sync for RenderPassCreateInfo2 {}
25886
25887#[repr(C)]
25889#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25890pub struct RenderPassCreationControlEXT {
25891 pub s_type: StructureType,
25892 pub next: *const c_void,
25893 pub disallow_merging: Bool32,
25894}
25895
25896impl Default for RenderPassCreationControlEXT {
25897 #[inline]
25898 fn default() -> Self {
25899 Self {
25900 s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
25901 next: ptr::null(),
25902 disallow_merging: Bool32::default(),
25903 }
25904 }
25905}
25906
25907unsafe impl Send for RenderPassCreationControlEXT {}
25908unsafe impl Sync for RenderPassCreationControlEXT {}
25909
25910#[repr(C)]
25912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25913pub struct RenderPassCreationFeedbackCreateInfoEXT {
25914 pub s_type: StructureType,
25915 pub next: *const c_void,
25916 pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
25917}
25918
25919impl Default for RenderPassCreationFeedbackCreateInfoEXT {
25920 #[inline]
25921 fn default() -> Self {
25922 Self {
25923 s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
25924 next: ptr::null(),
25925 render_pass_feedback: ptr::null_mut(),
25926 }
25927 }
25928}
25929
25930unsafe impl Send for RenderPassCreationFeedbackCreateInfoEXT {}
25931unsafe impl Sync for RenderPassCreationFeedbackCreateInfoEXT {}
25932
25933#[repr(C)]
25935#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25936pub struct RenderPassCreationFeedbackInfoEXT {
25937 pub post_merge_subpass_count: u32,
25938}
25939
25940#[repr(C)]
25942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25943pub struct RenderPassFragmentDensityMapCreateInfoEXT {
25944 pub s_type: StructureType,
25945 pub next: *const c_void,
25946 pub fragment_density_map_attachment: AttachmentReference,
25947}
25948
25949impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
25950 #[inline]
25951 fn default() -> Self {
25952 Self {
25953 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
25954 next: ptr::null(),
25955 fragment_density_map_attachment: AttachmentReference::default(),
25956 }
25957 }
25958}
25959
25960unsafe impl Send for RenderPassFragmentDensityMapCreateInfoEXT {}
25961unsafe impl Sync for RenderPassFragmentDensityMapCreateInfoEXT {}
25962
25963#[repr(C)]
25965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25966pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
25967 pub s_type: StructureType,
25968 pub next: *const c_void,
25969 pub fragment_density_offset_count: u32,
25970 pub fragment_density_offsets: *const Offset2D,
25971}
25972
25973impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
25974 #[inline]
25975 fn default() -> Self {
25976 Self {
25977 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
25978 next: ptr::null(),
25979 fragment_density_offset_count: u32::default(),
25980 fragment_density_offsets: ptr::null(),
25981 }
25982 }
25983}
25984
25985unsafe impl Send for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
25986unsafe impl Sync for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
25987
25988#[repr(C)]
25990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25991pub struct RenderPassInputAttachmentAspectCreateInfo {
25992 pub s_type: StructureType,
25993 pub next: *const c_void,
25994 pub aspect_reference_count: u32,
25995 pub aspect_references: *const InputAttachmentAspectReference,
25996}
25997
25998impl Default for RenderPassInputAttachmentAspectCreateInfo {
25999 #[inline]
26000 fn default() -> Self {
26001 Self {
26002 s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
26003 next: ptr::null(),
26004 aspect_reference_count: u32::default(),
26005 aspect_references: ptr::null(),
26006 }
26007 }
26008}
26009
26010unsafe impl Send for RenderPassInputAttachmentAspectCreateInfo {}
26011unsafe impl Sync for RenderPassInputAttachmentAspectCreateInfo {}
26012
26013#[repr(C)]
26015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26016pub struct RenderPassMultiviewCreateInfo {
26017 pub s_type: StructureType,
26018 pub next: *const c_void,
26019 pub subpass_count: u32,
26020 pub view_masks: *const u32,
26021 pub dependency_count: u32,
26022 pub view_offsets: *const i32,
26023 pub correlation_mask_count: u32,
26024 pub correlation_masks: *const u32,
26025}
26026
26027impl Default for RenderPassMultiviewCreateInfo {
26028 #[inline]
26029 fn default() -> Self {
26030 Self {
26031 s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
26032 next: ptr::null(),
26033 subpass_count: u32::default(),
26034 view_masks: ptr::null(),
26035 dependency_count: u32::default(),
26036 view_offsets: ptr::null(),
26037 correlation_mask_count: u32::default(),
26038 correlation_masks: ptr::null(),
26039 }
26040 }
26041}
26042
26043unsafe impl Send for RenderPassMultiviewCreateInfo {}
26044unsafe impl Sync for RenderPassMultiviewCreateInfo {}
26045
26046#[repr(C)]
26048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26049pub struct RenderPassSampleLocationsBeginInfoEXT {
26050 pub s_type: StructureType,
26051 pub next: *const c_void,
26052 pub attachment_initial_sample_locations_count: u32,
26053 pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
26054 pub post_subpass_sample_locations_count: u32,
26055 pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
26056}
26057
26058impl Default for RenderPassSampleLocationsBeginInfoEXT {
26059 #[inline]
26060 fn default() -> Self {
26061 Self {
26062 s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
26063 next: ptr::null(),
26064 attachment_initial_sample_locations_count: u32::default(),
26065 attachment_initial_sample_locations: ptr::null(),
26066 post_subpass_sample_locations_count: u32::default(),
26067 post_subpass_sample_locations: ptr::null(),
26068 }
26069 }
26070}
26071
26072unsafe impl Send for RenderPassSampleLocationsBeginInfoEXT {}
26073unsafe impl Sync for RenderPassSampleLocationsBeginInfoEXT {}
26074
26075#[repr(C)]
26077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26078pub struct RenderPassStripeBeginInfoARM {
26079 pub s_type: StructureType,
26080 pub next: *const c_void,
26081 pub stripe_info_count: u32,
26082 pub stripe_infos: *const RenderPassStripeInfoARM,
26083}
26084
26085impl Default for RenderPassStripeBeginInfoARM {
26086 #[inline]
26087 fn default() -> Self {
26088 Self {
26089 s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
26090 next: ptr::null(),
26091 stripe_info_count: u32::default(),
26092 stripe_infos: ptr::null(),
26093 }
26094 }
26095}
26096
26097unsafe impl Send for RenderPassStripeBeginInfoARM {}
26098unsafe impl Sync for RenderPassStripeBeginInfoARM {}
26099
26100#[repr(C)]
26102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26103pub struct RenderPassStripeInfoARM {
26104 pub s_type: StructureType,
26105 pub next: *const c_void,
26106 pub stripe_area: Rect2D,
26107}
26108
26109impl Default for RenderPassStripeInfoARM {
26110 #[inline]
26111 fn default() -> Self {
26112 Self {
26113 s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
26114 next: ptr::null(),
26115 stripe_area: Rect2D::default(),
26116 }
26117 }
26118}
26119
26120unsafe impl Send for RenderPassStripeInfoARM {}
26121unsafe impl Sync for RenderPassStripeInfoARM {}
26122
26123#[repr(C)]
26125#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26126pub struct RenderPassStripeSubmitInfoARM {
26127 pub s_type: StructureType,
26128 pub next: *const c_void,
26129 pub stripe_semaphore_info_count: u32,
26130 pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
26131}
26132
26133impl Default for RenderPassStripeSubmitInfoARM {
26134 #[inline]
26135 fn default() -> Self {
26136 Self {
26137 s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
26138 next: ptr::null(),
26139 stripe_semaphore_info_count: u32::default(),
26140 stripe_semaphore_infos: ptr::null(),
26141 }
26142 }
26143}
26144
26145unsafe impl Send for RenderPassStripeSubmitInfoARM {}
26146unsafe impl Sync for RenderPassStripeSubmitInfoARM {}
26147
26148#[repr(C)]
26150#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26151pub struct RenderPassSubpassFeedbackCreateInfoEXT {
26152 pub s_type: StructureType,
26153 pub next: *const c_void,
26154 pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
26155}
26156
26157impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
26158 #[inline]
26159 fn default() -> Self {
26160 Self {
26161 s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
26162 next: ptr::null(),
26163 subpass_feedback: ptr::null_mut(),
26164 }
26165 }
26166}
26167
26168unsafe impl Send for RenderPassSubpassFeedbackCreateInfoEXT {}
26169unsafe impl Sync for RenderPassSubpassFeedbackCreateInfoEXT {}
26170
26171#[repr(C)]
26173#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26174pub struct RenderPassSubpassFeedbackInfoEXT {
26175 pub subpass_merge_status: SubpassMergeStatusEXT,
26176 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
26177 pub post_merge_index: u32,
26178}
26179
26180#[repr(C)]
26182#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26183pub struct RenderPassTileShadingCreateInfoQCOM {
26184 pub s_type: StructureType,
26185 pub next: *const c_void,
26186 pub flags: TileShadingRenderPassFlagsQCOM,
26187 pub tile_apron_size: Extent2D,
26188}
26189
26190impl Default for RenderPassTileShadingCreateInfoQCOM {
26191 #[inline]
26192 fn default() -> Self {
26193 Self {
26194 s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
26195 next: ptr::null(),
26196 flags: TileShadingRenderPassFlagsQCOM::default(),
26197 tile_apron_size: Extent2D::default(),
26198 }
26199 }
26200}
26201
26202unsafe impl Send for RenderPassTileShadingCreateInfoQCOM {}
26203unsafe impl Sync for RenderPassTileShadingCreateInfoQCOM {}
26204
26205#[repr(C)]
26207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26208pub struct RenderPassTransformBeginInfoQCOM {
26209 pub s_type: StructureType,
26210 pub next: *const c_void,
26211 pub transform: SurfaceTransformFlagsKHR,
26212}
26213
26214impl Default for RenderPassTransformBeginInfoQCOM {
26215 #[inline]
26216 fn default() -> Self {
26217 Self {
26218 s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
26219 next: ptr::null(),
26220 transform: SurfaceTransformFlagsKHR::default(),
26221 }
26222 }
26223}
26224
26225unsafe impl Send for RenderPassTransformBeginInfoQCOM {}
26226unsafe impl Sync for RenderPassTransformBeginInfoQCOM {}
26227
26228#[repr(C)]
26230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26231pub struct RenderingAreaInfo {
26232 pub s_type: StructureType,
26233 pub next: *const c_void,
26234 pub view_mask: u32,
26235 pub color_attachment_count: u32,
26236 pub color_attachment_formats: *const Format,
26237 pub depth_attachment_format: Format,
26238 pub stencil_attachment_format: Format,
26239}
26240
26241impl Default for RenderingAreaInfo {
26242 #[inline]
26243 fn default() -> Self {
26244 Self {
26245 s_type: StructureType::RENDERING_AREA_INFO,
26246 next: ptr::null(),
26247 view_mask: u32::default(),
26248 color_attachment_count: u32::default(),
26249 color_attachment_formats: ptr::null(),
26250 depth_attachment_format: Format::default(),
26251 stencil_attachment_format: Format::default(),
26252 }
26253 }
26254}
26255
26256unsafe impl Send for RenderingAreaInfo {}
26257unsafe impl Sync for RenderingAreaInfo {}
26258
26259#[repr(C)]
26261#[derive(Copy, Clone, Debug)]
26262pub struct RenderingAttachmentInfo {
26263 pub s_type: StructureType,
26264 pub next: *const c_void,
26265 pub image_view: ImageView,
26266 pub image_layout: ImageLayout,
26267 pub resolve_mode: ResolveModeFlags,
26268 pub resolve_image_view: ImageView,
26269 pub resolve_image_layout: ImageLayout,
26270 pub load_op: AttachmentLoadOp,
26271 pub store_op: AttachmentStoreOp,
26272 pub clear_value: ClearValue,
26273}
26274
26275impl Default for RenderingAttachmentInfo {
26276 #[inline]
26277 fn default() -> Self {
26278 Self {
26279 s_type: StructureType::RENDERING_ATTACHMENT_INFO,
26280 next: ptr::null(),
26281 image_view: ImageView::default(),
26282 image_layout: ImageLayout::default(),
26283 resolve_mode: ResolveModeFlags::default(),
26284 resolve_image_view: ImageView::default(),
26285 resolve_image_layout: ImageLayout::default(),
26286 load_op: AttachmentLoadOp::default(),
26287 store_op: AttachmentStoreOp::default(),
26288 clear_value: ClearValue::default(),
26289 }
26290 }
26291}
26292
26293unsafe impl Send for RenderingAttachmentInfo {}
26294unsafe impl Sync for RenderingAttachmentInfo {}
26295
26296#[repr(C)]
26298#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26299pub struct RenderingAttachmentLocationInfo {
26300 pub s_type: StructureType,
26301 pub next: *const c_void,
26302 pub color_attachment_count: u32,
26303 pub color_attachment_locations: *const u32,
26304}
26305
26306impl Default for RenderingAttachmentLocationInfo {
26307 #[inline]
26308 fn default() -> Self {
26309 Self {
26310 s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
26311 next: ptr::null(),
26312 color_attachment_count: u32::default(),
26313 color_attachment_locations: ptr::null(),
26314 }
26315 }
26316}
26317
26318unsafe impl Send for RenderingAttachmentLocationInfo {}
26319unsafe impl Sync for RenderingAttachmentLocationInfo {}
26320
26321#[repr(C)]
26323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26324pub struct RenderingEndInfoEXT {
26325 pub s_type: StructureType,
26326 pub next: *const c_void,
26327}
26328
26329impl Default for RenderingEndInfoEXT {
26330 #[inline]
26331 fn default() -> Self {
26332 Self {
26333 s_type: StructureType::RENDERING_END_INFO_EXT,
26334 next: ptr::null(),
26335 }
26336 }
26337}
26338
26339unsafe impl Send for RenderingEndInfoEXT {}
26340unsafe impl Sync for RenderingEndInfoEXT {}
26341
26342#[repr(C)]
26344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26345pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
26346 pub s_type: StructureType,
26347 pub next: *const c_void,
26348 pub image_view: ImageView,
26349 pub image_layout: ImageLayout,
26350}
26351
26352impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
26353 #[inline]
26354 fn default() -> Self {
26355 Self {
26356 s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
26357 next: ptr::null(),
26358 image_view: ImageView::default(),
26359 image_layout: ImageLayout::default(),
26360 }
26361 }
26362}
26363
26364unsafe impl Send for RenderingFragmentDensityMapAttachmentInfoEXT {}
26365unsafe impl Sync for RenderingFragmentDensityMapAttachmentInfoEXT {}
26366
26367#[repr(C)]
26369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26370pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
26371 pub s_type: StructureType,
26372 pub next: *const c_void,
26373 pub image_view: ImageView,
26374 pub image_layout: ImageLayout,
26375 pub shading_rate_attachment_texel_size: Extent2D,
26376}
26377
26378impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
26379 #[inline]
26380 fn default() -> Self {
26381 Self {
26382 s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
26383 next: ptr::null(),
26384 image_view: ImageView::default(),
26385 image_layout: ImageLayout::default(),
26386 shading_rate_attachment_texel_size: Extent2D::default(),
26387 }
26388 }
26389}
26390
26391unsafe impl Send for RenderingFragmentShadingRateAttachmentInfoKHR {}
26392unsafe impl Sync for RenderingFragmentShadingRateAttachmentInfoKHR {}
26393
26394#[repr(C)]
26396#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26397pub struct RenderingInfo {
26398 pub s_type: StructureType,
26399 pub next: *const c_void,
26400 pub flags: RenderingFlags,
26401 pub render_area: Rect2D,
26402 pub layer_count: u32,
26403 pub view_mask: u32,
26404 pub color_attachment_count: u32,
26405 pub color_attachments: *const RenderingAttachmentInfo,
26406 pub depth_attachment: *const RenderingAttachmentInfo,
26407 pub stencil_attachment: *const RenderingAttachmentInfo,
26408}
26409
26410impl Default for RenderingInfo {
26411 #[inline]
26412 fn default() -> Self {
26413 Self {
26414 s_type: StructureType::RENDERING_INFO,
26415 next: ptr::null(),
26416 flags: RenderingFlags::default(),
26417 render_area: Rect2D::default(),
26418 layer_count: u32::default(),
26419 view_mask: u32::default(),
26420 color_attachment_count: u32::default(),
26421 color_attachments: ptr::null(),
26422 depth_attachment: ptr::null(),
26423 stencil_attachment: ptr::null(),
26424 }
26425 }
26426}
26427
26428unsafe impl Send for RenderingInfo {}
26429unsafe impl Sync for RenderingInfo {}
26430
26431#[repr(C)]
26433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26434pub struct RenderingInputAttachmentIndexInfo {
26435 pub s_type: StructureType,
26436 pub next: *const c_void,
26437 pub color_attachment_count: u32,
26438 pub color_attachment_input_indices: *const u32,
26439 pub depth_input_attachment_index: *const u32,
26440 pub stencil_input_attachment_index: *const u32,
26441}
26442
26443impl Default for RenderingInputAttachmentIndexInfo {
26444 #[inline]
26445 fn default() -> Self {
26446 Self {
26447 s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
26448 next: ptr::null(),
26449 color_attachment_count: u32::default(),
26450 color_attachment_input_indices: ptr::null(),
26451 depth_input_attachment_index: ptr::null(),
26452 stencil_input_attachment_index: ptr::null(),
26453 }
26454 }
26455}
26456
26457unsafe impl Send for RenderingInputAttachmentIndexInfo {}
26458unsafe impl Sync for RenderingInputAttachmentIndexInfo {}
26459
26460#[repr(C)]
26462#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26463pub struct ResolveImageInfo2 {
26464 pub s_type: StructureType,
26465 pub next: *const c_void,
26466 pub src_image: Image,
26467 pub src_image_layout: ImageLayout,
26468 pub dst_image: Image,
26469 pub dst_image_layout: ImageLayout,
26470 pub region_count: u32,
26471 pub regions: *const ImageResolve2,
26472}
26473
26474impl Default for ResolveImageInfo2 {
26475 #[inline]
26476 fn default() -> Self {
26477 Self {
26478 s_type: StructureType::RESOLVE_IMAGE_INFO_2,
26479 next: ptr::null(),
26480 src_image: Image::default(),
26481 src_image_layout: ImageLayout::default(),
26482 dst_image: Image::default(),
26483 dst_image_layout: ImageLayout::default(),
26484 region_count: u32::default(),
26485 regions: ptr::null(),
26486 }
26487 }
26488}
26489
26490unsafe impl Send for ResolveImageInfo2 {}
26491unsafe impl Sync for ResolveImageInfo2 {}
26492
26493#[repr(C)]
26495#[derive(Copy, Clone, Default, Debug, PartialEq)]
26496pub struct SRTDataNV {
26497 pub sx: f32,
26498 pub a: f32,
26499 pub b: f32,
26500 pub pvx: f32,
26501 pub sy: f32,
26502 pub c: f32,
26503 pub pvy: f32,
26504 pub sz: f32,
26505 pub pvz: f32,
26506 pub qx: f32,
26507 pub qy: f32,
26508 pub qz: f32,
26509 pub qw: f32,
26510 pub tx: f32,
26511 pub ty: f32,
26512 pub tz: f32,
26513}
26514
26515#[repr(C)]
26517#[derive(Copy, Clone, Default, Debug, PartialEq)]
26518pub struct SampleLocationEXT {
26519 pub x: f32,
26520 pub y: f32,
26521}
26522
26523#[repr(C)]
26525#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26526pub struct SampleLocationsInfoEXT {
26527 pub s_type: StructureType,
26528 pub next: *const c_void,
26529 pub sample_locations_per_pixel: SampleCountFlags,
26530 pub sample_location_grid_size: Extent2D,
26531 pub sample_locations_count: u32,
26532 pub sample_locations: *const SampleLocationEXT,
26533}
26534
26535impl Default for SampleLocationsInfoEXT {
26536 #[inline]
26537 fn default() -> Self {
26538 Self {
26539 s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
26540 next: ptr::null(),
26541 sample_locations_per_pixel: SampleCountFlags::default(),
26542 sample_location_grid_size: Extent2D::default(),
26543 sample_locations_count: u32::default(),
26544 sample_locations: ptr::null(),
26545 }
26546 }
26547}
26548
26549unsafe impl Send for SampleLocationsInfoEXT {}
26550unsafe impl Sync for SampleLocationsInfoEXT {}
26551
26552#[repr(C)]
26554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26555pub struct SamplerBlockMatchWindowCreateInfoQCOM {
26556 pub s_type: StructureType,
26557 pub next: *const c_void,
26558 pub window_extent: Extent2D,
26559 pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
26560}
26561
26562impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
26563 #[inline]
26564 fn default() -> Self {
26565 Self {
26566 s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
26567 next: ptr::null(),
26568 window_extent: Extent2D::default(),
26569 window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
26570 }
26571 }
26572}
26573
26574unsafe impl Send for SamplerBlockMatchWindowCreateInfoQCOM {}
26575unsafe impl Sync for SamplerBlockMatchWindowCreateInfoQCOM {}
26576
26577#[repr(C)]
26579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26580pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
26581 pub s_type: StructureType,
26582 pub next: *const c_void,
26583 pub components: ComponentMapping,
26584 pub srgb: Bool32,
26585}
26586
26587impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
26588 #[inline]
26589 fn default() -> Self {
26590 Self {
26591 s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
26592 next: ptr::null(),
26593 components: ComponentMapping::default(),
26594 srgb: Bool32::default(),
26595 }
26596 }
26597}
26598
26599unsafe impl Send for SamplerBorderColorComponentMappingCreateInfoEXT {}
26600unsafe impl Sync for SamplerBorderColorComponentMappingCreateInfoEXT {}
26601
26602#[repr(C)]
26604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26605pub struct SamplerCaptureDescriptorDataInfoEXT {
26606 pub s_type: StructureType,
26607 pub next: *const c_void,
26608 pub sampler: Sampler,
26609}
26610
26611impl Default for SamplerCaptureDescriptorDataInfoEXT {
26612 #[inline]
26613 fn default() -> Self {
26614 Self {
26615 s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
26616 next: ptr::null(),
26617 sampler: Sampler::default(),
26618 }
26619 }
26620}
26621
26622unsafe impl Send for SamplerCaptureDescriptorDataInfoEXT {}
26623unsafe impl Sync for SamplerCaptureDescriptorDataInfoEXT {}
26624
26625#[repr(C)]
26627#[derive(Copy, Clone, Debug, PartialEq)]
26628pub struct SamplerCreateInfo {
26629 pub s_type: StructureType,
26630 pub next: *const c_void,
26631 pub flags: SamplerCreateFlags,
26632 pub mag_filter: Filter,
26633 pub min_filter: Filter,
26634 pub mipmap_mode: SamplerMipmapMode,
26635 pub address_mode_u: SamplerAddressMode,
26636 pub address_mode_v: SamplerAddressMode,
26637 pub address_mode_w: SamplerAddressMode,
26638 pub mip_lod_bias: f32,
26639 pub anisotropy_enable: Bool32,
26640 pub max_anisotropy: f32,
26641 pub compare_enable: Bool32,
26642 pub compare_op: CompareOp,
26643 pub min_lod: f32,
26644 pub max_lod: f32,
26645 pub border_color: BorderColor,
26646 pub unnormalized_coordinates: Bool32,
26647}
26648
26649impl Default for SamplerCreateInfo {
26650 #[inline]
26651 fn default() -> Self {
26652 Self {
26653 s_type: StructureType::SAMPLER_CREATE_INFO,
26654 next: ptr::null(),
26655 flags: SamplerCreateFlags::default(),
26656 mag_filter: Filter::default(),
26657 min_filter: Filter::default(),
26658 mipmap_mode: SamplerMipmapMode::default(),
26659 address_mode_u: SamplerAddressMode::default(),
26660 address_mode_v: SamplerAddressMode::default(),
26661 address_mode_w: SamplerAddressMode::default(),
26662 mip_lod_bias: f32::default(),
26663 anisotropy_enable: Bool32::default(),
26664 max_anisotropy: f32::default(),
26665 compare_enable: Bool32::default(),
26666 compare_op: CompareOp::default(),
26667 min_lod: f32::default(),
26668 max_lod: f32::default(),
26669 border_color: BorderColor::default(),
26670 unnormalized_coordinates: Bool32::default(),
26671 }
26672 }
26673}
26674
26675unsafe impl Send for SamplerCreateInfo {}
26676unsafe impl Sync for SamplerCreateInfo {}
26677
26678#[repr(C)]
26680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26681pub struct SamplerCubicWeightsCreateInfoQCOM {
26682 pub s_type: StructureType,
26683 pub next: *const c_void,
26684 pub cubic_weights: CubicFilterWeightsQCOM,
26685}
26686
26687impl Default for SamplerCubicWeightsCreateInfoQCOM {
26688 #[inline]
26689 fn default() -> Self {
26690 Self {
26691 s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
26692 next: ptr::null(),
26693 cubic_weights: CubicFilterWeightsQCOM::default(),
26694 }
26695 }
26696}
26697
26698unsafe impl Send for SamplerCubicWeightsCreateInfoQCOM {}
26699unsafe impl Sync for SamplerCubicWeightsCreateInfoQCOM {}
26700
26701#[repr(C)]
26703#[derive(Copy, Clone, Debug)]
26704pub struct SamplerCustomBorderColorCreateInfoEXT {
26705 pub s_type: StructureType,
26706 pub next: *const c_void,
26707 pub custom_border_color: ClearColorValue,
26708 pub format: Format,
26709}
26710
26711impl Default for SamplerCustomBorderColorCreateInfoEXT {
26712 #[inline]
26713 fn default() -> Self {
26714 Self {
26715 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
26716 next: ptr::null(),
26717 custom_border_color: ClearColorValue::default(),
26718 format: Format::default(),
26719 }
26720 }
26721}
26722
26723unsafe impl Send for SamplerCustomBorderColorCreateInfoEXT {}
26724unsafe impl Sync for SamplerCustomBorderColorCreateInfoEXT {}
26725
26726#[repr(C)]
26728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26729pub struct SamplerReductionModeCreateInfo {
26730 pub s_type: StructureType,
26731 pub next: *const c_void,
26732 pub reduction_mode: SamplerReductionMode,
26733}
26734
26735impl Default for SamplerReductionModeCreateInfo {
26736 #[inline]
26737 fn default() -> Self {
26738 Self {
26739 s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
26740 next: ptr::null(),
26741 reduction_mode: SamplerReductionMode::default(),
26742 }
26743 }
26744}
26745
26746unsafe impl Send for SamplerReductionModeCreateInfo {}
26747unsafe impl Sync for SamplerReductionModeCreateInfo {}
26748
26749#[repr(C)]
26751#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26752pub struct SamplerYcbcrConversionCreateInfo {
26753 pub s_type: StructureType,
26754 pub next: *const c_void,
26755 pub format: Format,
26756 pub ycbcr_model: SamplerYcbcrModelConversion,
26757 pub ycbcr_range: SamplerYcbcrRange,
26758 pub components: ComponentMapping,
26759 pub x_chroma_offset: ChromaLocation,
26760 pub y_chroma_offset: ChromaLocation,
26761 pub chroma_filter: Filter,
26762 pub force_explicit_reconstruction: Bool32,
26763}
26764
26765impl Default for SamplerYcbcrConversionCreateInfo {
26766 #[inline]
26767 fn default() -> Self {
26768 Self {
26769 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
26770 next: ptr::null(),
26771 format: Format::default(),
26772 ycbcr_model: SamplerYcbcrModelConversion::default(),
26773 ycbcr_range: SamplerYcbcrRange::default(),
26774 components: ComponentMapping::default(),
26775 x_chroma_offset: ChromaLocation::default(),
26776 y_chroma_offset: ChromaLocation::default(),
26777 chroma_filter: Filter::default(),
26778 force_explicit_reconstruction: Bool32::default(),
26779 }
26780 }
26781}
26782
26783unsafe impl Send for SamplerYcbcrConversionCreateInfo {}
26784unsafe impl Sync for SamplerYcbcrConversionCreateInfo {}
26785
26786#[repr(C)]
26788#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26789pub struct SamplerYcbcrConversionImageFormatProperties {
26790 pub s_type: StructureType,
26791 pub next: *mut c_void,
26792 pub combined_image_sampler_descriptor_count: u32,
26793}
26794
26795impl Default for SamplerYcbcrConversionImageFormatProperties {
26796 #[inline]
26797 fn default() -> Self {
26798 Self {
26799 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
26800 next: ptr::null_mut(),
26801 combined_image_sampler_descriptor_count: u32::default(),
26802 }
26803 }
26804}
26805
26806unsafe impl Send for SamplerYcbcrConversionImageFormatProperties {}
26807unsafe impl Sync for SamplerYcbcrConversionImageFormatProperties {}
26808
26809#[repr(C)]
26811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26812pub struct SamplerYcbcrConversionInfo {
26813 pub s_type: StructureType,
26814 pub next: *const c_void,
26815 pub conversion: SamplerYcbcrConversion,
26816}
26817
26818impl Default for SamplerYcbcrConversionInfo {
26819 #[inline]
26820 fn default() -> Self {
26821 Self {
26822 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
26823 next: ptr::null(),
26824 conversion: SamplerYcbcrConversion::default(),
26825 }
26826 }
26827}
26828
26829unsafe impl Send for SamplerYcbcrConversionInfo {}
26830unsafe impl Sync for SamplerYcbcrConversionInfo {}
26831
26832#[repr(C)]
26834#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26835pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
26836 pub s_type: StructureType,
26837 pub next: *mut c_void,
26838 pub enable_y_degamma: Bool32,
26839 pub enable_cb_cr_degamma: Bool32,
26840}
26841
26842impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
26843 #[inline]
26844 fn default() -> Self {
26845 Self {
26846 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
26847 next: ptr::null_mut(),
26848 enable_y_degamma: Bool32::default(),
26849 enable_cb_cr_degamma: Bool32::default(),
26850 }
26851 }
26852}
26853
26854unsafe impl Send for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
26855unsafe impl Sync for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
26856
26857#[repr(C)]
26859#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26860pub struct SciSyncAttributesInfoNV {
26861 pub s_type: StructureType,
26862 pub next: *const c_void,
26863 pub client_type: SciSyncClientTypeNV,
26864 pub primitive_type: SciSyncPrimitiveTypeNV,
26865}
26866
26867impl Default for SciSyncAttributesInfoNV {
26868 #[inline]
26869 fn default() -> Self {
26870 Self {
26871 s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
26872 next: ptr::null(),
26873 client_type: SciSyncClientTypeNV::default(),
26874 primitive_type: SciSyncPrimitiveTypeNV::default(),
26875 }
26876 }
26877}
26878
26879unsafe impl Send for SciSyncAttributesInfoNV {}
26880unsafe impl Sync for SciSyncAttributesInfoNV {}
26881
26882#[repr(C)]
26884#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26885pub struct ScreenBufferFormatPropertiesQNX {
26886 pub s_type: StructureType,
26887 pub next: *mut c_void,
26888 pub format: Format,
26889 pub external_format: u64,
26890 pub screen_usage: u64,
26891 pub format_features: FormatFeatureFlags,
26892 pub sampler_ycbcr_conversion_components: ComponentMapping,
26893 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
26894 pub suggested_ycbcr_range: SamplerYcbcrRange,
26895 pub suggested_x_chroma_offset: ChromaLocation,
26896 pub suggested_y_chroma_offset: ChromaLocation,
26897}
26898
26899impl Default for ScreenBufferFormatPropertiesQNX {
26900 #[inline]
26901 fn default() -> Self {
26902 Self {
26903 s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
26904 next: ptr::null_mut(),
26905 format: Format::default(),
26906 external_format: u64::default(),
26907 screen_usage: u64::default(),
26908 format_features: FormatFeatureFlags::default(),
26909 sampler_ycbcr_conversion_components: ComponentMapping::default(),
26910 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
26911 suggested_ycbcr_range: SamplerYcbcrRange::default(),
26912 suggested_x_chroma_offset: ChromaLocation::default(),
26913 suggested_y_chroma_offset: ChromaLocation::default(),
26914 }
26915 }
26916}
26917
26918unsafe impl Send for ScreenBufferFormatPropertiesQNX {}
26919unsafe impl Sync for ScreenBufferFormatPropertiesQNX {}
26920
26921#[repr(C)]
26923#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26924pub struct ScreenBufferPropertiesQNX {
26925 pub s_type: StructureType,
26926 pub next: *mut c_void,
26927 pub allocation_size: DeviceSize,
26928 pub memory_type_bits: u32,
26929}
26930
26931impl Default for ScreenBufferPropertiesQNX {
26932 #[inline]
26933 fn default() -> Self {
26934 Self {
26935 s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
26936 next: ptr::null_mut(),
26937 allocation_size: DeviceSize::default(),
26938 memory_type_bits: u32::default(),
26939 }
26940 }
26941}
26942
26943unsafe impl Send for ScreenBufferPropertiesQNX {}
26944unsafe impl Sync for ScreenBufferPropertiesQNX {}
26945
26946#[repr(C)]
26948#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26949pub struct ScreenSurfaceCreateInfoQNX {
26950 pub s_type: StructureType,
26951 pub next: *const c_void,
26952 pub flags: ScreenSurfaceCreateFlagsQNX,
26953 pub context: *mut _screen_context,
26954 pub window: *mut _screen_window,
26955}
26956
26957impl Default for ScreenSurfaceCreateInfoQNX {
26958 #[inline]
26959 fn default() -> Self {
26960 Self {
26961 s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
26962 next: ptr::null(),
26963 flags: ScreenSurfaceCreateFlagsQNX::default(),
26964 context: ptr::null_mut(),
26965 window: ptr::null_mut(),
26966 }
26967 }
26968}
26969
26970unsafe impl Send for ScreenSurfaceCreateInfoQNX {}
26971unsafe impl Sync for ScreenSurfaceCreateInfoQNX {}
26972
26973#[repr(C)]
26975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26976pub struct SemaphoreCreateInfo {
26977 pub s_type: StructureType,
26978 pub next: *const c_void,
26979 pub flags: SemaphoreCreateFlags,
26980}
26981
26982impl Default for SemaphoreCreateInfo {
26983 #[inline]
26984 fn default() -> Self {
26985 Self {
26986 s_type: StructureType::SEMAPHORE_CREATE_INFO,
26987 next: ptr::null(),
26988 flags: SemaphoreCreateFlags::default(),
26989 }
26990 }
26991}
26992
26993unsafe impl Send for SemaphoreCreateInfo {}
26994unsafe impl Sync for SemaphoreCreateInfo {}
26995
26996#[repr(C)]
26998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26999pub struct SemaphoreGetFdInfoKHR {
27000 pub s_type: StructureType,
27001 pub next: *const c_void,
27002 pub semaphore: Semaphore,
27003 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27004}
27005
27006impl Default for SemaphoreGetFdInfoKHR {
27007 #[inline]
27008 fn default() -> Self {
27009 Self {
27010 s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
27011 next: ptr::null(),
27012 semaphore: Semaphore::default(),
27013 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27014 }
27015 }
27016}
27017
27018unsafe impl Send for SemaphoreGetFdInfoKHR {}
27019unsafe impl Sync for SemaphoreGetFdInfoKHR {}
27020
27021#[repr(C)]
27023#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27024pub struct SemaphoreGetSciSyncInfoNV {
27025 pub s_type: StructureType,
27026 pub next: *const c_void,
27027 pub semaphore: Semaphore,
27028 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27029}
27030
27031impl Default for SemaphoreGetSciSyncInfoNV {
27032 #[inline]
27033 fn default() -> Self {
27034 Self {
27035 s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
27036 next: ptr::null(),
27037 semaphore: Semaphore::default(),
27038 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27039 }
27040 }
27041}
27042
27043unsafe impl Send for SemaphoreGetSciSyncInfoNV {}
27044unsafe impl Sync for SemaphoreGetSciSyncInfoNV {}
27045
27046#[repr(C)]
27048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27049pub struct SemaphoreGetWin32HandleInfoKHR {
27050 pub s_type: StructureType,
27051 pub next: *const c_void,
27052 pub semaphore: Semaphore,
27053 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27054}
27055
27056impl Default for SemaphoreGetWin32HandleInfoKHR {
27057 #[inline]
27058 fn default() -> Self {
27059 Self {
27060 s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
27061 next: ptr::null(),
27062 semaphore: Semaphore::default(),
27063 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27064 }
27065 }
27066}
27067
27068unsafe impl Send for SemaphoreGetWin32HandleInfoKHR {}
27069unsafe impl Sync for SemaphoreGetWin32HandleInfoKHR {}
27070
27071#[repr(C)]
27073#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27074pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
27075 pub s_type: StructureType,
27076 pub next: *const c_void,
27077 pub semaphore: Semaphore,
27078 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27079}
27080
27081impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
27082 #[inline]
27083 fn default() -> Self {
27084 Self {
27085 s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
27086 next: ptr::null(),
27087 semaphore: Semaphore::default(),
27088 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27089 }
27090 }
27091}
27092
27093unsafe impl Send for SemaphoreGetZirconHandleInfoFUCHSIA {}
27094unsafe impl Sync for SemaphoreGetZirconHandleInfoFUCHSIA {}
27095
27096#[repr(C)]
27098#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27099pub struct SemaphoreSciSyncCreateInfoNV {
27100 pub s_type: StructureType,
27101 pub next: *const c_void,
27102 pub semaphore_pool: SemaphoreSciSyncPoolNV,
27103 pub fence: *const NvSciSyncFence,
27104}
27105
27106impl Default for SemaphoreSciSyncCreateInfoNV {
27107 #[inline]
27108 fn default() -> Self {
27109 Self {
27110 s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
27111 next: ptr::null(),
27112 semaphore_pool: SemaphoreSciSyncPoolNV::default(),
27113 fence: ptr::null(),
27114 }
27115 }
27116}
27117
27118unsafe impl Send for SemaphoreSciSyncCreateInfoNV {}
27119unsafe impl Sync for SemaphoreSciSyncCreateInfoNV {}
27120
27121#[repr(C)]
27123#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27124pub struct SemaphoreSciSyncPoolCreateInfoNV {
27125 pub s_type: StructureType,
27126 pub next: *const c_void,
27127 pub handle: NvSciSyncObj,
27128}
27129
27130impl Default for SemaphoreSciSyncPoolCreateInfoNV {
27131 #[inline]
27132 fn default() -> Self {
27133 Self {
27134 s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
27135 next: ptr::null(),
27136 handle: ptr::null_mut(),
27137 }
27138 }
27139}
27140
27141unsafe impl Send for SemaphoreSciSyncPoolCreateInfoNV {}
27142unsafe impl Sync for SemaphoreSciSyncPoolCreateInfoNV {}
27143
27144#[repr(C)]
27146#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27147pub struct SemaphoreSignalInfo {
27148 pub s_type: StructureType,
27149 pub next: *const c_void,
27150 pub semaphore: Semaphore,
27151 pub value: u64,
27152}
27153
27154impl Default for SemaphoreSignalInfo {
27155 #[inline]
27156 fn default() -> Self {
27157 Self {
27158 s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
27159 next: ptr::null(),
27160 semaphore: Semaphore::default(),
27161 value: u64::default(),
27162 }
27163 }
27164}
27165
27166unsafe impl Send for SemaphoreSignalInfo {}
27167unsafe impl Sync for SemaphoreSignalInfo {}
27168
27169#[repr(C)]
27171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27172pub struct SemaphoreSubmitInfo {
27173 pub s_type: StructureType,
27174 pub next: *const c_void,
27175 pub semaphore: Semaphore,
27176 pub value: u64,
27177 pub stage_mask: PipelineStageFlags2,
27178 pub device_index: u32,
27179}
27180
27181impl Default for SemaphoreSubmitInfo {
27182 #[inline]
27183 fn default() -> Self {
27184 Self {
27185 s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
27186 next: ptr::null(),
27187 semaphore: Semaphore::default(),
27188 value: u64::default(),
27189 stage_mask: PipelineStageFlags2::default(),
27190 device_index: u32::default(),
27191 }
27192 }
27193}
27194
27195unsafe impl Send for SemaphoreSubmitInfo {}
27196unsafe impl Sync for SemaphoreSubmitInfo {}
27197
27198#[repr(C)]
27200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27201pub struct SemaphoreTypeCreateInfo {
27202 pub s_type: StructureType,
27203 pub next: *const c_void,
27204 pub semaphore_type: SemaphoreType,
27205 pub initial_value: u64,
27206}
27207
27208impl Default for SemaphoreTypeCreateInfo {
27209 #[inline]
27210 fn default() -> Self {
27211 Self {
27212 s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
27213 next: ptr::null(),
27214 semaphore_type: SemaphoreType::default(),
27215 initial_value: u64::default(),
27216 }
27217 }
27218}
27219
27220unsafe impl Send for SemaphoreTypeCreateInfo {}
27221unsafe impl Sync for SemaphoreTypeCreateInfo {}
27222
27223#[repr(C)]
27225#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27226pub struct SemaphoreWaitInfo {
27227 pub s_type: StructureType,
27228 pub next: *const c_void,
27229 pub flags: SemaphoreWaitFlags,
27230 pub semaphore_count: u32,
27231 pub semaphores: *const Semaphore,
27232 pub values: *const u64,
27233}
27234
27235impl Default for SemaphoreWaitInfo {
27236 #[inline]
27237 fn default() -> Self {
27238 Self {
27239 s_type: StructureType::SEMAPHORE_WAIT_INFO,
27240 next: ptr::null(),
27241 flags: SemaphoreWaitFlags::default(),
27242 semaphore_count: u32::default(),
27243 semaphores: ptr::null(),
27244 values: ptr::null(),
27245 }
27246 }
27247}
27248
27249unsafe impl Send for SemaphoreWaitInfo {}
27250unsafe impl Sync for SemaphoreWaitInfo {}
27251
27252#[repr(C)]
27254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27255pub struct SetDescriptorBufferOffsetsInfoEXT {
27256 pub s_type: StructureType,
27257 pub next: *const c_void,
27258 pub stage_flags: ShaderStageFlags,
27259 pub layout: PipelineLayout,
27260 pub first_set: u32,
27261 pub set_count: u32,
27262 pub buffer_indices: *const u32,
27263 pub offsets: *const DeviceSize,
27264}
27265
27266impl Default for SetDescriptorBufferOffsetsInfoEXT {
27267 #[inline]
27268 fn default() -> Self {
27269 Self {
27270 s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
27271 next: ptr::null(),
27272 stage_flags: ShaderStageFlags::default(),
27273 layout: PipelineLayout::default(),
27274 first_set: u32::default(),
27275 set_count: u32::default(),
27276 buffer_indices: ptr::null(),
27277 offsets: ptr::null(),
27278 }
27279 }
27280}
27281
27282unsafe impl Send for SetDescriptorBufferOffsetsInfoEXT {}
27283unsafe impl Sync for SetDescriptorBufferOffsetsInfoEXT {}
27284
27285#[repr(C)]
27287#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27288pub struct SetLatencyMarkerInfoNV {
27289 pub s_type: StructureType,
27290 pub next: *const c_void,
27291 pub present_id: u64,
27292 pub marker: LatencyMarkerNV,
27293}
27294
27295impl Default for SetLatencyMarkerInfoNV {
27296 #[inline]
27297 fn default() -> Self {
27298 Self {
27299 s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
27300 next: ptr::null(),
27301 present_id: u64::default(),
27302 marker: LatencyMarkerNV::default(),
27303 }
27304 }
27305}
27306
27307unsafe impl Send for SetLatencyMarkerInfoNV {}
27308unsafe impl Sync for SetLatencyMarkerInfoNV {}
27309
27310#[repr(C)]
27312#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27313pub struct SetPresentConfigNV {
27314 pub s_type: StructureType,
27315 pub next: *const c_void,
27316 pub num_frames_per_batch: u32,
27317 pub present_config_feedback: u32,
27318}
27319
27320impl Default for SetPresentConfigNV {
27321 #[inline]
27322 fn default() -> Self {
27323 Self {
27324 s_type: StructureType::SET_PRESENT_CONFIG_NV,
27325 next: ptr::null(),
27326 num_frames_per_batch: u32::default(),
27327 present_config_feedback: u32::default(),
27328 }
27329 }
27330}
27331
27332unsafe impl Send for SetPresentConfigNV {}
27333unsafe impl Sync for SetPresentConfigNV {}
27334
27335#[repr(C)]
27337#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27338pub struct SetStateFlagsIndirectCommandNV {
27339 pub data: u32,
27340}
27341
27342#[repr(C)]
27344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27345pub struct ShaderCreateInfoEXT {
27346 pub s_type: StructureType,
27347 pub next: *const c_void,
27348 pub flags: ShaderCreateFlagsEXT,
27349 pub stage: ShaderStageFlags,
27350 pub next_stage: ShaderStageFlags,
27351 pub code_type: ShaderCodeTypeEXT,
27352 pub code_size: usize,
27353 pub code: *const c_void,
27354 pub name: *const c_char,
27355 pub set_layout_count: u32,
27356 pub set_layouts: *const DescriptorSetLayout,
27357 pub push_constant_range_count: u32,
27358 pub push_constant_ranges: *const PushConstantRange,
27359 pub specialization_info: *const SpecializationInfo,
27360}
27361
27362impl Default for ShaderCreateInfoEXT {
27363 #[inline]
27364 fn default() -> Self {
27365 Self {
27366 s_type: StructureType::SHADER_CREATE_INFO_EXT,
27367 next: ptr::null(),
27368 flags: ShaderCreateFlagsEXT::default(),
27369 stage: ShaderStageFlags::default(),
27370 next_stage: ShaderStageFlags::default(),
27371 code_type: ShaderCodeTypeEXT::default(),
27372 code_size: usize::default(),
27373 code: ptr::null(),
27374 name: ptr::null(),
27375 set_layout_count: u32::default(),
27376 set_layouts: ptr::null(),
27377 push_constant_range_count: u32::default(),
27378 push_constant_ranges: ptr::null(),
27379 specialization_info: ptr::null(),
27380 }
27381 }
27382}
27383
27384unsafe impl Send for ShaderCreateInfoEXT {}
27385unsafe impl Sync for ShaderCreateInfoEXT {}
27386
27387#[repr(C)]
27389#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27390pub struct ShaderModuleCreateInfo {
27391 pub s_type: StructureType,
27392 pub next: *const c_void,
27393 pub flags: ShaderModuleCreateFlags,
27394 pub code_size: usize,
27395 pub code: *const u32,
27396}
27397
27398impl Default for ShaderModuleCreateInfo {
27399 #[inline]
27400 fn default() -> Self {
27401 Self {
27402 s_type: StructureType::SHADER_MODULE_CREATE_INFO,
27403 next: ptr::null(),
27404 flags: ShaderModuleCreateFlags::default(),
27405 code_size: usize::default(),
27406 code: ptr::null(),
27407 }
27408 }
27409}
27410
27411unsafe impl Send for ShaderModuleCreateInfo {}
27412unsafe impl Sync for ShaderModuleCreateInfo {}
27413
27414#[repr(C)]
27416#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27417pub struct ShaderModuleIdentifierEXT {
27418 pub s_type: StructureType,
27419 pub next: *mut c_void,
27420 pub identifier_size: u32,
27421 pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
27422}
27423
27424impl Default for ShaderModuleIdentifierEXT {
27425 #[inline]
27426 fn default() -> Self {
27427 Self {
27428 s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
27429 next: ptr::null_mut(),
27430 identifier_size: u32::default(),
27431 identifier: ByteArray::default(),
27432 }
27433 }
27434}
27435
27436unsafe impl Send for ShaderModuleIdentifierEXT {}
27437unsafe impl Sync for ShaderModuleIdentifierEXT {}
27438
27439#[repr(C)]
27441#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27442pub struct ShaderModuleValidationCacheCreateInfoEXT {
27443 pub s_type: StructureType,
27444 pub next: *const c_void,
27445 pub validation_cache: ValidationCacheEXT,
27446}
27447
27448impl Default for ShaderModuleValidationCacheCreateInfoEXT {
27449 #[inline]
27450 fn default() -> Self {
27451 Self {
27452 s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
27453 next: ptr::null(),
27454 validation_cache: ValidationCacheEXT::default(),
27455 }
27456 }
27457}
27458
27459unsafe impl Send for ShaderModuleValidationCacheCreateInfoEXT {}
27460unsafe impl Sync for ShaderModuleValidationCacheCreateInfoEXT {}
27461
27462#[repr(C)]
27464#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27465pub struct ShaderResourceUsageAMD {
27466 pub num_used_vgprs: u32,
27467 pub num_used_sgprs: u32,
27468 pub lds_size_per_local_work_group: u32,
27469 pub lds_usage_size_in_bytes: usize,
27470 pub scratch_mem_usage_in_bytes: usize,
27471}
27472
27473#[repr(C)]
27475#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27476pub struct ShaderStatisticsInfoAMD {
27477 pub shader_stage_mask: ShaderStageFlags,
27478 pub resource_usage: ShaderResourceUsageAMD,
27479 pub num_physical_vgprs: u32,
27480 pub num_physical_sgprs: u32,
27481 pub num_available_vgprs: u32,
27482 pub num_available_sgprs: u32,
27483 pub compute_work_group_size: [u32; 3],
27484}
27485
27486#[repr(C)]
27488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27489pub struct ShadingRatePaletteNV {
27490 pub shading_rate_palette_entry_count: u32,
27491 pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
27492}
27493
27494impl Default for ShadingRatePaletteNV {
27495 #[inline]
27496 fn default() -> Self {
27497 Self {
27498 shading_rate_palette_entry_count: u32::default(),
27499 shading_rate_palette_entries: ptr::null(),
27500 }
27501 }
27502}
27503
27504unsafe impl Send for ShadingRatePaletteNV {}
27505unsafe impl Sync for ShadingRatePaletteNV {}
27506
27507#[repr(C)]
27509#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27510pub struct SharedPresentSurfaceCapabilitiesKHR {
27511 pub s_type: StructureType,
27512 pub next: *mut c_void,
27513 pub shared_present_supported_usage_flags: ImageUsageFlags,
27514}
27515
27516impl Default for SharedPresentSurfaceCapabilitiesKHR {
27517 #[inline]
27518 fn default() -> Self {
27519 Self {
27520 s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
27521 next: ptr::null_mut(),
27522 shared_present_supported_usage_flags: ImageUsageFlags::default(),
27523 }
27524 }
27525}
27526
27527unsafe impl Send for SharedPresentSurfaceCapabilitiesKHR {}
27528unsafe impl Sync for SharedPresentSurfaceCapabilitiesKHR {}
27529
27530#[repr(C)]
27532#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27533pub struct SparseBufferMemoryBindInfo {
27534 pub buffer: Buffer,
27535 pub bind_count: u32,
27536 pub binds: *const SparseMemoryBind,
27537}
27538
27539impl Default for SparseBufferMemoryBindInfo {
27540 #[inline]
27541 fn default() -> Self {
27542 Self {
27543 buffer: Buffer::default(),
27544 bind_count: u32::default(),
27545 binds: ptr::null(),
27546 }
27547 }
27548}
27549
27550unsafe impl Send for SparseBufferMemoryBindInfo {}
27551unsafe impl Sync for SparseBufferMemoryBindInfo {}
27552
27553#[repr(C)]
27555#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27556pub struct SparseImageFormatProperties {
27557 pub aspect_mask: ImageAspectFlags,
27558 pub image_granularity: Extent3D,
27559 pub flags: SparseImageFormatFlags,
27560}
27561
27562#[repr(C)]
27564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27565pub struct SparseImageFormatProperties2 {
27566 pub s_type: StructureType,
27567 pub next: *mut c_void,
27568 pub properties: SparseImageFormatProperties,
27569}
27570
27571impl Default for SparseImageFormatProperties2 {
27572 #[inline]
27573 fn default() -> Self {
27574 Self {
27575 s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
27576 next: ptr::null_mut(),
27577 properties: SparseImageFormatProperties::default(),
27578 }
27579 }
27580}
27581
27582unsafe impl Send for SparseImageFormatProperties2 {}
27583unsafe impl Sync for SparseImageFormatProperties2 {}
27584
27585#[repr(C)]
27587#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27588pub struct SparseImageMemoryBind {
27589 pub subresource: ImageSubresource,
27590 pub offset: Offset3D,
27591 pub extent: Extent3D,
27592 pub memory: DeviceMemory,
27593 pub memory_offset: DeviceSize,
27594 pub flags: SparseMemoryBindFlags,
27595}
27596
27597#[repr(C)]
27599#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27600pub struct SparseImageMemoryBindInfo {
27601 pub image: Image,
27602 pub bind_count: u32,
27603 pub binds: *const SparseImageMemoryBind,
27604}
27605
27606impl Default for SparseImageMemoryBindInfo {
27607 #[inline]
27608 fn default() -> Self {
27609 Self {
27610 image: Image::default(),
27611 bind_count: u32::default(),
27612 binds: ptr::null(),
27613 }
27614 }
27615}
27616
27617unsafe impl Send for SparseImageMemoryBindInfo {}
27618unsafe impl Sync for SparseImageMemoryBindInfo {}
27619
27620#[repr(C)]
27622#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27623pub struct SparseImageMemoryRequirements {
27624 pub format_properties: SparseImageFormatProperties,
27625 pub image_mip_tail_first_lod: u32,
27626 pub image_mip_tail_size: DeviceSize,
27627 pub image_mip_tail_offset: DeviceSize,
27628 pub image_mip_tail_stride: DeviceSize,
27629}
27630
27631#[repr(C)]
27633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27634pub struct SparseImageMemoryRequirements2 {
27635 pub s_type: StructureType,
27636 pub next: *mut c_void,
27637 pub memory_requirements: SparseImageMemoryRequirements,
27638}
27639
27640impl Default for SparseImageMemoryRequirements2 {
27641 #[inline]
27642 fn default() -> Self {
27643 Self {
27644 s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
27645 next: ptr::null_mut(),
27646 memory_requirements: SparseImageMemoryRequirements::default(),
27647 }
27648 }
27649}
27650
27651unsafe impl Send for SparseImageMemoryRequirements2 {}
27652unsafe impl Sync for SparseImageMemoryRequirements2 {}
27653
27654#[repr(C)]
27656#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27657pub struct SparseImageOpaqueMemoryBindInfo {
27658 pub image: Image,
27659 pub bind_count: u32,
27660 pub binds: *const SparseMemoryBind,
27661}
27662
27663impl Default for SparseImageOpaqueMemoryBindInfo {
27664 #[inline]
27665 fn default() -> Self {
27666 Self {
27667 image: Image::default(),
27668 bind_count: u32::default(),
27669 binds: ptr::null(),
27670 }
27671 }
27672}
27673
27674unsafe impl Send for SparseImageOpaqueMemoryBindInfo {}
27675unsafe impl Sync for SparseImageOpaqueMemoryBindInfo {}
27676
27677#[repr(C)]
27679#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27680pub struct SparseMemoryBind {
27681 pub resource_offset: DeviceSize,
27682 pub size: DeviceSize,
27683 pub memory: DeviceMemory,
27684 pub memory_offset: DeviceSize,
27685 pub flags: SparseMemoryBindFlags,
27686}
27687
27688#[repr(C)]
27690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27691pub struct SpecializationInfo {
27692 pub map_entry_count: u32,
27693 pub map_entries: *const SpecializationMapEntry,
27694 pub data_size: usize,
27695 pub data: *const c_void,
27696}
27697
27698impl Default for SpecializationInfo {
27699 #[inline]
27700 fn default() -> Self {
27701 Self {
27702 map_entry_count: u32::default(),
27703 map_entries: ptr::null(),
27704 data_size: usize::default(),
27705 data: ptr::null(),
27706 }
27707 }
27708}
27709
27710unsafe impl Send for SpecializationInfo {}
27711unsafe impl Sync for SpecializationInfo {}
27712
27713#[repr(C)]
27715#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27716pub struct SpecializationMapEntry {
27717 pub constant_id: u32,
27718 pub offset: u32,
27719 pub size: usize,
27720}
27721
27722#[repr(C)]
27724#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27725pub struct StencilOpState {
27726 pub fail_op: StencilOp,
27727 pub pass_op: StencilOp,
27728 pub depth_fail_op: StencilOp,
27729 pub compare_op: CompareOp,
27730 pub compare_mask: u32,
27731 pub write_mask: u32,
27732 pub reference: u32,
27733}
27734
27735#[repr(C)]
27737#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27738pub struct StreamDescriptorSurfaceCreateInfoGGP {
27739 pub s_type: StructureType,
27740 pub next: *const c_void,
27741 pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
27742 pub stream_descriptor: GgpStreamDescriptor,
27743}
27744
27745impl Default for StreamDescriptorSurfaceCreateInfoGGP {
27746 #[inline]
27747 fn default() -> Self {
27748 Self {
27749 s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
27750 next: ptr::null(),
27751 flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
27752 stream_descriptor: GgpStreamDescriptor::default(),
27753 }
27754 }
27755}
27756
27757unsafe impl Send for StreamDescriptorSurfaceCreateInfoGGP {}
27758unsafe impl Sync for StreamDescriptorSurfaceCreateInfoGGP {}
27759
27760#[repr(C)]
27762#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27763pub struct StridedDeviceAddressNV {
27764 pub start_address: DeviceAddress,
27765 pub stride_in_bytes: DeviceSize,
27766}
27767
27768#[repr(C)]
27770#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27771pub struct StridedDeviceAddressRangeKHR {
27772 pub address: DeviceAddress,
27773 pub size: DeviceSize,
27774 pub stride: DeviceSize,
27775}
27776
27777#[repr(C)]
27779#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27780pub struct StridedDeviceAddressRegionKHR {
27781 pub device_address: DeviceAddress,
27782 pub stride: DeviceSize,
27783 pub size: DeviceSize,
27784}
27785
27786#[repr(C)]
27788#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27789pub struct SubmitInfo {
27790 pub s_type: StructureType,
27791 pub next: *const c_void,
27792 pub wait_semaphore_count: u32,
27793 pub wait_semaphores: *const Semaphore,
27794 pub wait_dst_stage_mask: *const PipelineStageFlags,
27795 pub command_buffer_count: u32,
27796 pub command_buffers: *const CommandBuffer,
27797 pub signal_semaphore_count: u32,
27798 pub signal_semaphores: *const Semaphore,
27799}
27800
27801impl Default for SubmitInfo {
27802 #[inline]
27803 fn default() -> Self {
27804 Self {
27805 s_type: StructureType::SUBMIT_INFO,
27806 next: ptr::null(),
27807 wait_semaphore_count: u32::default(),
27808 wait_semaphores: ptr::null(),
27809 wait_dst_stage_mask: ptr::null(),
27810 command_buffer_count: u32::default(),
27811 command_buffers: ptr::null(),
27812 signal_semaphore_count: u32::default(),
27813 signal_semaphores: ptr::null(),
27814 }
27815 }
27816}
27817
27818unsafe impl Send for SubmitInfo {}
27819unsafe impl Sync for SubmitInfo {}
27820
27821#[repr(C)]
27823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27824pub struct SubmitInfo2 {
27825 pub s_type: StructureType,
27826 pub next: *const c_void,
27827 pub flags: SubmitFlags,
27828 pub wait_semaphore_info_count: u32,
27829 pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
27830 pub command_buffer_info_count: u32,
27831 pub command_buffer_infos: *const CommandBufferSubmitInfo,
27832 pub signal_semaphore_info_count: u32,
27833 pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
27834}
27835
27836impl Default for SubmitInfo2 {
27837 #[inline]
27838 fn default() -> Self {
27839 Self {
27840 s_type: StructureType::SUBMIT_INFO_2,
27841 next: ptr::null(),
27842 flags: SubmitFlags::default(),
27843 wait_semaphore_info_count: u32::default(),
27844 wait_semaphore_infos: ptr::null(),
27845 command_buffer_info_count: u32::default(),
27846 command_buffer_infos: ptr::null(),
27847 signal_semaphore_info_count: u32::default(),
27848 signal_semaphore_infos: ptr::null(),
27849 }
27850 }
27851}
27852
27853unsafe impl Send for SubmitInfo2 {}
27854unsafe impl Sync for SubmitInfo2 {}
27855
27856#[repr(C)]
27858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27859pub struct SubpassBeginInfo {
27860 pub s_type: StructureType,
27861 pub next: *const c_void,
27862 pub contents: SubpassContents,
27863}
27864
27865impl Default for SubpassBeginInfo {
27866 #[inline]
27867 fn default() -> Self {
27868 Self {
27869 s_type: StructureType::SUBPASS_BEGIN_INFO,
27870 next: ptr::null(),
27871 contents: SubpassContents::default(),
27872 }
27873 }
27874}
27875
27876unsafe impl Send for SubpassBeginInfo {}
27877unsafe impl Sync for SubpassBeginInfo {}
27878
27879#[repr(C)]
27881#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27882pub struct SubpassDependency {
27883 pub src_subpass: u32,
27884 pub dst_subpass: u32,
27885 pub src_stage_mask: PipelineStageFlags,
27886 pub dst_stage_mask: PipelineStageFlags,
27887 pub src_access_mask: AccessFlags,
27888 pub dst_access_mask: AccessFlags,
27889 pub dependency_flags: DependencyFlags,
27890}
27891
27892#[repr(C)]
27894#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27895pub struct SubpassDependency2 {
27896 pub s_type: StructureType,
27897 pub next: *const c_void,
27898 pub src_subpass: u32,
27899 pub dst_subpass: u32,
27900 pub src_stage_mask: PipelineStageFlags,
27901 pub dst_stage_mask: PipelineStageFlags,
27902 pub src_access_mask: AccessFlags,
27903 pub dst_access_mask: AccessFlags,
27904 pub dependency_flags: DependencyFlags,
27905 pub view_offset: i32,
27906}
27907
27908impl Default for SubpassDependency2 {
27909 #[inline]
27910 fn default() -> Self {
27911 Self {
27912 s_type: StructureType::SUBPASS_DEPENDENCY_2,
27913 next: ptr::null(),
27914 src_subpass: u32::default(),
27915 dst_subpass: u32::default(),
27916 src_stage_mask: PipelineStageFlags::default(),
27917 dst_stage_mask: PipelineStageFlags::default(),
27918 src_access_mask: AccessFlags::default(),
27919 dst_access_mask: AccessFlags::default(),
27920 dependency_flags: DependencyFlags::default(),
27921 view_offset: i32::default(),
27922 }
27923 }
27924}
27925
27926unsafe impl Send for SubpassDependency2 {}
27927unsafe impl Sync for SubpassDependency2 {}
27928
27929#[repr(C)]
27931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27932pub struct SubpassDescription {
27933 pub flags: SubpassDescriptionFlags,
27934 pub pipeline_bind_point: PipelineBindPoint,
27935 pub input_attachment_count: u32,
27936 pub input_attachments: *const AttachmentReference,
27937 pub color_attachment_count: u32,
27938 pub color_attachments: *const AttachmentReference,
27939 pub resolve_attachments: *const AttachmentReference,
27940 pub depth_stencil_attachment: *const AttachmentReference,
27941 pub preserve_attachment_count: u32,
27942 pub preserve_attachments: *const u32,
27943}
27944
27945impl Default for SubpassDescription {
27946 #[inline]
27947 fn default() -> Self {
27948 Self {
27949 flags: SubpassDescriptionFlags::default(),
27950 pipeline_bind_point: PipelineBindPoint::default(),
27951 input_attachment_count: u32::default(),
27952 input_attachments: ptr::null(),
27953 color_attachment_count: u32::default(),
27954 color_attachments: ptr::null(),
27955 resolve_attachments: ptr::null(),
27956 depth_stencil_attachment: ptr::null(),
27957 preserve_attachment_count: u32::default(),
27958 preserve_attachments: ptr::null(),
27959 }
27960 }
27961}
27962
27963unsafe impl Send for SubpassDescription {}
27964unsafe impl Sync for SubpassDescription {}
27965
27966#[repr(C)]
27968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27969pub struct SubpassDescription2 {
27970 pub s_type: StructureType,
27971 pub next: *const c_void,
27972 pub flags: SubpassDescriptionFlags,
27973 pub pipeline_bind_point: PipelineBindPoint,
27974 pub view_mask: u32,
27975 pub input_attachment_count: u32,
27976 pub input_attachments: *const AttachmentReference2,
27977 pub color_attachment_count: u32,
27978 pub color_attachments: *const AttachmentReference2,
27979 pub resolve_attachments: *const AttachmentReference2,
27980 pub depth_stencil_attachment: *const AttachmentReference2,
27981 pub preserve_attachment_count: u32,
27982 pub preserve_attachments: *const u32,
27983}
27984
27985impl Default for SubpassDescription2 {
27986 #[inline]
27987 fn default() -> Self {
27988 Self {
27989 s_type: StructureType::SUBPASS_DESCRIPTION_2,
27990 next: ptr::null(),
27991 flags: SubpassDescriptionFlags::default(),
27992 pipeline_bind_point: PipelineBindPoint::default(),
27993 view_mask: u32::default(),
27994 input_attachment_count: u32::default(),
27995 input_attachments: ptr::null(),
27996 color_attachment_count: u32::default(),
27997 color_attachments: ptr::null(),
27998 resolve_attachments: ptr::null(),
27999 depth_stencil_attachment: ptr::null(),
28000 preserve_attachment_count: u32::default(),
28001 preserve_attachments: ptr::null(),
28002 }
28003 }
28004}
28005
28006unsafe impl Send for SubpassDescription2 {}
28007unsafe impl Sync for SubpassDescription2 {}
28008
28009#[repr(C)]
28011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28012pub struct SubpassDescriptionDepthStencilResolve {
28013 pub s_type: StructureType,
28014 pub next: *const c_void,
28015 pub depth_resolve_mode: ResolveModeFlags,
28016 pub stencil_resolve_mode: ResolveModeFlags,
28017 pub depth_stencil_resolve_attachment: *const AttachmentReference2,
28018}
28019
28020impl Default for SubpassDescriptionDepthStencilResolve {
28021 #[inline]
28022 fn default() -> Self {
28023 Self {
28024 s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
28025 next: ptr::null(),
28026 depth_resolve_mode: ResolveModeFlags::default(),
28027 stencil_resolve_mode: ResolveModeFlags::default(),
28028 depth_stencil_resolve_attachment: ptr::null(),
28029 }
28030 }
28031}
28032
28033unsafe impl Send for SubpassDescriptionDepthStencilResolve {}
28034unsafe impl Sync for SubpassDescriptionDepthStencilResolve {}
28035
28036#[repr(C)]
28038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28039pub struct SubpassEndInfo {
28040 pub s_type: StructureType,
28041 pub next: *const c_void,
28042}
28043
28044impl Default for SubpassEndInfo {
28045 #[inline]
28046 fn default() -> Self {
28047 Self {
28048 s_type: StructureType::SUBPASS_END_INFO,
28049 next: ptr::null(),
28050 }
28051 }
28052}
28053
28054unsafe impl Send for SubpassEndInfo {}
28055unsafe impl Sync for SubpassEndInfo {}
28056
28057#[repr(C)]
28059#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28060pub struct SubpassResolvePerformanceQueryEXT {
28061 pub s_type: StructureType,
28062 pub next: *mut c_void,
28063 pub optimal: Bool32,
28064}
28065
28066impl Default for SubpassResolvePerformanceQueryEXT {
28067 #[inline]
28068 fn default() -> Self {
28069 Self {
28070 s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
28071 next: ptr::null_mut(),
28072 optimal: Bool32::default(),
28073 }
28074 }
28075}
28076
28077unsafe impl Send for SubpassResolvePerformanceQueryEXT {}
28078unsafe impl Sync for SubpassResolvePerformanceQueryEXT {}
28079
28080#[repr(C)]
28082#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28083pub struct SubpassSampleLocationsEXT {
28084 pub subpass_index: u32,
28085 pub sample_locations_info: SampleLocationsInfoEXT,
28086}
28087
28088#[repr(C)]
28090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28091pub struct SubpassShadingPipelineCreateInfoHUAWEI {
28092 pub s_type: StructureType,
28093 pub next: *mut c_void,
28094 pub render_pass: RenderPass,
28095 pub subpass: u32,
28096}
28097
28098impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
28099 #[inline]
28100 fn default() -> Self {
28101 Self {
28102 s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
28103 next: ptr::null_mut(),
28104 render_pass: RenderPass::default(),
28105 subpass: u32::default(),
28106 }
28107 }
28108}
28109
28110unsafe impl Send for SubpassShadingPipelineCreateInfoHUAWEI {}
28111unsafe impl Sync for SubpassShadingPipelineCreateInfoHUAWEI {}
28112
28113#[repr(C)]
28115#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28116pub struct SubresourceHostMemcpySize {
28117 pub s_type: StructureType,
28118 pub next: *mut c_void,
28119 pub size: DeviceSize,
28120}
28121
28122impl Default for SubresourceHostMemcpySize {
28123 #[inline]
28124 fn default() -> Self {
28125 Self {
28126 s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
28127 next: ptr::null_mut(),
28128 size: DeviceSize::default(),
28129 }
28130 }
28131}
28132
28133unsafe impl Send for SubresourceHostMemcpySize {}
28134unsafe impl Sync for SubresourceHostMemcpySize {}
28135
28136#[repr(C)]
28138#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28139pub struct SubresourceLayout {
28140 pub offset: DeviceSize,
28141 pub size: DeviceSize,
28142 pub row_pitch: DeviceSize,
28143 pub array_pitch: DeviceSize,
28144 pub depth_pitch: DeviceSize,
28145}
28146
28147#[repr(C)]
28149#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28150pub struct SubresourceLayout2 {
28151 pub s_type: StructureType,
28152 pub next: *mut c_void,
28153 pub subresource_layout: SubresourceLayout,
28154}
28155
28156impl Default for SubresourceLayout2 {
28157 #[inline]
28158 fn default() -> Self {
28159 Self {
28160 s_type: StructureType::SUBRESOURCE_LAYOUT_2,
28161 next: ptr::null_mut(),
28162 subresource_layout: SubresourceLayout::default(),
28163 }
28164 }
28165}
28166
28167unsafe impl Send for SubresourceLayout2 {}
28168unsafe impl Sync for SubresourceLayout2 {}
28169
28170#[repr(C)]
28172#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28173pub struct SurfaceCapabilities2EXT {
28174 pub s_type: StructureType,
28175 pub next: *mut c_void,
28176 pub min_image_count: u32,
28177 pub max_image_count: u32,
28178 pub current_extent: Extent2D,
28179 pub min_image_extent: Extent2D,
28180 pub max_image_extent: Extent2D,
28181 pub max_image_array_layers: u32,
28182 pub supported_transforms: SurfaceTransformFlagsKHR,
28183 pub current_transform: SurfaceTransformFlagsKHR,
28184 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
28185 pub supported_usage_flags: ImageUsageFlags,
28186 pub supported_surface_counters: SurfaceCounterFlagsEXT,
28187}
28188
28189impl Default for SurfaceCapabilities2EXT {
28190 #[inline]
28191 fn default() -> Self {
28192 Self {
28193 s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
28194 next: ptr::null_mut(),
28195 min_image_count: u32::default(),
28196 max_image_count: u32::default(),
28197 current_extent: Extent2D::default(),
28198 min_image_extent: Extent2D::default(),
28199 max_image_extent: Extent2D::default(),
28200 max_image_array_layers: u32::default(),
28201 supported_transforms: SurfaceTransformFlagsKHR::default(),
28202 current_transform: SurfaceTransformFlagsKHR::default(),
28203 supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
28204 supported_usage_flags: ImageUsageFlags::default(),
28205 supported_surface_counters: SurfaceCounterFlagsEXT::default(),
28206 }
28207 }
28208}
28209
28210unsafe impl Send for SurfaceCapabilities2EXT {}
28211unsafe impl Sync for SurfaceCapabilities2EXT {}
28212
28213#[repr(C)]
28215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28216pub struct SurfaceCapabilities2KHR {
28217 pub s_type: StructureType,
28218 pub next: *mut c_void,
28219 pub surface_capabilities: SurfaceCapabilitiesKHR,
28220}
28221
28222impl Default for SurfaceCapabilities2KHR {
28223 #[inline]
28224 fn default() -> Self {
28225 Self {
28226 s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
28227 next: ptr::null_mut(),
28228 surface_capabilities: SurfaceCapabilitiesKHR::default(),
28229 }
28230 }
28231}
28232
28233unsafe impl Send for SurfaceCapabilities2KHR {}
28234unsafe impl Sync for SurfaceCapabilities2KHR {}
28235
28236#[repr(C)]
28238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28239pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
28240 pub s_type: StructureType,
28241 pub next: *mut c_void,
28242 pub full_screen_exclusive_supported: Bool32,
28243}
28244
28245impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
28246 #[inline]
28247 fn default() -> Self {
28248 Self {
28249 s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
28250 next: ptr::null_mut(),
28251 full_screen_exclusive_supported: Bool32::default(),
28252 }
28253 }
28254}
28255
28256unsafe impl Send for SurfaceCapabilitiesFullScreenExclusiveEXT {}
28257unsafe impl Sync for SurfaceCapabilitiesFullScreenExclusiveEXT {}
28258
28259#[repr(C)]
28261#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28262pub struct SurfaceCapabilitiesKHR {
28263 pub min_image_count: u32,
28264 pub max_image_count: u32,
28265 pub current_extent: Extent2D,
28266 pub min_image_extent: Extent2D,
28267 pub max_image_extent: Extent2D,
28268 pub max_image_array_layers: u32,
28269 pub supported_transforms: SurfaceTransformFlagsKHR,
28270 pub current_transform: SurfaceTransformFlagsKHR,
28271 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
28272 pub supported_usage_flags: ImageUsageFlags,
28273}
28274
28275#[repr(C)]
28277#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28278pub struct SurfaceCapabilitiesPresentBarrierNV {
28279 pub s_type: StructureType,
28280 pub next: *mut c_void,
28281 pub present_barrier_supported: Bool32,
28282}
28283
28284impl Default for SurfaceCapabilitiesPresentBarrierNV {
28285 #[inline]
28286 fn default() -> Self {
28287 Self {
28288 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
28289 next: ptr::null_mut(),
28290 present_barrier_supported: Bool32::default(),
28291 }
28292 }
28293}
28294
28295unsafe impl Send for SurfaceCapabilitiesPresentBarrierNV {}
28296unsafe impl Sync for SurfaceCapabilitiesPresentBarrierNV {}
28297
28298#[repr(C)]
28300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28301pub struct SurfaceCapabilitiesPresentId2KHR {
28302 pub s_type: StructureType,
28303 pub next: *mut c_void,
28304 pub present_id2_supported: Bool32,
28305}
28306
28307impl Default for SurfaceCapabilitiesPresentId2KHR {
28308 #[inline]
28309 fn default() -> Self {
28310 Self {
28311 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
28312 next: ptr::null_mut(),
28313 present_id2_supported: Bool32::default(),
28314 }
28315 }
28316}
28317
28318unsafe impl Send for SurfaceCapabilitiesPresentId2KHR {}
28319unsafe impl Sync for SurfaceCapabilitiesPresentId2KHR {}
28320
28321#[repr(C)]
28323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28324pub struct SurfaceCapabilitiesPresentWait2KHR {
28325 pub s_type: StructureType,
28326 pub next: *mut c_void,
28327 pub present_wait2_supported: Bool32,
28328}
28329
28330impl Default for SurfaceCapabilitiesPresentWait2KHR {
28331 #[inline]
28332 fn default() -> Self {
28333 Self {
28334 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
28335 next: ptr::null_mut(),
28336 present_wait2_supported: Bool32::default(),
28337 }
28338 }
28339}
28340
28341unsafe impl Send for SurfaceCapabilitiesPresentWait2KHR {}
28342unsafe impl Sync for SurfaceCapabilitiesPresentWait2KHR {}
28343
28344#[repr(C)]
28346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28347pub struct SurfaceCreateInfoOHOS {
28348 pub s_type: StructureType,
28349 pub next: *const c_void,
28350 pub flags: SurfaceCreateFlagsOHOS,
28351 pub window: *mut OHNativeWindow,
28352}
28353
28354impl Default for SurfaceCreateInfoOHOS {
28355 #[inline]
28356 fn default() -> Self {
28357 Self {
28358 s_type: StructureType::SURFACE_CREATE_INFO_OHOS,
28359 next: ptr::null(),
28360 flags: SurfaceCreateFlagsOHOS::default(),
28361 window: ptr::null_mut(),
28362 }
28363 }
28364}
28365
28366unsafe impl Send for SurfaceCreateInfoOHOS {}
28367unsafe impl Sync for SurfaceCreateInfoOHOS {}
28368
28369#[repr(C)]
28371#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28372pub struct SurfaceFormat2KHR {
28373 pub s_type: StructureType,
28374 pub next: *mut c_void,
28375 pub surface_format: SurfaceFormatKHR,
28376}
28377
28378impl Default for SurfaceFormat2KHR {
28379 #[inline]
28380 fn default() -> Self {
28381 Self {
28382 s_type: StructureType::SURFACE_FORMAT_2_KHR,
28383 next: ptr::null_mut(),
28384 surface_format: SurfaceFormatKHR::default(),
28385 }
28386 }
28387}
28388
28389unsafe impl Send for SurfaceFormat2KHR {}
28390unsafe impl Sync for SurfaceFormat2KHR {}
28391
28392#[repr(C)]
28394#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28395pub struct SurfaceFormatKHR {
28396 pub format: Format,
28397 pub color_space: ColorSpaceKHR,
28398}
28399
28400#[repr(C)]
28402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28403pub struct SurfaceFullScreenExclusiveInfoEXT {
28404 pub s_type: StructureType,
28405 pub next: *mut c_void,
28406 pub full_screen_exclusive: FullScreenExclusiveEXT,
28407}
28408
28409impl Default for SurfaceFullScreenExclusiveInfoEXT {
28410 #[inline]
28411 fn default() -> Self {
28412 Self {
28413 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
28414 next: ptr::null_mut(),
28415 full_screen_exclusive: FullScreenExclusiveEXT::default(),
28416 }
28417 }
28418}
28419
28420unsafe impl Send for SurfaceFullScreenExclusiveInfoEXT {}
28421unsafe impl Sync for SurfaceFullScreenExclusiveInfoEXT {}
28422
28423#[repr(C)]
28425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28426pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
28427 pub s_type: StructureType,
28428 pub next: *const c_void,
28429 pub hmonitor: HMONITOR,
28430}
28431
28432impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
28433 #[inline]
28434 fn default() -> Self {
28435 Self {
28436 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
28437 next: ptr::null(),
28438 hmonitor: ptr::null_mut(),
28439 }
28440 }
28441}
28442
28443unsafe impl Send for SurfaceFullScreenExclusiveWin32InfoEXT {}
28444unsafe impl Sync for SurfaceFullScreenExclusiveWin32InfoEXT {}
28445
28446#[repr(C)]
28448#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28449pub struct SurfacePresentModeCompatibilityKHR {
28450 pub s_type: StructureType,
28451 pub next: *mut c_void,
28452 pub present_mode_count: u32,
28453 pub present_modes: *mut PresentModeKHR,
28454}
28455
28456impl Default for SurfacePresentModeCompatibilityKHR {
28457 #[inline]
28458 fn default() -> Self {
28459 Self {
28460 s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
28461 next: ptr::null_mut(),
28462 present_mode_count: u32::default(),
28463 present_modes: ptr::null_mut(),
28464 }
28465 }
28466}
28467
28468unsafe impl Send for SurfacePresentModeCompatibilityKHR {}
28469unsafe impl Sync for SurfacePresentModeCompatibilityKHR {}
28470
28471#[repr(C)]
28473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28474pub struct SurfacePresentModeKHR {
28475 pub s_type: StructureType,
28476 pub next: *mut c_void,
28477 pub present_mode: PresentModeKHR,
28478}
28479
28480impl Default for SurfacePresentModeKHR {
28481 #[inline]
28482 fn default() -> Self {
28483 Self {
28484 s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
28485 next: ptr::null_mut(),
28486 present_mode: PresentModeKHR::default(),
28487 }
28488 }
28489}
28490
28491unsafe impl Send for SurfacePresentModeKHR {}
28492unsafe impl Sync for SurfacePresentModeKHR {}
28493
28494#[repr(C)]
28496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28497pub struct SurfacePresentScalingCapabilitiesKHR {
28498 pub s_type: StructureType,
28499 pub next: *mut c_void,
28500 pub supported_present_scaling: PresentScalingFlagsKHR,
28501 pub supported_present_gravity_x: PresentGravityFlagsKHR,
28502 pub supported_present_gravity_y: PresentGravityFlagsKHR,
28503 pub min_scaled_image_extent: Extent2D,
28504 pub max_scaled_image_extent: Extent2D,
28505}
28506
28507impl Default for SurfacePresentScalingCapabilitiesKHR {
28508 #[inline]
28509 fn default() -> Self {
28510 Self {
28511 s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
28512 next: ptr::null_mut(),
28513 supported_present_scaling: PresentScalingFlagsKHR::default(),
28514 supported_present_gravity_x: PresentGravityFlagsKHR::default(),
28515 supported_present_gravity_y: PresentGravityFlagsKHR::default(),
28516 min_scaled_image_extent: Extent2D::default(),
28517 max_scaled_image_extent: Extent2D::default(),
28518 }
28519 }
28520}
28521
28522unsafe impl Send for SurfacePresentScalingCapabilitiesKHR {}
28523unsafe impl Sync for SurfacePresentScalingCapabilitiesKHR {}
28524
28525#[repr(C)]
28527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28528pub struct SurfaceProtectedCapabilitiesKHR {
28529 pub s_type: StructureType,
28530 pub next: *const c_void,
28531 pub supports_protected: Bool32,
28532}
28533
28534impl Default for SurfaceProtectedCapabilitiesKHR {
28535 #[inline]
28536 fn default() -> Self {
28537 Self {
28538 s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
28539 next: ptr::null(),
28540 supports_protected: Bool32::default(),
28541 }
28542 }
28543}
28544
28545unsafe impl Send for SurfaceProtectedCapabilitiesKHR {}
28546unsafe impl Sync for SurfaceProtectedCapabilitiesKHR {}
28547
28548#[repr(C)]
28550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28551pub struct SwapchainCounterCreateInfoEXT {
28552 pub s_type: StructureType,
28553 pub next: *const c_void,
28554 pub surface_counters: SurfaceCounterFlagsEXT,
28555}
28556
28557impl Default for SwapchainCounterCreateInfoEXT {
28558 #[inline]
28559 fn default() -> Self {
28560 Self {
28561 s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
28562 next: ptr::null(),
28563 surface_counters: SurfaceCounterFlagsEXT::default(),
28564 }
28565 }
28566}
28567
28568unsafe impl Send for SwapchainCounterCreateInfoEXT {}
28569unsafe impl Sync for SwapchainCounterCreateInfoEXT {}
28570
28571#[repr(C)]
28573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28574pub struct SwapchainCreateInfoKHR {
28575 pub s_type: StructureType,
28576 pub next: *const c_void,
28577 pub flags: SwapchainCreateFlagsKHR,
28578 pub surface: SurfaceKHR,
28579 pub min_image_count: u32,
28580 pub image_format: Format,
28581 pub image_color_space: ColorSpaceKHR,
28582 pub image_extent: Extent2D,
28583 pub image_array_layers: u32,
28584 pub image_usage: ImageUsageFlags,
28585 pub image_sharing_mode: SharingMode,
28586 pub queue_family_index_count: u32,
28587 pub queue_family_indices: *const u32,
28588 pub pre_transform: SurfaceTransformFlagsKHR,
28589 pub composite_alpha: CompositeAlphaFlagsKHR,
28590 pub present_mode: PresentModeKHR,
28591 pub clipped: Bool32,
28592 pub old_swapchain: SwapchainKHR,
28593}
28594
28595impl Default for SwapchainCreateInfoKHR {
28596 #[inline]
28597 fn default() -> Self {
28598 Self {
28599 s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
28600 next: ptr::null(),
28601 flags: SwapchainCreateFlagsKHR::default(),
28602 surface: SurfaceKHR::default(),
28603 min_image_count: u32::default(),
28604 image_format: Format::default(),
28605 image_color_space: ColorSpaceKHR::default(),
28606 image_extent: Extent2D::default(),
28607 image_array_layers: u32::default(),
28608 image_usage: ImageUsageFlags::default(),
28609 image_sharing_mode: SharingMode::default(),
28610 queue_family_index_count: u32::default(),
28611 queue_family_indices: ptr::null(),
28612 pre_transform: SurfaceTransformFlagsKHR::default(),
28613 composite_alpha: CompositeAlphaFlagsKHR::default(),
28614 present_mode: PresentModeKHR::default(),
28615 clipped: Bool32::default(),
28616 old_swapchain: SwapchainKHR::default(),
28617 }
28618 }
28619}
28620
28621unsafe impl Send for SwapchainCreateInfoKHR {}
28622unsafe impl Sync for SwapchainCreateInfoKHR {}
28623
28624#[repr(C)]
28626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28627pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
28628 pub s_type: StructureType,
28629 pub next: *const c_void,
28630 pub local_dimming_enable: Bool32,
28631}
28632
28633impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
28634 #[inline]
28635 fn default() -> Self {
28636 Self {
28637 s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
28638 next: ptr::null(),
28639 local_dimming_enable: Bool32::default(),
28640 }
28641 }
28642}
28643
28644unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {}
28645unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {}
28646
28647#[repr(C)]
28649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28650pub struct SwapchainLatencyCreateInfoNV {
28651 pub s_type: StructureType,
28652 pub next: *const c_void,
28653 pub latency_mode_enable: Bool32,
28654}
28655
28656impl Default for SwapchainLatencyCreateInfoNV {
28657 #[inline]
28658 fn default() -> Self {
28659 Self {
28660 s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
28661 next: ptr::null(),
28662 latency_mode_enable: Bool32::default(),
28663 }
28664 }
28665}
28666
28667unsafe impl Send for SwapchainLatencyCreateInfoNV {}
28668unsafe impl Sync for SwapchainLatencyCreateInfoNV {}
28669
28670#[repr(C)]
28672#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28673pub struct SwapchainPresentBarrierCreateInfoNV {
28674 pub s_type: StructureType,
28675 pub next: *mut c_void,
28676 pub present_barrier_enable: Bool32,
28677}
28678
28679impl Default for SwapchainPresentBarrierCreateInfoNV {
28680 #[inline]
28681 fn default() -> Self {
28682 Self {
28683 s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
28684 next: ptr::null_mut(),
28685 present_barrier_enable: Bool32::default(),
28686 }
28687 }
28688}
28689
28690unsafe impl Send for SwapchainPresentBarrierCreateInfoNV {}
28691unsafe impl Sync for SwapchainPresentBarrierCreateInfoNV {}
28692
28693#[repr(C)]
28695#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28696pub struct SwapchainPresentFenceInfoKHR {
28697 pub s_type: StructureType,
28698 pub next: *const c_void,
28699 pub swapchain_count: u32,
28700 pub fences: *const Fence,
28701}
28702
28703impl Default for SwapchainPresentFenceInfoKHR {
28704 #[inline]
28705 fn default() -> Self {
28706 Self {
28707 s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
28708 next: ptr::null(),
28709 swapchain_count: u32::default(),
28710 fences: ptr::null(),
28711 }
28712 }
28713}
28714
28715unsafe impl Send for SwapchainPresentFenceInfoKHR {}
28716unsafe impl Sync for SwapchainPresentFenceInfoKHR {}
28717
28718#[repr(C)]
28720#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28721pub struct SwapchainPresentModeInfoKHR {
28722 pub s_type: StructureType,
28723 pub next: *const c_void,
28724 pub swapchain_count: u32,
28725 pub present_modes: *const PresentModeKHR,
28726}
28727
28728impl Default for SwapchainPresentModeInfoKHR {
28729 #[inline]
28730 fn default() -> Self {
28731 Self {
28732 s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
28733 next: ptr::null(),
28734 swapchain_count: u32::default(),
28735 present_modes: ptr::null(),
28736 }
28737 }
28738}
28739
28740unsafe impl Send for SwapchainPresentModeInfoKHR {}
28741unsafe impl Sync for SwapchainPresentModeInfoKHR {}
28742
28743#[repr(C)]
28745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28746pub struct SwapchainPresentModesCreateInfoKHR {
28747 pub s_type: StructureType,
28748 pub next: *const c_void,
28749 pub present_mode_count: u32,
28750 pub present_modes: *const PresentModeKHR,
28751}
28752
28753impl Default for SwapchainPresentModesCreateInfoKHR {
28754 #[inline]
28755 fn default() -> Self {
28756 Self {
28757 s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
28758 next: ptr::null(),
28759 present_mode_count: u32::default(),
28760 present_modes: ptr::null(),
28761 }
28762 }
28763}
28764
28765unsafe impl Send for SwapchainPresentModesCreateInfoKHR {}
28766unsafe impl Sync for SwapchainPresentModesCreateInfoKHR {}
28767
28768#[repr(C)]
28770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28771pub struct SwapchainPresentScalingCreateInfoKHR {
28772 pub s_type: StructureType,
28773 pub next: *const c_void,
28774 pub scaling_behavior: PresentScalingFlagsKHR,
28775 pub present_gravity_x: PresentGravityFlagsKHR,
28776 pub present_gravity_y: PresentGravityFlagsKHR,
28777}
28778
28779impl Default for SwapchainPresentScalingCreateInfoKHR {
28780 #[inline]
28781 fn default() -> Self {
28782 Self {
28783 s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
28784 next: ptr::null(),
28785 scaling_behavior: PresentScalingFlagsKHR::default(),
28786 present_gravity_x: PresentGravityFlagsKHR::default(),
28787 present_gravity_y: PresentGravityFlagsKHR::default(),
28788 }
28789 }
28790}
28791
28792unsafe impl Send for SwapchainPresentScalingCreateInfoKHR {}
28793unsafe impl Sync for SwapchainPresentScalingCreateInfoKHR {}
28794
28795#[repr(C)]
28797#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28798pub struct SysmemColorSpaceFUCHSIA {
28799 pub s_type: StructureType,
28800 pub next: *const c_void,
28801 pub color_space: u32,
28802}
28803
28804impl Default for SysmemColorSpaceFUCHSIA {
28805 #[inline]
28806 fn default() -> Self {
28807 Self {
28808 s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
28809 next: ptr::null(),
28810 color_space: u32::default(),
28811 }
28812 }
28813}
28814
28815unsafe impl Send for SysmemColorSpaceFUCHSIA {}
28816unsafe impl Sync for SysmemColorSpaceFUCHSIA {}
28817
28818#[repr(C)]
28820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28821pub struct TensorCaptureDescriptorDataInfoARM {
28822 pub s_type: StructureType,
28823 pub next: *const c_void,
28824 pub tensor: TensorARM,
28825}
28826
28827impl Default for TensorCaptureDescriptorDataInfoARM {
28828 #[inline]
28829 fn default() -> Self {
28830 Self {
28831 s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
28832 next: ptr::null(),
28833 tensor: TensorARM::default(),
28834 }
28835 }
28836}
28837
28838unsafe impl Send for TensorCaptureDescriptorDataInfoARM {}
28839unsafe impl Sync for TensorCaptureDescriptorDataInfoARM {}
28840
28841#[repr(C)]
28843#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28844pub struct TensorCopyARM {
28845 pub s_type: StructureType,
28846 pub next: *const c_void,
28847 pub dimension_count: u32,
28848 pub src_offset: *const u64,
28849 pub dst_offset: *const u64,
28850 pub extent: *const u64,
28851}
28852
28853impl Default for TensorCopyARM {
28854 #[inline]
28855 fn default() -> Self {
28856 Self {
28857 s_type: StructureType::TENSOR_COPY_ARM,
28858 next: ptr::null(),
28859 dimension_count: u32::default(),
28860 src_offset: ptr::null(),
28861 dst_offset: ptr::null(),
28862 extent: ptr::null(),
28863 }
28864 }
28865}
28866
28867unsafe impl Send for TensorCopyARM {}
28868unsafe impl Sync for TensorCopyARM {}
28869
28870#[repr(C)]
28872#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28873pub struct TensorCreateInfoARM {
28874 pub s_type: StructureType,
28875 pub next: *const c_void,
28876 pub flags: TensorCreateFlagsARM,
28877 pub description: *const TensorDescriptionARM,
28878 pub sharing_mode: SharingMode,
28879 pub queue_family_index_count: u32,
28880 pub queue_family_indices: *const u32,
28881}
28882
28883impl Default for TensorCreateInfoARM {
28884 #[inline]
28885 fn default() -> Self {
28886 Self {
28887 s_type: StructureType::TENSOR_CREATE_INFO_ARM,
28888 next: ptr::null(),
28889 flags: TensorCreateFlagsARM::default(),
28890 description: ptr::null(),
28891 sharing_mode: SharingMode::default(),
28892 queue_family_index_count: u32::default(),
28893 queue_family_indices: ptr::null(),
28894 }
28895 }
28896}
28897
28898unsafe impl Send for TensorCreateInfoARM {}
28899unsafe impl Sync for TensorCreateInfoARM {}
28900
28901#[repr(C)]
28903#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28904pub struct TensorDependencyInfoARM {
28905 pub s_type: StructureType,
28906 pub next: *const c_void,
28907 pub tensor_memory_barrier_count: u32,
28908 pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
28909}
28910
28911impl Default for TensorDependencyInfoARM {
28912 #[inline]
28913 fn default() -> Self {
28914 Self {
28915 s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
28916 next: ptr::null(),
28917 tensor_memory_barrier_count: u32::default(),
28918 tensor_memory_barriers: ptr::null(),
28919 }
28920 }
28921}
28922
28923unsafe impl Send for TensorDependencyInfoARM {}
28924unsafe impl Sync for TensorDependencyInfoARM {}
28925
28926#[repr(C)]
28928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28929pub struct TensorDescriptionARM {
28930 pub s_type: StructureType,
28931 pub next: *const c_void,
28932 pub tiling: TensorTilingARM,
28933 pub format: Format,
28934 pub dimension_count: u32,
28935 pub dimensions: *const i64,
28936 pub strides: *const i64,
28937 pub usage: TensorUsageFlagsARM,
28938}
28939
28940impl Default for TensorDescriptionARM {
28941 #[inline]
28942 fn default() -> Self {
28943 Self {
28944 s_type: StructureType::TENSOR_DESCRIPTION_ARM,
28945 next: ptr::null(),
28946 tiling: TensorTilingARM::default(),
28947 format: Format::default(),
28948 dimension_count: u32::default(),
28949 dimensions: ptr::null(),
28950 strides: ptr::null(),
28951 usage: TensorUsageFlagsARM::default(),
28952 }
28953 }
28954}
28955
28956unsafe impl Send for TensorDescriptionARM {}
28957unsafe impl Sync for TensorDescriptionARM {}
28958
28959#[repr(C)]
28961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28962pub struct TensorFormatPropertiesARM {
28963 pub s_type: StructureType,
28964 pub next: *const c_void,
28965 pub optimal_tiling_tensor_features: FormatFeatureFlags2,
28966 pub linear_tiling_tensor_features: FormatFeatureFlags2,
28967}
28968
28969impl Default for TensorFormatPropertiesARM {
28970 #[inline]
28971 fn default() -> Self {
28972 Self {
28973 s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
28974 next: ptr::null(),
28975 optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
28976 linear_tiling_tensor_features: FormatFeatureFlags2::default(),
28977 }
28978 }
28979}
28980
28981unsafe impl Send for TensorFormatPropertiesARM {}
28982unsafe impl Sync for TensorFormatPropertiesARM {}
28983
28984#[repr(C)]
28986#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28987pub struct TensorMemoryBarrierARM {
28988 pub s_type: StructureType,
28989 pub next: *const c_void,
28990 pub src_stage_mask: PipelineStageFlags2,
28991 pub src_access_mask: AccessFlags2,
28992 pub dst_stage_mask: PipelineStageFlags2,
28993 pub dst_access_mask: AccessFlags2,
28994 pub src_queue_family_index: u32,
28995 pub dst_queue_family_index: u32,
28996 pub tensor: TensorARM,
28997}
28998
28999impl Default for TensorMemoryBarrierARM {
29000 #[inline]
29001 fn default() -> Self {
29002 Self {
29003 s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
29004 next: ptr::null(),
29005 src_stage_mask: PipelineStageFlags2::default(),
29006 src_access_mask: AccessFlags2::default(),
29007 dst_stage_mask: PipelineStageFlags2::default(),
29008 dst_access_mask: AccessFlags2::default(),
29009 src_queue_family_index: u32::default(),
29010 dst_queue_family_index: u32::default(),
29011 tensor: TensorARM::default(),
29012 }
29013 }
29014}
29015
29016unsafe impl Send for TensorMemoryBarrierARM {}
29017unsafe impl Sync for TensorMemoryBarrierARM {}
29018
29019#[repr(C)]
29021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29022pub struct TensorMemoryRequirementsInfoARM {
29023 pub s_type: StructureType,
29024 pub next: *const c_void,
29025 pub tensor: TensorARM,
29026}
29027
29028impl Default for TensorMemoryRequirementsInfoARM {
29029 #[inline]
29030 fn default() -> Self {
29031 Self {
29032 s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
29033 next: ptr::null(),
29034 tensor: TensorARM::default(),
29035 }
29036 }
29037}
29038
29039unsafe impl Send for TensorMemoryRequirementsInfoARM {}
29040unsafe impl Sync for TensorMemoryRequirementsInfoARM {}
29041
29042#[repr(C)]
29044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29045pub struct TensorViewCaptureDescriptorDataInfoARM {
29046 pub s_type: StructureType,
29047 pub next: *const c_void,
29048 pub tensor_view: TensorViewARM,
29049}
29050
29051impl Default for TensorViewCaptureDescriptorDataInfoARM {
29052 #[inline]
29053 fn default() -> Self {
29054 Self {
29055 s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
29056 next: ptr::null(),
29057 tensor_view: TensorViewARM::default(),
29058 }
29059 }
29060}
29061
29062unsafe impl Send for TensorViewCaptureDescriptorDataInfoARM {}
29063unsafe impl Sync for TensorViewCaptureDescriptorDataInfoARM {}
29064
29065#[repr(C)]
29067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29068pub struct TensorViewCreateInfoARM {
29069 pub s_type: StructureType,
29070 pub next: *const c_void,
29071 pub flags: TensorViewCreateFlagsARM,
29072 pub tensor: TensorARM,
29073 pub format: Format,
29074}
29075
29076impl Default for TensorViewCreateInfoARM {
29077 #[inline]
29078 fn default() -> Self {
29079 Self {
29080 s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
29081 next: ptr::null(),
29082 flags: TensorViewCreateFlagsARM::default(),
29083 tensor: TensorARM::default(),
29084 format: Format::default(),
29085 }
29086 }
29087}
29088
29089unsafe impl Send for TensorViewCreateInfoARM {}
29090unsafe impl Sync for TensorViewCreateInfoARM {}
29091
29092#[repr(C)]
29094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29095pub struct TextureLODGatherFormatPropertiesAMD {
29096 pub s_type: StructureType,
29097 pub next: *mut c_void,
29098 pub supports_texture_gather_lod_bias_amd: Bool32,
29099}
29100
29101impl Default for TextureLODGatherFormatPropertiesAMD {
29102 #[inline]
29103 fn default() -> Self {
29104 Self {
29105 s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
29106 next: ptr::null_mut(),
29107 supports_texture_gather_lod_bias_amd: Bool32::default(),
29108 }
29109 }
29110}
29111
29112unsafe impl Send for TextureLODGatherFormatPropertiesAMD {}
29113unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {}
29114
29115#[repr(C)]
29117#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29118pub struct TileMemoryBindInfoQCOM {
29119 pub s_type: StructureType,
29120 pub next: *const c_void,
29121 pub memory: DeviceMemory,
29122}
29123
29124impl Default for TileMemoryBindInfoQCOM {
29125 #[inline]
29126 fn default() -> Self {
29127 Self {
29128 s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
29129 next: ptr::null(),
29130 memory: DeviceMemory::default(),
29131 }
29132 }
29133}
29134
29135unsafe impl Send for TileMemoryBindInfoQCOM {}
29136unsafe impl Sync for TileMemoryBindInfoQCOM {}
29137
29138#[repr(C)]
29140#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29141pub struct TileMemoryRequirementsQCOM {
29142 pub s_type: StructureType,
29143 pub next: *mut c_void,
29144 pub size: DeviceSize,
29145 pub alignment: DeviceSize,
29146}
29147
29148impl Default for TileMemoryRequirementsQCOM {
29149 #[inline]
29150 fn default() -> Self {
29151 Self {
29152 s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
29153 next: ptr::null_mut(),
29154 size: DeviceSize::default(),
29155 alignment: DeviceSize::default(),
29156 }
29157 }
29158}
29159
29160unsafe impl Send for TileMemoryRequirementsQCOM {}
29161unsafe impl Sync for TileMemoryRequirementsQCOM {}
29162
29163#[repr(C)]
29165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29166pub struct TileMemorySizeInfoQCOM {
29167 pub s_type: StructureType,
29168 pub next: *const c_void,
29169 pub size: DeviceSize,
29170}
29171
29172impl Default for TileMemorySizeInfoQCOM {
29173 #[inline]
29174 fn default() -> Self {
29175 Self {
29176 s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
29177 next: ptr::null(),
29178 size: DeviceSize::default(),
29179 }
29180 }
29181}
29182
29183unsafe impl Send for TileMemorySizeInfoQCOM {}
29184unsafe impl Sync for TileMemorySizeInfoQCOM {}
29185
29186#[repr(C)]
29188#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29189pub struct TilePropertiesQCOM {
29190 pub s_type: StructureType,
29191 pub next: *mut c_void,
29192 pub tile_size: Extent3D,
29193 pub apron_size: Extent2D,
29194 pub origin: Offset2D,
29195}
29196
29197impl Default for TilePropertiesQCOM {
29198 #[inline]
29199 fn default() -> Self {
29200 Self {
29201 s_type: StructureType::TILE_PROPERTIES_QCOM,
29202 next: ptr::null_mut(),
29203 tile_size: Extent3D::default(),
29204 apron_size: Extent2D::default(),
29205 origin: Offset2D::default(),
29206 }
29207 }
29208}
29209
29210unsafe impl Send for TilePropertiesQCOM {}
29211unsafe impl Sync for TilePropertiesQCOM {}
29212
29213#[repr(C)]
29215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29216pub struct TimelineSemaphoreSubmitInfo {
29217 pub s_type: StructureType,
29218 pub next: *const c_void,
29219 pub wait_semaphore_value_count: u32,
29220 pub wait_semaphore_values: *const u64,
29221 pub signal_semaphore_value_count: u32,
29222 pub signal_semaphore_values: *const u64,
29223}
29224
29225impl Default for TimelineSemaphoreSubmitInfo {
29226 #[inline]
29227 fn default() -> Self {
29228 Self {
29229 s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
29230 next: ptr::null(),
29231 wait_semaphore_value_count: u32::default(),
29232 wait_semaphore_values: ptr::null(),
29233 signal_semaphore_value_count: u32::default(),
29234 signal_semaphore_values: ptr::null(),
29235 }
29236 }
29237}
29238
29239unsafe impl Send for TimelineSemaphoreSubmitInfo {}
29240unsafe impl Sync for TimelineSemaphoreSubmitInfo {}
29241
29242#[repr(C)]
29244#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29245pub struct TraceRaysIndirectCommand2KHR {
29246 pub raygen_shader_record_address: DeviceAddress,
29247 pub raygen_shader_record_size: DeviceSize,
29248 pub miss_shader_binding_table_address: DeviceAddress,
29249 pub miss_shader_binding_table_size: DeviceSize,
29250 pub miss_shader_binding_table_stride: DeviceSize,
29251 pub hit_shader_binding_table_address: DeviceAddress,
29252 pub hit_shader_binding_table_size: DeviceSize,
29253 pub hit_shader_binding_table_stride: DeviceSize,
29254 pub callable_shader_binding_table_address: DeviceAddress,
29255 pub callable_shader_binding_table_size: DeviceSize,
29256 pub callable_shader_binding_table_stride: DeviceSize,
29257 pub width: u32,
29258 pub height: u32,
29259 pub depth: u32,
29260}
29261
29262#[repr(C)]
29264#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29265pub struct TraceRaysIndirectCommandKHR {
29266 pub width: u32,
29267 pub height: u32,
29268 pub depth: u32,
29269}
29270
29271#[repr(C)]
29273#[derive(Copy, Clone, Default, Debug, PartialEq)]
29274pub struct TransformMatrixKHR {
29275 pub matrix: [[f32; 4]; 3],
29276}
29277
29278#[repr(C)]
29280#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29281pub struct ValidationCacheCreateInfoEXT {
29282 pub s_type: StructureType,
29283 pub next: *const c_void,
29284 pub flags: ValidationCacheCreateFlagsEXT,
29285 pub initial_data_size: usize,
29286 pub initial_data: *const c_void,
29287}
29288
29289impl Default for ValidationCacheCreateInfoEXT {
29290 #[inline]
29291 fn default() -> Self {
29292 Self {
29293 s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
29294 next: ptr::null(),
29295 flags: ValidationCacheCreateFlagsEXT::default(),
29296 initial_data_size: usize::default(),
29297 initial_data: ptr::null(),
29298 }
29299 }
29300}
29301
29302unsafe impl Send for ValidationCacheCreateInfoEXT {}
29303unsafe impl Sync for ValidationCacheCreateInfoEXT {}
29304
29305#[repr(C)]
29307#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29308pub struct ValidationFeaturesEXT {
29309 pub s_type: StructureType,
29310 pub next: *const c_void,
29311 pub enabled_validation_feature_count: u32,
29312 pub enabled_validation_features: *const ValidationFeatureEnableEXT,
29313 pub disabled_validation_feature_count: u32,
29314 pub disabled_validation_features: *const ValidationFeatureDisableEXT,
29315}
29316
29317impl Default for ValidationFeaturesEXT {
29318 #[inline]
29319 fn default() -> Self {
29320 Self {
29321 s_type: StructureType::VALIDATION_FEATURES_EXT,
29322 next: ptr::null(),
29323 enabled_validation_feature_count: u32::default(),
29324 enabled_validation_features: ptr::null(),
29325 disabled_validation_feature_count: u32::default(),
29326 disabled_validation_features: ptr::null(),
29327 }
29328 }
29329}
29330
29331unsafe impl Send for ValidationFeaturesEXT {}
29332unsafe impl Sync for ValidationFeaturesEXT {}
29333
29334#[repr(C)]
29336#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29337pub struct ValidationFlagsEXT {
29338 pub s_type: StructureType,
29339 pub next: *const c_void,
29340 pub disabled_validation_check_count: u32,
29341 pub disabled_validation_checks: *const ValidationCheckEXT,
29342}
29343
29344impl Default for ValidationFlagsEXT {
29345 #[inline]
29346 fn default() -> Self {
29347 Self {
29348 s_type: StructureType::VALIDATION_FLAGS_EXT,
29349 next: ptr::null(),
29350 disabled_validation_check_count: u32::default(),
29351 disabled_validation_checks: ptr::null(),
29352 }
29353 }
29354}
29355
29356unsafe impl Send for ValidationFlagsEXT {}
29357unsafe impl Sync for ValidationFlagsEXT {}
29358
29359#[repr(C)]
29361#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29362pub struct VertexInputAttributeDescription {
29363 pub location: u32,
29364 pub binding: u32,
29365 pub format: Format,
29366 pub offset: u32,
29367}
29368
29369#[repr(C)]
29371#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29372pub struct VertexInputAttributeDescription2EXT {
29373 pub s_type: StructureType,
29374 pub next: *mut c_void,
29375 pub location: u32,
29376 pub binding: u32,
29377 pub format: Format,
29378 pub offset: u32,
29379}
29380
29381impl Default for VertexInputAttributeDescription2EXT {
29382 #[inline]
29383 fn default() -> Self {
29384 Self {
29385 s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
29386 next: ptr::null_mut(),
29387 location: u32::default(),
29388 binding: u32::default(),
29389 format: Format::default(),
29390 offset: u32::default(),
29391 }
29392 }
29393}
29394
29395unsafe impl Send for VertexInputAttributeDescription2EXT {}
29396unsafe impl Sync for VertexInputAttributeDescription2EXT {}
29397
29398#[repr(C)]
29400#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29401pub struct VertexInputBindingDescription {
29402 pub binding: u32,
29403 pub stride: u32,
29404 pub input_rate: VertexInputRate,
29405}
29406
29407#[repr(C)]
29409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29410pub struct VertexInputBindingDescription2EXT {
29411 pub s_type: StructureType,
29412 pub next: *mut c_void,
29413 pub binding: u32,
29414 pub stride: u32,
29415 pub input_rate: VertexInputRate,
29416 pub divisor: u32,
29417}
29418
29419impl Default for VertexInputBindingDescription2EXT {
29420 #[inline]
29421 fn default() -> Self {
29422 Self {
29423 s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
29424 next: ptr::null_mut(),
29425 binding: u32::default(),
29426 stride: u32::default(),
29427 input_rate: VertexInputRate::default(),
29428 divisor: u32::default(),
29429 }
29430 }
29431}
29432
29433unsafe impl Send for VertexInputBindingDescription2EXT {}
29434unsafe impl Sync for VertexInputBindingDescription2EXT {}
29435
29436#[repr(C)]
29438#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29439pub struct VertexInputBindingDivisorDescription {
29440 pub binding: u32,
29441 pub divisor: u32,
29442}
29443
29444#[repr(C)]
29446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29447pub struct ViSurfaceCreateInfoNN {
29448 pub s_type: StructureType,
29449 pub next: *const c_void,
29450 pub flags: ViSurfaceCreateFlagsNN,
29451 pub window: *mut c_void,
29452}
29453
29454impl Default for ViSurfaceCreateInfoNN {
29455 #[inline]
29456 fn default() -> Self {
29457 Self {
29458 s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
29459 next: ptr::null(),
29460 flags: ViSurfaceCreateFlagsNN::default(),
29461 window: ptr::null_mut(),
29462 }
29463 }
29464}
29465
29466unsafe impl Send for ViSurfaceCreateInfoNN {}
29467unsafe impl Sync for ViSurfaceCreateInfoNN {}
29468
29469#[repr(C)]
29471#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29472pub struct VideoBeginCodingInfoKHR {
29473 pub s_type: StructureType,
29474 pub next: *const c_void,
29475 pub flags: VideoBeginCodingFlagsKHR,
29476 pub video_session: VideoSessionKHR,
29477 pub video_session_parameters: VideoSessionParametersKHR,
29478 pub reference_slot_count: u32,
29479 pub reference_slots: *const VideoReferenceSlotInfoKHR,
29480}
29481
29482impl Default for VideoBeginCodingInfoKHR {
29483 #[inline]
29484 fn default() -> Self {
29485 Self {
29486 s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
29487 next: ptr::null(),
29488 flags: VideoBeginCodingFlagsKHR::default(),
29489 video_session: VideoSessionKHR::default(),
29490 video_session_parameters: VideoSessionParametersKHR::default(),
29491 reference_slot_count: u32::default(),
29492 reference_slots: ptr::null(),
29493 }
29494 }
29495}
29496
29497unsafe impl Send for VideoBeginCodingInfoKHR {}
29498unsafe impl Sync for VideoBeginCodingInfoKHR {}
29499
29500#[repr(C)]
29502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29503pub struct VideoCapabilitiesKHR {
29504 pub s_type: StructureType,
29505 pub next: *mut c_void,
29506 pub flags: VideoCapabilityFlagsKHR,
29507 pub min_bitstream_buffer_offset_alignment: DeviceSize,
29508 pub min_bitstream_buffer_size_alignment: DeviceSize,
29509 pub picture_access_granularity: Extent2D,
29510 pub min_coded_extent: Extent2D,
29511 pub max_coded_extent: Extent2D,
29512 pub max_dpb_slots: u32,
29513 pub max_active_reference_pictures: u32,
29514 pub std_header_version: ExtensionProperties,
29515}
29516
29517impl Default for VideoCapabilitiesKHR {
29518 #[inline]
29519 fn default() -> Self {
29520 Self {
29521 s_type: StructureType::VIDEO_CAPABILITIES_KHR,
29522 next: ptr::null_mut(),
29523 flags: VideoCapabilityFlagsKHR::default(),
29524 min_bitstream_buffer_offset_alignment: DeviceSize::default(),
29525 min_bitstream_buffer_size_alignment: DeviceSize::default(),
29526 picture_access_granularity: Extent2D::default(),
29527 min_coded_extent: Extent2D::default(),
29528 max_coded_extent: Extent2D::default(),
29529 max_dpb_slots: u32::default(),
29530 max_active_reference_pictures: u32::default(),
29531 std_header_version: ExtensionProperties::default(),
29532 }
29533 }
29534}
29535
29536unsafe impl Send for VideoCapabilitiesKHR {}
29537unsafe impl Sync for VideoCapabilitiesKHR {}
29538
29539#[repr(C)]
29541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29542pub struct VideoCodingControlInfoKHR {
29543 pub s_type: StructureType,
29544 pub next: *const c_void,
29545 pub flags: VideoCodingControlFlagsKHR,
29546}
29547
29548impl Default for VideoCodingControlInfoKHR {
29549 #[inline]
29550 fn default() -> Self {
29551 Self {
29552 s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
29553 next: ptr::null(),
29554 flags: VideoCodingControlFlagsKHR::default(),
29555 }
29556 }
29557}
29558
29559unsafe impl Send for VideoCodingControlInfoKHR {}
29560unsafe impl Sync for VideoCodingControlInfoKHR {}
29561
29562#[repr(C)]
29564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29565pub struct VideoDecodeAV1CapabilitiesKHR {
29566 pub s_type: StructureType,
29567 pub next: *mut c_void,
29568 pub max_level: video::StdVideoAV1Level,
29569}
29570
29571impl Default for VideoDecodeAV1CapabilitiesKHR {
29572 #[inline]
29573 fn default() -> Self {
29574 Self {
29575 s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
29576 next: ptr::null_mut(),
29577 max_level: video::StdVideoAV1Level::default(),
29578 }
29579 }
29580}
29581
29582unsafe impl Send for VideoDecodeAV1CapabilitiesKHR {}
29583unsafe impl Sync for VideoDecodeAV1CapabilitiesKHR {}
29584
29585#[repr(C)]
29587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29588pub struct VideoDecodeAV1DpbSlotInfoKHR {
29589 pub s_type: StructureType,
29590 pub next: *const c_void,
29591 pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
29592}
29593
29594impl Default for VideoDecodeAV1DpbSlotInfoKHR {
29595 #[inline]
29596 fn default() -> Self {
29597 Self {
29598 s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
29599 next: ptr::null(),
29600 std_reference_info: ptr::null(),
29601 }
29602 }
29603}
29604
29605unsafe impl Send for VideoDecodeAV1DpbSlotInfoKHR {}
29606unsafe impl Sync for VideoDecodeAV1DpbSlotInfoKHR {}
29607
29608#[repr(C)]
29610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29611pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
29612 pub s_type: StructureType,
29613 pub next: *const c_void,
29614 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
29615}
29616
29617impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
29618 #[inline]
29619 fn default() -> Self {
29620 Self {
29621 s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
29622 next: ptr::null(),
29623 std_sequence_header: ptr::null(),
29624 }
29625 }
29626}
29627
29628unsafe impl Send for VideoDecodeAV1InlineSessionParametersInfoKHR {}
29629unsafe impl Sync for VideoDecodeAV1InlineSessionParametersInfoKHR {}
29630
29631#[repr(C)]
29633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29634pub struct VideoDecodeAV1PictureInfoKHR {
29635 pub s_type: StructureType,
29636 pub next: *const c_void,
29637 pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
29638 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
29639 pub frame_header_offset: u32,
29640 pub tile_count: u32,
29641 pub tile_offsets: *const u32,
29642 pub tile_sizes: *const u32,
29643}
29644
29645impl Default for VideoDecodeAV1PictureInfoKHR {
29646 #[inline]
29647 fn default() -> Self {
29648 Self {
29649 s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
29650 next: ptr::null(),
29651 std_picture_info: ptr::null(),
29652 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
29653 frame_header_offset: u32::default(),
29654 tile_count: u32::default(),
29655 tile_offsets: ptr::null(),
29656 tile_sizes: ptr::null(),
29657 }
29658 }
29659}
29660
29661unsafe impl Send for VideoDecodeAV1PictureInfoKHR {}
29662unsafe impl Sync for VideoDecodeAV1PictureInfoKHR {}
29663
29664#[repr(C)]
29666#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29667pub struct VideoDecodeAV1ProfileInfoKHR {
29668 pub s_type: StructureType,
29669 pub next: *const c_void,
29670 pub std_profile: video::StdVideoAV1Profile,
29671 pub film_grain_support: Bool32,
29672}
29673
29674impl Default for VideoDecodeAV1ProfileInfoKHR {
29675 #[inline]
29676 fn default() -> Self {
29677 Self {
29678 s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
29679 next: ptr::null(),
29680 std_profile: video::StdVideoAV1Profile::default(),
29681 film_grain_support: Bool32::default(),
29682 }
29683 }
29684}
29685
29686unsafe impl Send for VideoDecodeAV1ProfileInfoKHR {}
29687unsafe impl Sync for VideoDecodeAV1ProfileInfoKHR {}
29688
29689#[repr(C)]
29691#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29692pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
29693 pub s_type: StructureType,
29694 pub next: *const c_void,
29695 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
29696}
29697
29698impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
29699 #[inline]
29700 fn default() -> Self {
29701 Self {
29702 s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
29703 next: ptr::null(),
29704 std_sequence_header: ptr::null(),
29705 }
29706 }
29707}
29708
29709unsafe impl Send for VideoDecodeAV1SessionParametersCreateInfoKHR {}
29710unsafe impl Sync for VideoDecodeAV1SessionParametersCreateInfoKHR {}
29711
29712#[repr(C)]
29714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29715pub struct VideoDecodeCapabilitiesKHR {
29716 pub s_type: StructureType,
29717 pub next: *mut c_void,
29718 pub flags: VideoDecodeCapabilityFlagsKHR,
29719}
29720
29721impl Default for VideoDecodeCapabilitiesKHR {
29722 #[inline]
29723 fn default() -> Self {
29724 Self {
29725 s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
29726 next: ptr::null_mut(),
29727 flags: VideoDecodeCapabilityFlagsKHR::default(),
29728 }
29729 }
29730}
29731
29732unsafe impl Send for VideoDecodeCapabilitiesKHR {}
29733unsafe impl Sync for VideoDecodeCapabilitiesKHR {}
29734
29735#[repr(C)]
29737#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29738pub struct VideoDecodeH264CapabilitiesKHR {
29739 pub s_type: StructureType,
29740 pub next: *mut c_void,
29741 pub max_level_idc: video::StdVideoH264LevelIdc,
29742 pub field_offset_granularity: Offset2D,
29743}
29744
29745impl Default for VideoDecodeH264CapabilitiesKHR {
29746 #[inline]
29747 fn default() -> Self {
29748 Self {
29749 s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
29750 next: ptr::null_mut(),
29751 max_level_idc: video::StdVideoH264LevelIdc::default(),
29752 field_offset_granularity: Offset2D::default(),
29753 }
29754 }
29755}
29756
29757unsafe impl Send for VideoDecodeH264CapabilitiesKHR {}
29758unsafe impl Sync for VideoDecodeH264CapabilitiesKHR {}
29759
29760#[repr(C)]
29762#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29763pub struct VideoDecodeH264DpbSlotInfoKHR {
29764 pub s_type: StructureType,
29765 pub next: *const c_void,
29766 pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
29767}
29768
29769impl Default for VideoDecodeH264DpbSlotInfoKHR {
29770 #[inline]
29771 fn default() -> Self {
29772 Self {
29773 s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
29774 next: ptr::null(),
29775 std_reference_info: ptr::null(),
29776 }
29777 }
29778}
29779
29780unsafe impl Send for VideoDecodeH264DpbSlotInfoKHR {}
29781unsafe impl Sync for VideoDecodeH264DpbSlotInfoKHR {}
29782
29783#[repr(C)]
29785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29786pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
29787 pub s_type: StructureType,
29788 pub next: *const c_void,
29789 pub std_sps: *const video::StdVideoH264SequenceParameterSet,
29790 pub std_pps: *const video::StdVideoH264PictureParameterSet,
29791}
29792
29793impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
29794 #[inline]
29795 fn default() -> Self {
29796 Self {
29797 s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
29798 next: ptr::null(),
29799 std_sps: ptr::null(),
29800 std_pps: ptr::null(),
29801 }
29802 }
29803}
29804
29805unsafe impl Send for VideoDecodeH264InlineSessionParametersInfoKHR {}
29806unsafe impl Sync for VideoDecodeH264InlineSessionParametersInfoKHR {}
29807
29808#[repr(C)]
29810#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29811pub struct VideoDecodeH264PictureInfoKHR {
29812 pub s_type: StructureType,
29813 pub next: *const c_void,
29814 pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
29815 pub slice_count: u32,
29816 pub slice_offsets: *const u32,
29817}
29818
29819impl Default for VideoDecodeH264PictureInfoKHR {
29820 #[inline]
29821 fn default() -> Self {
29822 Self {
29823 s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
29824 next: ptr::null(),
29825 std_picture_info: ptr::null(),
29826 slice_count: u32::default(),
29827 slice_offsets: ptr::null(),
29828 }
29829 }
29830}
29831
29832unsafe impl Send for VideoDecodeH264PictureInfoKHR {}
29833unsafe impl Sync for VideoDecodeH264PictureInfoKHR {}
29834
29835#[repr(C)]
29837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29838pub struct VideoDecodeH264ProfileInfoKHR {
29839 pub s_type: StructureType,
29840 pub next: *const c_void,
29841 pub std_profile_idc: video::StdVideoH264ProfileIdc,
29842 pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
29843}
29844
29845impl Default for VideoDecodeH264ProfileInfoKHR {
29846 #[inline]
29847 fn default() -> Self {
29848 Self {
29849 s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
29850 next: ptr::null(),
29851 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
29852 picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
29853 }
29854 }
29855}
29856
29857unsafe impl Send for VideoDecodeH264ProfileInfoKHR {}
29858unsafe impl Sync for VideoDecodeH264ProfileInfoKHR {}
29859
29860#[repr(C)]
29862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29863pub struct VideoDecodeH264SessionParametersAddInfoKHR {
29864 pub s_type: StructureType,
29865 pub next: *const c_void,
29866 pub std_sps_count: u32,
29867 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
29868 pub std_pps_count: u32,
29869 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
29870}
29871
29872impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
29873 #[inline]
29874 fn default() -> Self {
29875 Self {
29876 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
29877 next: ptr::null(),
29878 std_sps_count: u32::default(),
29879 std_sp_ss: ptr::null(),
29880 std_pps_count: u32::default(),
29881 std_pp_ss: ptr::null(),
29882 }
29883 }
29884}
29885
29886unsafe impl Send for VideoDecodeH264SessionParametersAddInfoKHR {}
29887unsafe impl Sync for VideoDecodeH264SessionParametersAddInfoKHR {}
29888
29889#[repr(C)]
29891#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29892pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
29893 pub s_type: StructureType,
29894 pub next: *const c_void,
29895 pub max_std_sps_count: u32,
29896 pub max_std_pps_count: u32,
29897 pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
29898}
29899
29900impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
29901 #[inline]
29902 fn default() -> Self {
29903 Self {
29904 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
29905 next: ptr::null(),
29906 max_std_sps_count: u32::default(),
29907 max_std_pps_count: u32::default(),
29908 parameters_add_info: ptr::null(),
29909 }
29910 }
29911}
29912
29913unsafe impl Send for VideoDecodeH264SessionParametersCreateInfoKHR {}
29914unsafe impl Sync for VideoDecodeH264SessionParametersCreateInfoKHR {}
29915
29916#[repr(C)]
29918#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29919pub struct VideoDecodeH265CapabilitiesKHR {
29920 pub s_type: StructureType,
29921 pub next: *mut c_void,
29922 pub max_level_idc: video::StdVideoH265LevelIdc,
29923}
29924
29925impl Default for VideoDecodeH265CapabilitiesKHR {
29926 #[inline]
29927 fn default() -> Self {
29928 Self {
29929 s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
29930 next: ptr::null_mut(),
29931 max_level_idc: video::StdVideoH265LevelIdc::default(),
29932 }
29933 }
29934}
29935
29936unsafe impl Send for VideoDecodeH265CapabilitiesKHR {}
29937unsafe impl Sync for VideoDecodeH265CapabilitiesKHR {}
29938
29939#[repr(C)]
29941#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29942pub struct VideoDecodeH265DpbSlotInfoKHR {
29943 pub s_type: StructureType,
29944 pub next: *const c_void,
29945 pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
29946}
29947
29948impl Default for VideoDecodeH265DpbSlotInfoKHR {
29949 #[inline]
29950 fn default() -> Self {
29951 Self {
29952 s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
29953 next: ptr::null(),
29954 std_reference_info: ptr::null(),
29955 }
29956 }
29957}
29958
29959unsafe impl Send for VideoDecodeH265DpbSlotInfoKHR {}
29960unsafe impl Sync for VideoDecodeH265DpbSlotInfoKHR {}
29961
29962#[repr(C)]
29964#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29965pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
29966 pub s_type: StructureType,
29967 pub next: *const c_void,
29968 pub std_vps: *const video::StdVideoH265VideoParameterSet,
29969 pub std_sps: *const video::StdVideoH265SequenceParameterSet,
29970 pub std_pps: *const video::StdVideoH265PictureParameterSet,
29971}
29972
29973impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
29974 #[inline]
29975 fn default() -> Self {
29976 Self {
29977 s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
29978 next: ptr::null(),
29979 std_vps: ptr::null(),
29980 std_sps: ptr::null(),
29981 std_pps: ptr::null(),
29982 }
29983 }
29984}
29985
29986unsafe impl Send for VideoDecodeH265InlineSessionParametersInfoKHR {}
29987unsafe impl Sync for VideoDecodeH265InlineSessionParametersInfoKHR {}
29988
29989#[repr(C)]
29991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29992pub struct VideoDecodeH265PictureInfoKHR {
29993 pub s_type: StructureType,
29994 pub next: *const c_void,
29995 pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
29996 pub slice_segment_count: u32,
29997 pub slice_segment_offsets: *const u32,
29998}
29999
30000impl Default for VideoDecodeH265PictureInfoKHR {
30001 #[inline]
30002 fn default() -> Self {
30003 Self {
30004 s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
30005 next: ptr::null(),
30006 std_picture_info: ptr::null(),
30007 slice_segment_count: u32::default(),
30008 slice_segment_offsets: ptr::null(),
30009 }
30010 }
30011}
30012
30013unsafe impl Send for VideoDecodeH265PictureInfoKHR {}
30014unsafe impl Sync for VideoDecodeH265PictureInfoKHR {}
30015
30016#[repr(C)]
30018#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30019pub struct VideoDecodeH265ProfileInfoKHR {
30020 pub s_type: StructureType,
30021 pub next: *const c_void,
30022 pub std_profile_idc: video::StdVideoH265ProfileIdc,
30023}
30024
30025impl Default for VideoDecodeH265ProfileInfoKHR {
30026 #[inline]
30027 fn default() -> Self {
30028 Self {
30029 s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
30030 next: ptr::null(),
30031 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
30032 }
30033 }
30034}
30035
30036unsafe impl Send for VideoDecodeH265ProfileInfoKHR {}
30037unsafe impl Sync for VideoDecodeH265ProfileInfoKHR {}
30038
30039#[repr(C)]
30041#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30042pub struct VideoDecodeH265SessionParametersAddInfoKHR {
30043 pub s_type: StructureType,
30044 pub next: *const c_void,
30045 pub std_vps_count: u32,
30046 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
30047 pub std_sps_count: u32,
30048 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
30049 pub std_pps_count: u32,
30050 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
30051}
30052
30053impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
30054 #[inline]
30055 fn default() -> Self {
30056 Self {
30057 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
30058 next: ptr::null(),
30059 std_vps_count: u32::default(),
30060 std_vp_ss: ptr::null(),
30061 std_sps_count: u32::default(),
30062 std_sp_ss: ptr::null(),
30063 std_pps_count: u32::default(),
30064 std_pp_ss: ptr::null(),
30065 }
30066 }
30067}
30068
30069unsafe impl Send for VideoDecodeH265SessionParametersAddInfoKHR {}
30070unsafe impl Sync for VideoDecodeH265SessionParametersAddInfoKHR {}
30071
30072#[repr(C)]
30074#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30075pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
30076 pub s_type: StructureType,
30077 pub next: *const c_void,
30078 pub max_std_vps_count: u32,
30079 pub max_std_sps_count: u32,
30080 pub max_std_pps_count: u32,
30081 pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
30082}
30083
30084impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
30085 #[inline]
30086 fn default() -> Self {
30087 Self {
30088 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
30089 next: ptr::null(),
30090 max_std_vps_count: u32::default(),
30091 max_std_sps_count: u32::default(),
30092 max_std_pps_count: u32::default(),
30093 parameters_add_info: ptr::null(),
30094 }
30095 }
30096}
30097
30098unsafe impl Send for VideoDecodeH265SessionParametersCreateInfoKHR {}
30099unsafe impl Sync for VideoDecodeH265SessionParametersCreateInfoKHR {}
30100
30101#[repr(C)]
30103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30104pub struct VideoDecodeInfoKHR {
30105 pub s_type: StructureType,
30106 pub next: *const c_void,
30107 pub flags: VideoDecodeFlagsKHR,
30108 pub src_buffer: Buffer,
30109 pub src_buffer_offset: DeviceSize,
30110 pub src_buffer_range: DeviceSize,
30111 pub dst_picture_resource: VideoPictureResourceInfoKHR,
30112 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
30113 pub reference_slot_count: u32,
30114 pub reference_slots: *const VideoReferenceSlotInfoKHR,
30115}
30116
30117impl Default for VideoDecodeInfoKHR {
30118 #[inline]
30119 fn default() -> Self {
30120 Self {
30121 s_type: StructureType::VIDEO_DECODE_INFO_KHR,
30122 next: ptr::null(),
30123 flags: VideoDecodeFlagsKHR::default(),
30124 src_buffer: Buffer::default(),
30125 src_buffer_offset: DeviceSize::default(),
30126 src_buffer_range: DeviceSize::default(),
30127 dst_picture_resource: VideoPictureResourceInfoKHR::default(),
30128 setup_reference_slot: ptr::null(),
30129 reference_slot_count: u32::default(),
30130 reference_slots: ptr::null(),
30131 }
30132 }
30133}
30134
30135unsafe impl Send for VideoDecodeInfoKHR {}
30136unsafe impl Sync for VideoDecodeInfoKHR {}
30137
30138#[repr(C)]
30140#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30141pub struct VideoDecodeUsageInfoKHR {
30142 pub s_type: StructureType,
30143 pub next: *const c_void,
30144 pub video_usage_hints: VideoDecodeUsageFlagsKHR,
30145}
30146
30147impl Default for VideoDecodeUsageInfoKHR {
30148 #[inline]
30149 fn default() -> Self {
30150 Self {
30151 s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
30152 next: ptr::null(),
30153 video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
30154 }
30155 }
30156}
30157
30158unsafe impl Send for VideoDecodeUsageInfoKHR {}
30159unsafe impl Sync for VideoDecodeUsageInfoKHR {}
30160
30161#[repr(C)]
30163#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30164pub struct VideoDecodeVP9CapabilitiesKHR {
30165 pub s_type: StructureType,
30166 pub next: *mut c_void,
30167 pub max_level: video::StdVideoVP9Level,
30168}
30169
30170impl Default for VideoDecodeVP9CapabilitiesKHR {
30171 #[inline]
30172 fn default() -> Self {
30173 Self {
30174 s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
30175 next: ptr::null_mut(),
30176 max_level: video::StdVideoVP9Level::default(),
30177 }
30178 }
30179}
30180
30181unsafe impl Send for VideoDecodeVP9CapabilitiesKHR {}
30182unsafe impl Sync for VideoDecodeVP9CapabilitiesKHR {}
30183
30184#[repr(C)]
30186#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30187pub struct VideoDecodeVP9PictureInfoKHR {
30188 pub s_type: StructureType,
30189 pub next: *const c_void,
30190 pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
30191 pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
30192 pub uncompressed_header_offset: u32,
30193 pub compressed_header_offset: u32,
30194 pub tiles_offset: u32,
30195}
30196
30197impl Default for VideoDecodeVP9PictureInfoKHR {
30198 #[inline]
30199 fn default() -> Self {
30200 Self {
30201 s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
30202 next: ptr::null(),
30203 std_picture_info: ptr::null(),
30204 reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
30205 uncompressed_header_offset: u32::default(),
30206 compressed_header_offset: u32::default(),
30207 tiles_offset: u32::default(),
30208 }
30209 }
30210}
30211
30212unsafe impl Send for VideoDecodeVP9PictureInfoKHR {}
30213unsafe impl Sync for VideoDecodeVP9PictureInfoKHR {}
30214
30215#[repr(C)]
30217#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30218pub struct VideoDecodeVP9ProfileInfoKHR {
30219 pub s_type: StructureType,
30220 pub next: *const c_void,
30221 pub std_profile: video::StdVideoVP9Profile,
30222}
30223
30224impl Default for VideoDecodeVP9ProfileInfoKHR {
30225 #[inline]
30226 fn default() -> Self {
30227 Self {
30228 s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
30229 next: ptr::null(),
30230 std_profile: video::StdVideoVP9Profile::default(),
30231 }
30232 }
30233}
30234
30235unsafe impl Send for VideoDecodeVP9ProfileInfoKHR {}
30236unsafe impl Sync for VideoDecodeVP9ProfileInfoKHR {}
30237
30238#[repr(C)]
30240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30241pub struct VideoEncodeAV1CapabilitiesKHR {
30242 pub s_type: StructureType,
30243 pub next: *mut c_void,
30244 pub flags: VideoEncodeAV1CapabilityFlagsKHR,
30245 pub max_level: video::StdVideoAV1Level,
30246 pub coded_picture_alignment: Extent2D,
30247 pub max_tiles: Extent2D,
30248 pub min_tile_size: Extent2D,
30249 pub max_tile_size: Extent2D,
30250 pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
30251 pub max_single_reference_count: u32,
30252 pub single_reference_name_mask: u32,
30253 pub max_unidirectional_compound_reference_count: u32,
30254 pub max_unidirectional_compound_group1_reference_count: u32,
30255 pub unidirectional_compound_reference_name_mask: u32,
30256 pub max_bidirectional_compound_reference_count: u32,
30257 pub max_bidirectional_compound_group1_reference_count: u32,
30258 pub max_bidirectional_compound_group2_reference_count: u32,
30259 pub bidirectional_compound_reference_name_mask: u32,
30260 pub max_temporal_layer_count: u32,
30261 pub max_spatial_layer_count: u32,
30262 pub max_operating_points: u32,
30263 pub min_q_index: u32,
30264 pub max_q_index: u32,
30265 pub prefers_gop_remaining_frames: Bool32,
30266 pub requires_gop_remaining_frames: Bool32,
30267 pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
30268}
30269
30270impl Default for VideoEncodeAV1CapabilitiesKHR {
30271 #[inline]
30272 fn default() -> Self {
30273 Self {
30274 s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
30275 next: ptr::null_mut(),
30276 flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
30277 max_level: video::StdVideoAV1Level::default(),
30278 coded_picture_alignment: Extent2D::default(),
30279 max_tiles: Extent2D::default(),
30280 min_tile_size: Extent2D::default(),
30281 max_tile_size: Extent2D::default(),
30282 superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
30283 max_single_reference_count: u32::default(),
30284 single_reference_name_mask: u32::default(),
30285 max_unidirectional_compound_reference_count: u32::default(),
30286 max_unidirectional_compound_group1_reference_count: u32::default(),
30287 unidirectional_compound_reference_name_mask: u32::default(),
30288 max_bidirectional_compound_reference_count: u32::default(),
30289 max_bidirectional_compound_group1_reference_count: u32::default(),
30290 max_bidirectional_compound_group2_reference_count: u32::default(),
30291 bidirectional_compound_reference_name_mask: u32::default(),
30292 max_temporal_layer_count: u32::default(),
30293 max_spatial_layer_count: u32::default(),
30294 max_operating_points: u32::default(),
30295 min_q_index: u32::default(),
30296 max_q_index: u32::default(),
30297 prefers_gop_remaining_frames: Bool32::default(),
30298 requires_gop_remaining_frames: Bool32::default(),
30299 std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
30300 }
30301 }
30302}
30303
30304unsafe impl Send for VideoEncodeAV1CapabilitiesKHR {}
30305unsafe impl Sync for VideoEncodeAV1CapabilitiesKHR {}
30306
30307#[repr(C)]
30309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30310pub struct VideoEncodeAV1DpbSlotInfoKHR {
30311 pub s_type: StructureType,
30312 pub next: *const c_void,
30313 pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
30314}
30315
30316impl Default for VideoEncodeAV1DpbSlotInfoKHR {
30317 #[inline]
30318 fn default() -> Self {
30319 Self {
30320 s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
30321 next: ptr::null(),
30322 std_reference_info: ptr::null(),
30323 }
30324 }
30325}
30326
30327unsafe impl Send for VideoEncodeAV1DpbSlotInfoKHR {}
30328unsafe impl Sync for VideoEncodeAV1DpbSlotInfoKHR {}
30329
30330#[repr(C)]
30332#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30333pub struct VideoEncodeAV1FrameSizeKHR {
30334 pub intra_frame_size: u32,
30335 pub predictive_frame_size: u32,
30336 pub bipredictive_frame_size: u32,
30337}
30338
30339#[repr(C)]
30341#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30342pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
30343 pub s_type: StructureType,
30344 pub next: *const c_void,
30345 pub use_gop_remaining_frames: Bool32,
30346 pub gop_remaining_intra: u32,
30347 pub gop_remaining_predictive: u32,
30348 pub gop_remaining_bipredictive: u32,
30349}
30350
30351impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
30352 #[inline]
30353 fn default() -> Self {
30354 Self {
30355 s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
30356 next: ptr::null(),
30357 use_gop_remaining_frames: Bool32::default(),
30358 gop_remaining_intra: u32::default(),
30359 gop_remaining_predictive: u32::default(),
30360 gop_remaining_bipredictive: u32::default(),
30361 }
30362 }
30363}
30364
30365unsafe impl Send for VideoEncodeAV1GopRemainingFrameInfoKHR {}
30366unsafe impl Sync for VideoEncodeAV1GopRemainingFrameInfoKHR {}
30367
30368#[repr(C)]
30370#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30371pub struct VideoEncodeAV1PictureInfoKHR {
30372 pub s_type: StructureType,
30373 pub next: *const c_void,
30374 pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
30375 pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
30376 pub constant_q_index: u32,
30377 pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
30378 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30379 pub primary_reference_cdf_only: Bool32,
30380 pub generate_obu_extension_header: Bool32,
30381}
30382
30383impl Default for VideoEncodeAV1PictureInfoKHR {
30384 #[inline]
30385 fn default() -> Self {
30386 Self {
30387 s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
30388 next: ptr::null(),
30389 prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
30390 rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
30391 constant_q_index: u32::default(),
30392 std_picture_info: ptr::null(),
30393 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30394 primary_reference_cdf_only: Bool32::default(),
30395 generate_obu_extension_header: Bool32::default(),
30396 }
30397 }
30398}
30399
30400unsafe impl Send for VideoEncodeAV1PictureInfoKHR {}
30401unsafe impl Sync for VideoEncodeAV1PictureInfoKHR {}
30402
30403#[repr(C)]
30405#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30406pub struct VideoEncodeAV1ProfileInfoKHR {
30407 pub s_type: StructureType,
30408 pub next: *const c_void,
30409 pub std_profile: video::StdVideoAV1Profile,
30410}
30411
30412impl Default for VideoEncodeAV1ProfileInfoKHR {
30413 #[inline]
30414 fn default() -> Self {
30415 Self {
30416 s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
30417 next: ptr::null(),
30418 std_profile: video::StdVideoAV1Profile::default(),
30419 }
30420 }
30421}
30422
30423unsafe impl Send for VideoEncodeAV1ProfileInfoKHR {}
30424unsafe impl Sync for VideoEncodeAV1ProfileInfoKHR {}
30425
30426#[repr(C)]
30428#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30429pub struct VideoEncodeAV1QIndexKHR {
30430 pub intra_q_index: u32,
30431 pub predictive_q_index: u32,
30432 pub bipredictive_q_index: u32,
30433}
30434
30435#[repr(C)]
30437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30438pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
30439 pub s_type: StructureType,
30440 pub next: *mut c_void,
30441 pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
30442 pub preferred_gop_frame_count: u32,
30443 pub preferred_key_frame_period: u32,
30444 pub preferred_consecutive_bipredictive_frame_count: u32,
30445 pub preferred_temporal_layer_count: u32,
30446 pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
30447 pub preferred_max_single_reference_count: u32,
30448 pub preferred_single_reference_name_mask: u32,
30449 pub preferred_max_unidirectional_compound_reference_count: u32,
30450 pub preferred_max_unidirectional_compound_group1_reference_count: u32,
30451 pub preferred_unidirectional_compound_reference_name_mask: u32,
30452 pub preferred_max_bidirectional_compound_reference_count: u32,
30453 pub preferred_max_bidirectional_compound_group1_reference_count: u32,
30454 pub preferred_max_bidirectional_compound_group2_reference_count: u32,
30455 pub preferred_bidirectional_compound_reference_name_mask: u32,
30456}
30457
30458impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
30459 #[inline]
30460 fn default() -> Self {
30461 Self {
30462 s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
30463 next: ptr::null_mut(),
30464 preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
30465 preferred_gop_frame_count: u32::default(),
30466 preferred_key_frame_period: u32::default(),
30467 preferred_consecutive_bipredictive_frame_count: u32::default(),
30468 preferred_temporal_layer_count: u32::default(),
30469 preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
30470 preferred_max_single_reference_count: u32::default(),
30471 preferred_single_reference_name_mask: u32::default(),
30472 preferred_max_unidirectional_compound_reference_count: u32::default(),
30473 preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
30474 preferred_unidirectional_compound_reference_name_mask: u32::default(),
30475 preferred_max_bidirectional_compound_reference_count: u32::default(),
30476 preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
30477 preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
30478 preferred_bidirectional_compound_reference_name_mask: u32::default(),
30479 }
30480 }
30481}
30482
30483unsafe impl Send for VideoEncodeAV1QualityLevelPropertiesKHR {}
30484unsafe impl Sync for VideoEncodeAV1QualityLevelPropertiesKHR {}
30485
30486#[repr(C)]
30488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30489pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
30490 pub s_type: StructureType,
30491 pub next: *mut c_void,
30492 pub min_q_index_delta: i32,
30493 pub max_q_index_delta: i32,
30494}
30495
30496impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
30497 #[inline]
30498 fn default() -> Self {
30499 Self {
30500 s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
30501 next: ptr::null_mut(),
30502 min_q_index_delta: i32::default(),
30503 max_q_index_delta: i32::default(),
30504 }
30505 }
30506}
30507
30508unsafe impl Send for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
30509unsafe impl Sync for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
30510
30511#[repr(C)]
30513#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30514pub struct VideoEncodeAV1RateControlInfoKHR {
30515 pub s_type: StructureType,
30516 pub next: *const c_void,
30517 pub flags: VideoEncodeAV1RateControlFlagsKHR,
30518 pub gop_frame_count: u32,
30519 pub key_frame_period: u32,
30520 pub consecutive_bipredictive_frame_count: u32,
30521 pub temporal_layer_count: u32,
30522}
30523
30524impl Default for VideoEncodeAV1RateControlInfoKHR {
30525 #[inline]
30526 fn default() -> Self {
30527 Self {
30528 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
30529 next: ptr::null(),
30530 flags: VideoEncodeAV1RateControlFlagsKHR::default(),
30531 gop_frame_count: u32::default(),
30532 key_frame_period: u32::default(),
30533 consecutive_bipredictive_frame_count: u32::default(),
30534 temporal_layer_count: u32::default(),
30535 }
30536 }
30537}
30538
30539unsafe impl Send for VideoEncodeAV1RateControlInfoKHR {}
30540unsafe impl Sync for VideoEncodeAV1RateControlInfoKHR {}
30541
30542#[repr(C)]
30544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30545pub struct VideoEncodeAV1RateControlLayerInfoKHR {
30546 pub s_type: StructureType,
30547 pub next: *const c_void,
30548 pub use_min_q_index: Bool32,
30549 pub min_q_index: VideoEncodeAV1QIndexKHR,
30550 pub use_max_q_index: Bool32,
30551 pub max_q_index: VideoEncodeAV1QIndexKHR,
30552 pub use_max_frame_size: Bool32,
30553 pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
30554}
30555
30556impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
30557 #[inline]
30558 fn default() -> Self {
30559 Self {
30560 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
30561 next: ptr::null(),
30562 use_min_q_index: Bool32::default(),
30563 min_q_index: VideoEncodeAV1QIndexKHR::default(),
30564 use_max_q_index: Bool32::default(),
30565 max_q_index: VideoEncodeAV1QIndexKHR::default(),
30566 use_max_frame_size: Bool32::default(),
30567 max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
30568 }
30569 }
30570}
30571
30572unsafe impl Send for VideoEncodeAV1RateControlLayerInfoKHR {}
30573unsafe impl Sync for VideoEncodeAV1RateControlLayerInfoKHR {}
30574
30575#[repr(C)]
30577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30578pub struct VideoEncodeAV1SessionCreateInfoKHR {
30579 pub s_type: StructureType,
30580 pub next: *const c_void,
30581 pub use_max_level: Bool32,
30582 pub max_level: video::StdVideoAV1Level,
30583}
30584
30585impl Default for VideoEncodeAV1SessionCreateInfoKHR {
30586 #[inline]
30587 fn default() -> Self {
30588 Self {
30589 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
30590 next: ptr::null(),
30591 use_max_level: Bool32::default(),
30592 max_level: video::StdVideoAV1Level::default(),
30593 }
30594 }
30595}
30596
30597unsafe impl Send for VideoEncodeAV1SessionCreateInfoKHR {}
30598unsafe impl Sync for VideoEncodeAV1SessionCreateInfoKHR {}
30599
30600#[repr(C)]
30602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30603pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
30604 pub s_type: StructureType,
30605 pub next: *const c_void,
30606 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30607 pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
30608 pub std_operating_point_count: u32,
30609 pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
30610}
30611
30612impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
30613 #[inline]
30614 fn default() -> Self {
30615 Self {
30616 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
30617 next: ptr::null(),
30618 std_sequence_header: ptr::null(),
30619 std_decoder_model_info: ptr::null(),
30620 std_operating_point_count: u32::default(),
30621 std_operating_points: ptr::null(),
30622 }
30623 }
30624}
30625
30626unsafe impl Send for VideoEncodeAV1SessionParametersCreateInfoKHR {}
30627unsafe impl Sync for VideoEncodeAV1SessionParametersCreateInfoKHR {}
30628
30629#[repr(C)]
30631#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30632pub struct VideoEncodeCapabilitiesKHR {
30633 pub s_type: StructureType,
30634 pub next: *mut c_void,
30635 pub flags: VideoEncodeCapabilityFlagsKHR,
30636 pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
30637 pub max_rate_control_layers: u32,
30638 pub max_bitrate: u64,
30639 pub max_quality_levels: u32,
30640 pub encode_input_picture_granularity: Extent2D,
30641 pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
30642}
30643
30644impl Default for VideoEncodeCapabilitiesKHR {
30645 #[inline]
30646 fn default() -> Self {
30647 Self {
30648 s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
30649 next: ptr::null_mut(),
30650 flags: VideoEncodeCapabilityFlagsKHR::default(),
30651 rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
30652 max_rate_control_layers: u32::default(),
30653 max_bitrate: u64::default(),
30654 max_quality_levels: u32::default(),
30655 encode_input_picture_granularity: Extent2D::default(),
30656 supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
30657 }
30658 }
30659}
30660
30661unsafe impl Send for VideoEncodeCapabilitiesKHR {}
30662unsafe impl Sync for VideoEncodeCapabilitiesKHR {}
30663
30664#[repr(C)]
30666#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30667pub struct VideoEncodeH264CapabilitiesKHR {
30668 pub s_type: StructureType,
30669 pub next: *mut c_void,
30670 pub flags: VideoEncodeH264CapabilityFlagsKHR,
30671 pub max_level_idc: video::StdVideoH264LevelIdc,
30672 pub max_slice_count: u32,
30673 pub max_p_picture_l0_reference_count: u32,
30674 pub max_b_picture_l0_reference_count: u32,
30675 pub max_l1_reference_count: u32,
30676 pub max_temporal_layer_count: u32,
30677 pub expect_dyadic_temporal_layer_pattern: Bool32,
30678 pub min_qp: i32,
30679 pub max_qp: i32,
30680 pub prefers_gop_remaining_frames: Bool32,
30681 pub requires_gop_remaining_frames: Bool32,
30682 pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
30683}
30684
30685impl Default for VideoEncodeH264CapabilitiesKHR {
30686 #[inline]
30687 fn default() -> Self {
30688 Self {
30689 s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
30690 next: ptr::null_mut(),
30691 flags: VideoEncodeH264CapabilityFlagsKHR::default(),
30692 max_level_idc: video::StdVideoH264LevelIdc::default(),
30693 max_slice_count: u32::default(),
30694 max_p_picture_l0_reference_count: u32::default(),
30695 max_b_picture_l0_reference_count: u32::default(),
30696 max_l1_reference_count: u32::default(),
30697 max_temporal_layer_count: u32::default(),
30698 expect_dyadic_temporal_layer_pattern: Bool32::default(),
30699 min_qp: i32::default(),
30700 max_qp: i32::default(),
30701 prefers_gop_remaining_frames: Bool32::default(),
30702 requires_gop_remaining_frames: Bool32::default(),
30703 std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
30704 }
30705 }
30706}
30707
30708unsafe impl Send for VideoEncodeH264CapabilitiesKHR {}
30709unsafe impl Sync for VideoEncodeH264CapabilitiesKHR {}
30710
30711#[repr(C)]
30713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30714pub struct VideoEncodeH264DpbSlotInfoKHR {
30715 pub s_type: StructureType,
30716 pub next: *const c_void,
30717 pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
30718}
30719
30720impl Default for VideoEncodeH264DpbSlotInfoKHR {
30721 #[inline]
30722 fn default() -> Self {
30723 Self {
30724 s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
30725 next: ptr::null(),
30726 std_reference_info: ptr::null(),
30727 }
30728 }
30729}
30730
30731unsafe impl Send for VideoEncodeH264DpbSlotInfoKHR {}
30732unsafe impl Sync for VideoEncodeH264DpbSlotInfoKHR {}
30733
30734#[repr(C)]
30736#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30737pub struct VideoEncodeH264FrameSizeKHR {
30738 pub frame_i_size: u32,
30739 pub frame_p_size: u32,
30740 pub frame_b_size: u32,
30741}
30742
30743#[repr(C)]
30745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30746pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
30747 pub s_type: StructureType,
30748 pub next: *const c_void,
30749 pub use_gop_remaining_frames: Bool32,
30750 pub gop_remaining_i: u32,
30751 pub gop_remaining_p: u32,
30752 pub gop_remaining_b: u32,
30753}
30754
30755impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
30756 #[inline]
30757 fn default() -> Self {
30758 Self {
30759 s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
30760 next: ptr::null(),
30761 use_gop_remaining_frames: Bool32::default(),
30762 gop_remaining_i: u32::default(),
30763 gop_remaining_p: u32::default(),
30764 gop_remaining_b: u32::default(),
30765 }
30766 }
30767}
30768
30769unsafe impl Send for VideoEncodeH264GopRemainingFrameInfoKHR {}
30770unsafe impl Sync for VideoEncodeH264GopRemainingFrameInfoKHR {}
30771
30772#[repr(C)]
30774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30775pub struct VideoEncodeH264NaluSliceInfoKHR {
30776 pub s_type: StructureType,
30777 pub next: *const c_void,
30778 pub constant_qp: i32,
30779 pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
30780}
30781
30782impl Default for VideoEncodeH264NaluSliceInfoKHR {
30783 #[inline]
30784 fn default() -> Self {
30785 Self {
30786 s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
30787 next: ptr::null(),
30788 constant_qp: i32::default(),
30789 std_slice_header: ptr::null(),
30790 }
30791 }
30792}
30793
30794unsafe impl Send for VideoEncodeH264NaluSliceInfoKHR {}
30795unsafe impl Sync for VideoEncodeH264NaluSliceInfoKHR {}
30796
30797#[repr(C)]
30799#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30800pub struct VideoEncodeH264PictureInfoKHR {
30801 pub s_type: StructureType,
30802 pub next: *const c_void,
30803 pub nalu_slice_entry_count: u32,
30804 pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
30805 pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
30806 pub generate_prefix_nalu: Bool32,
30807}
30808
30809impl Default for VideoEncodeH264PictureInfoKHR {
30810 #[inline]
30811 fn default() -> Self {
30812 Self {
30813 s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
30814 next: ptr::null(),
30815 nalu_slice_entry_count: u32::default(),
30816 nalu_slice_entries: ptr::null(),
30817 std_picture_info: ptr::null(),
30818 generate_prefix_nalu: Bool32::default(),
30819 }
30820 }
30821}
30822
30823unsafe impl Send for VideoEncodeH264PictureInfoKHR {}
30824unsafe impl Sync for VideoEncodeH264PictureInfoKHR {}
30825
30826#[repr(C)]
30828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30829pub struct VideoEncodeH264ProfileInfoKHR {
30830 pub s_type: StructureType,
30831 pub next: *const c_void,
30832 pub std_profile_idc: video::StdVideoH264ProfileIdc,
30833}
30834
30835impl Default for VideoEncodeH264ProfileInfoKHR {
30836 #[inline]
30837 fn default() -> Self {
30838 Self {
30839 s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
30840 next: ptr::null(),
30841 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
30842 }
30843 }
30844}
30845
30846unsafe impl Send for VideoEncodeH264ProfileInfoKHR {}
30847unsafe impl Sync for VideoEncodeH264ProfileInfoKHR {}
30848
30849#[repr(C)]
30851#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30852pub struct VideoEncodeH264QpKHR {
30853 pub qp_i: i32,
30854 pub qp_p: i32,
30855 pub qp_b: i32,
30856}
30857
30858#[repr(C)]
30860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30861pub struct VideoEncodeH264QualityLevelPropertiesKHR {
30862 pub s_type: StructureType,
30863 pub next: *mut c_void,
30864 pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
30865 pub preferred_gop_frame_count: u32,
30866 pub preferred_idr_period: u32,
30867 pub preferred_consecutive_b_frame_count: u32,
30868 pub preferred_temporal_layer_count: u32,
30869 pub preferred_constant_qp: VideoEncodeH264QpKHR,
30870 pub preferred_max_l0_reference_count: u32,
30871 pub preferred_max_l1_reference_count: u32,
30872 pub preferred_std_entropy_coding_mode_flag: Bool32,
30873}
30874
30875impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
30876 #[inline]
30877 fn default() -> Self {
30878 Self {
30879 s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
30880 next: ptr::null_mut(),
30881 preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
30882 preferred_gop_frame_count: u32::default(),
30883 preferred_idr_period: u32::default(),
30884 preferred_consecutive_b_frame_count: u32::default(),
30885 preferred_temporal_layer_count: u32::default(),
30886 preferred_constant_qp: VideoEncodeH264QpKHR::default(),
30887 preferred_max_l0_reference_count: u32::default(),
30888 preferred_max_l1_reference_count: u32::default(),
30889 preferred_std_entropy_coding_mode_flag: Bool32::default(),
30890 }
30891 }
30892}
30893
30894unsafe impl Send for VideoEncodeH264QualityLevelPropertiesKHR {}
30895unsafe impl Sync for VideoEncodeH264QualityLevelPropertiesKHR {}
30896
30897#[repr(C)]
30899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30900pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
30901 pub s_type: StructureType,
30902 pub next: *mut c_void,
30903 pub min_qp_delta: i32,
30904 pub max_qp_delta: i32,
30905}
30906
30907impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
30908 #[inline]
30909 fn default() -> Self {
30910 Self {
30911 s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
30912 next: ptr::null_mut(),
30913 min_qp_delta: i32::default(),
30914 max_qp_delta: i32::default(),
30915 }
30916 }
30917}
30918
30919unsafe impl Send for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
30920unsafe impl Sync for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
30921
30922#[repr(C)]
30924#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30925pub struct VideoEncodeH264RateControlInfoKHR {
30926 pub s_type: StructureType,
30927 pub next: *const c_void,
30928 pub flags: VideoEncodeH264RateControlFlagsKHR,
30929 pub gop_frame_count: u32,
30930 pub idr_period: u32,
30931 pub consecutive_b_frame_count: u32,
30932 pub temporal_layer_count: u32,
30933}
30934
30935impl Default for VideoEncodeH264RateControlInfoKHR {
30936 #[inline]
30937 fn default() -> Self {
30938 Self {
30939 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
30940 next: ptr::null(),
30941 flags: VideoEncodeH264RateControlFlagsKHR::default(),
30942 gop_frame_count: u32::default(),
30943 idr_period: u32::default(),
30944 consecutive_b_frame_count: u32::default(),
30945 temporal_layer_count: u32::default(),
30946 }
30947 }
30948}
30949
30950unsafe impl Send for VideoEncodeH264RateControlInfoKHR {}
30951unsafe impl Sync for VideoEncodeH264RateControlInfoKHR {}
30952
30953#[repr(C)]
30955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30956pub struct VideoEncodeH264RateControlLayerInfoKHR {
30957 pub s_type: StructureType,
30958 pub next: *const c_void,
30959 pub use_min_qp: Bool32,
30960 pub min_qp: VideoEncodeH264QpKHR,
30961 pub use_max_qp: Bool32,
30962 pub max_qp: VideoEncodeH264QpKHR,
30963 pub use_max_frame_size: Bool32,
30964 pub max_frame_size: VideoEncodeH264FrameSizeKHR,
30965}
30966
30967impl Default for VideoEncodeH264RateControlLayerInfoKHR {
30968 #[inline]
30969 fn default() -> Self {
30970 Self {
30971 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
30972 next: ptr::null(),
30973 use_min_qp: Bool32::default(),
30974 min_qp: VideoEncodeH264QpKHR::default(),
30975 use_max_qp: Bool32::default(),
30976 max_qp: VideoEncodeH264QpKHR::default(),
30977 use_max_frame_size: Bool32::default(),
30978 max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
30979 }
30980 }
30981}
30982
30983unsafe impl Send for VideoEncodeH264RateControlLayerInfoKHR {}
30984unsafe impl Sync for VideoEncodeH264RateControlLayerInfoKHR {}
30985
30986#[repr(C)]
30988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30989pub struct VideoEncodeH264SessionCreateInfoKHR {
30990 pub s_type: StructureType,
30991 pub next: *const c_void,
30992 pub use_max_level_idc: Bool32,
30993 pub max_level_idc: video::StdVideoH264LevelIdc,
30994}
30995
30996impl Default for VideoEncodeH264SessionCreateInfoKHR {
30997 #[inline]
30998 fn default() -> Self {
30999 Self {
31000 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
31001 next: ptr::null(),
31002 use_max_level_idc: Bool32::default(),
31003 max_level_idc: video::StdVideoH264LevelIdc::default(),
31004 }
31005 }
31006}
31007
31008unsafe impl Send for VideoEncodeH264SessionCreateInfoKHR {}
31009unsafe impl Sync for VideoEncodeH264SessionCreateInfoKHR {}
31010
31011#[repr(C)]
31013#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31014pub struct VideoEncodeH264SessionParametersAddInfoKHR {
31015 pub s_type: StructureType,
31016 pub next: *const c_void,
31017 pub std_sps_count: u32,
31018 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
31019 pub std_pps_count: u32,
31020 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
31021}
31022
31023impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
31024 #[inline]
31025 fn default() -> Self {
31026 Self {
31027 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
31028 next: ptr::null(),
31029 std_sps_count: u32::default(),
31030 std_sp_ss: ptr::null(),
31031 std_pps_count: u32::default(),
31032 std_pp_ss: ptr::null(),
31033 }
31034 }
31035}
31036
31037unsafe impl Send for VideoEncodeH264SessionParametersAddInfoKHR {}
31038unsafe impl Sync for VideoEncodeH264SessionParametersAddInfoKHR {}
31039
31040#[repr(C)]
31042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31043pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
31044 pub s_type: StructureType,
31045 pub next: *const c_void,
31046 pub max_std_sps_count: u32,
31047 pub max_std_pps_count: u32,
31048 pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
31049}
31050
31051impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
31052 #[inline]
31053 fn default() -> Self {
31054 Self {
31055 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
31056 next: ptr::null(),
31057 max_std_sps_count: u32::default(),
31058 max_std_pps_count: u32::default(),
31059 parameters_add_info: ptr::null(),
31060 }
31061 }
31062}
31063
31064unsafe impl Send for VideoEncodeH264SessionParametersCreateInfoKHR {}
31065unsafe impl Sync for VideoEncodeH264SessionParametersCreateInfoKHR {}
31066
31067#[repr(C)]
31069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31070pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
31071 pub s_type: StructureType,
31072 pub next: *mut c_void,
31073 pub has_std_sps_overrides: Bool32,
31074 pub has_std_pps_overrides: Bool32,
31075}
31076
31077impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
31078 #[inline]
31079 fn default() -> Self {
31080 Self {
31081 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
31082 next: ptr::null_mut(),
31083 has_std_sps_overrides: Bool32::default(),
31084 has_std_pps_overrides: Bool32::default(),
31085 }
31086 }
31087}
31088
31089unsafe impl Send for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
31090unsafe impl Sync for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
31091
31092#[repr(C)]
31094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31095pub struct VideoEncodeH264SessionParametersGetInfoKHR {
31096 pub s_type: StructureType,
31097 pub next: *const c_void,
31098 pub write_std_sps: Bool32,
31099 pub write_std_pps: Bool32,
31100 pub std_sps_id: u32,
31101 pub std_pps_id: u32,
31102}
31103
31104impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
31105 #[inline]
31106 fn default() -> Self {
31107 Self {
31108 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
31109 next: ptr::null(),
31110 write_std_sps: Bool32::default(),
31111 write_std_pps: Bool32::default(),
31112 std_sps_id: u32::default(),
31113 std_pps_id: u32::default(),
31114 }
31115 }
31116}
31117
31118unsafe impl Send for VideoEncodeH264SessionParametersGetInfoKHR {}
31119unsafe impl Sync for VideoEncodeH264SessionParametersGetInfoKHR {}
31120
31121#[repr(C)]
31123#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31124pub struct VideoEncodeH265CapabilitiesKHR {
31125 pub s_type: StructureType,
31126 pub next: *mut c_void,
31127 pub flags: VideoEncodeH265CapabilityFlagsKHR,
31128 pub max_level_idc: video::StdVideoH265LevelIdc,
31129 pub max_slice_segment_count: u32,
31130 pub max_tiles: Extent2D,
31131 pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
31132 pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
31133 pub max_p_picture_l0_reference_count: u32,
31134 pub max_b_picture_l0_reference_count: u32,
31135 pub max_l1_reference_count: u32,
31136 pub max_sub_layer_count: u32,
31137 pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
31138 pub min_qp: i32,
31139 pub max_qp: i32,
31140 pub prefers_gop_remaining_frames: Bool32,
31141 pub requires_gop_remaining_frames: Bool32,
31142 pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
31143}
31144
31145impl Default for VideoEncodeH265CapabilitiesKHR {
31146 #[inline]
31147 fn default() -> Self {
31148 Self {
31149 s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
31150 next: ptr::null_mut(),
31151 flags: VideoEncodeH265CapabilityFlagsKHR::default(),
31152 max_level_idc: video::StdVideoH265LevelIdc::default(),
31153 max_slice_segment_count: u32::default(),
31154 max_tiles: Extent2D::default(),
31155 ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
31156 transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
31157 max_p_picture_l0_reference_count: u32::default(),
31158 max_b_picture_l0_reference_count: u32::default(),
31159 max_l1_reference_count: u32::default(),
31160 max_sub_layer_count: u32::default(),
31161 expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
31162 min_qp: i32::default(),
31163 max_qp: i32::default(),
31164 prefers_gop_remaining_frames: Bool32::default(),
31165 requires_gop_remaining_frames: Bool32::default(),
31166 std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
31167 }
31168 }
31169}
31170
31171unsafe impl Send for VideoEncodeH265CapabilitiesKHR {}
31172unsafe impl Sync for VideoEncodeH265CapabilitiesKHR {}
31173
31174#[repr(C)]
31176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31177pub struct VideoEncodeH265DpbSlotInfoKHR {
31178 pub s_type: StructureType,
31179 pub next: *const c_void,
31180 pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
31181}
31182
31183impl Default for VideoEncodeH265DpbSlotInfoKHR {
31184 #[inline]
31185 fn default() -> Self {
31186 Self {
31187 s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
31188 next: ptr::null(),
31189 std_reference_info: ptr::null(),
31190 }
31191 }
31192}
31193
31194unsafe impl Send for VideoEncodeH265DpbSlotInfoKHR {}
31195unsafe impl Sync for VideoEncodeH265DpbSlotInfoKHR {}
31196
31197#[repr(C)]
31199#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31200pub struct VideoEncodeH265FrameSizeKHR {
31201 pub frame_i_size: u32,
31202 pub frame_p_size: u32,
31203 pub frame_b_size: u32,
31204}
31205
31206#[repr(C)]
31208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31209pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
31210 pub s_type: StructureType,
31211 pub next: *const c_void,
31212 pub use_gop_remaining_frames: Bool32,
31213 pub gop_remaining_i: u32,
31214 pub gop_remaining_p: u32,
31215 pub gop_remaining_b: u32,
31216}
31217
31218impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
31219 #[inline]
31220 fn default() -> Self {
31221 Self {
31222 s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
31223 next: ptr::null(),
31224 use_gop_remaining_frames: Bool32::default(),
31225 gop_remaining_i: u32::default(),
31226 gop_remaining_p: u32::default(),
31227 gop_remaining_b: u32::default(),
31228 }
31229 }
31230}
31231
31232unsafe impl Send for VideoEncodeH265GopRemainingFrameInfoKHR {}
31233unsafe impl Sync for VideoEncodeH265GopRemainingFrameInfoKHR {}
31234
31235#[repr(C)]
31237#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31238pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
31239 pub s_type: StructureType,
31240 pub next: *const c_void,
31241 pub constant_qp: i32,
31242 pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
31243}
31244
31245impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
31246 #[inline]
31247 fn default() -> Self {
31248 Self {
31249 s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
31250 next: ptr::null(),
31251 constant_qp: i32::default(),
31252 std_slice_segment_header: ptr::null(),
31253 }
31254 }
31255}
31256
31257unsafe impl Send for VideoEncodeH265NaluSliceSegmentInfoKHR {}
31258unsafe impl Sync for VideoEncodeH265NaluSliceSegmentInfoKHR {}
31259
31260#[repr(C)]
31262#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31263pub struct VideoEncodeH265PictureInfoKHR {
31264 pub s_type: StructureType,
31265 pub next: *const c_void,
31266 pub nalu_slice_segment_entry_count: u32,
31267 pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
31268 pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
31269}
31270
31271impl Default for VideoEncodeH265PictureInfoKHR {
31272 #[inline]
31273 fn default() -> Self {
31274 Self {
31275 s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
31276 next: ptr::null(),
31277 nalu_slice_segment_entry_count: u32::default(),
31278 nalu_slice_segment_entries: ptr::null(),
31279 std_picture_info: ptr::null(),
31280 }
31281 }
31282}
31283
31284unsafe impl Send for VideoEncodeH265PictureInfoKHR {}
31285unsafe impl Sync for VideoEncodeH265PictureInfoKHR {}
31286
31287#[repr(C)]
31289#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31290pub struct VideoEncodeH265ProfileInfoKHR {
31291 pub s_type: StructureType,
31292 pub next: *const c_void,
31293 pub std_profile_idc: video::StdVideoH265ProfileIdc,
31294}
31295
31296impl Default for VideoEncodeH265ProfileInfoKHR {
31297 #[inline]
31298 fn default() -> Self {
31299 Self {
31300 s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
31301 next: ptr::null(),
31302 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
31303 }
31304 }
31305}
31306
31307unsafe impl Send for VideoEncodeH265ProfileInfoKHR {}
31308unsafe impl Sync for VideoEncodeH265ProfileInfoKHR {}
31309
31310#[repr(C)]
31312#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31313pub struct VideoEncodeH265QpKHR {
31314 pub qp_i: i32,
31315 pub qp_p: i32,
31316 pub qp_b: i32,
31317}
31318
31319#[repr(C)]
31321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31322pub struct VideoEncodeH265QualityLevelPropertiesKHR {
31323 pub s_type: StructureType,
31324 pub next: *mut c_void,
31325 pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
31326 pub preferred_gop_frame_count: u32,
31327 pub preferred_idr_period: u32,
31328 pub preferred_consecutive_b_frame_count: u32,
31329 pub preferred_sub_layer_count: u32,
31330 pub preferred_constant_qp: VideoEncodeH265QpKHR,
31331 pub preferred_max_l0_reference_count: u32,
31332 pub preferred_max_l1_reference_count: u32,
31333}
31334
31335impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
31336 #[inline]
31337 fn default() -> Self {
31338 Self {
31339 s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
31340 next: ptr::null_mut(),
31341 preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
31342 preferred_gop_frame_count: u32::default(),
31343 preferred_idr_period: u32::default(),
31344 preferred_consecutive_b_frame_count: u32::default(),
31345 preferred_sub_layer_count: u32::default(),
31346 preferred_constant_qp: VideoEncodeH265QpKHR::default(),
31347 preferred_max_l0_reference_count: u32::default(),
31348 preferred_max_l1_reference_count: u32::default(),
31349 }
31350 }
31351}
31352
31353unsafe impl Send for VideoEncodeH265QualityLevelPropertiesKHR {}
31354unsafe impl Sync for VideoEncodeH265QualityLevelPropertiesKHR {}
31355
31356#[repr(C)]
31358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31359pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
31360 pub s_type: StructureType,
31361 pub next: *mut c_void,
31362 pub min_qp_delta: i32,
31363 pub max_qp_delta: i32,
31364}
31365
31366impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
31367 #[inline]
31368 fn default() -> Self {
31369 Self {
31370 s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
31371 next: ptr::null_mut(),
31372 min_qp_delta: i32::default(),
31373 max_qp_delta: i32::default(),
31374 }
31375 }
31376}
31377
31378unsafe impl Send for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
31379unsafe impl Sync for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
31380
31381#[repr(C)]
31383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31384pub struct VideoEncodeH265RateControlInfoKHR {
31385 pub s_type: StructureType,
31386 pub next: *const c_void,
31387 pub flags: VideoEncodeH265RateControlFlagsKHR,
31388 pub gop_frame_count: u32,
31389 pub idr_period: u32,
31390 pub consecutive_b_frame_count: u32,
31391 pub sub_layer_count: u32,
31392}
31393
31394impl Default for VideoEncodeH265RateControlInfoKHR {
31395 #[inline]
31396 fn default() -> Self {
31397 Self {
31398 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
31399 next: ptr::null(),
31400 flags: VideoEncodeH265RateControlFlagsKHR::default(),
31401 gop_frame_count: u32::default(),
31402 idr_period: u32::default(),
31403 consecutive_b_frame_count: u32::default(),
31404 sub_layer_count: u32::default(),
31405 }
31406 }
31407}
31408
31409unsafe impl Send for VideoEncodeH265RateControlInfoKHR {}
31410unsafe impl Sync for VideoEncodeH265RateControlInfoKHR {}
31411
31412#[repr(C)]
31414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31415pub struct VideoEncodeH265RateControlLayerInfoKHR {
31416 pub s_type: StructureType,
31417 pub next: *const c_void,
31418 pub use_min_qp: Bool32,
31419 pub min_qp: VideoEncodeH265QpKHR,
31420 pub use_max_qp: Bool32,
31421 pub max_qp: VideoEncodeH265QpKHR,
31422 pub use_max_frame_size: Bool32,
31423 pub max_frame_size: VideoEncodeH265FrameSizeKHR,
31424}
31425
31426impl Default for VideoEncodeH265RateControlLayerInfoKHR {
31427 #[inline]
31428 fn default() -> Self {
31429 Self {
31430 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
31431 next: ptr::null(),
31432 use_min_qp: Bool32::default(),
31433 min_qp: VideoEncodeH265QpKHR::default(),
31434 use_max_qp: Bool32::default(),
31435 max_qp: VideoEncodeH265QpKHR::default(),
31436 use_max_frame_size: Bool32::default(),
31437 max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
31438 }
31439 }
31440}
31441
31442unsafe impl Send for VideoEncodeH265RateControlLayerInfoKHR {}
31443unsafe impl Sync for VideoEncodeH265RateControlLayerInfoKHR {}
31444
31445#[repr(C)]
31447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31448pub struct VideoEncodeH265SessionCreateInfoKHR {
31449 pub s_type: StructureType,
31450 pub next: *const c_void,
31451 pub use_max_level_idc: Bool32,
31452 pub max_level_idc: video::StdVideoH265LevelIdc,
31453}
31454
31455impl Default for VideoEncodeH265SessionCreateInfoKHR {
31456 #[inline]
31457 fn default() -> Self {
31458 Self {
31459 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
31460 next: ptr::null(),
31461 use_max_level_idc: Bool32::default(),
31462 max_level_idc: video::StdVideoH265LevelIdc::default(),
31463 }
31464 }
31465}
31466
31467unsafe impl Send for VideoEncodeH265SessionCreateInfoKHR {}
31468unsafe impl Sync for VideoEncodeH265SessionCreateInfoKHR {}
31469
31470#[repr(C)]
31472#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31473pub struct VideoEncodeH265SessionParametersAddInfoKHR {
31474 pub s_type: StructureType,
31475 pub next: *const c_void,
31476 pub std_vps_count: u32,
31477 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
31478 pub std_sps_count: u32,
31479 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
31480 pub std_pps_count: u32,
31481 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
31482}
31483
31484impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
31485 #[inline]
31486 fn default() -> Self {
31487 Self {
31488 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
31489 next: ptr::null(),
31490 std_vps_count: u32::default(),
31491 std_vp_ss: ptr::null(),
31492 std_sps_count: u32::default(),
31493 std_sp_ss: ptr::null(),
31494 std_pps_count: u32::default(),
31495 std_pp_ss: ptr::null(),
31496 }
31497 }
31498}
31499
31500unsafe impl Send for VideoEncodeH265SessionParametersAddInfoKHR {}
31501unsafe impl Sync for VideoEncodeH265SessionParametersAddInfoKHR {}
31502
31503#[repr(C)]
31505#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31506pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
31507 pub s_type: StructureType,
31508 pub next: *const c_void,
31509 pub max_std_vps_count: u32,
31510 pub max_std_sps_count: u32,
31511 pub max_std_pps_count: u32,
31512 pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
31513}
31514
31515impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
31516 #[inline]
31517 fn default() -> Self {
31518 Self {
31519 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
31520 next: ptr::null(),
31521 max_std_vps_count: u32::default(),
31522 max_std_sps_count: u32::default(),
31523 max_std_pps_count: u32::default(),
31524 parameters_add_info: ptr::null(),
31525 }
31526 }
31527}
31528
31529unsafe impl Send for VideoEncodeH265SessionParametersCreateInfoKHR {}
31530unsafe impl Sync for VideoEncodeH265SessionParametersCreateInfoKHR {}
31531
31532#[repr(C)]
31534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31535pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
31536 pub s_type: StructureType,
31537 pub next: *mut c_void,
31538 pub has_std_vps_overrides: Bool32,
31539 pub has_std_sps_overrides: Bool32,
31540 pub has_std_pps_overrides: Bool32,
31541}
31542
31543impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
31544 #[inline]
31545 fn default() -> Self {
31546 Self {
31547 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
31548 next: ptr::null_mut(),
31549 has_std_vps_overrides: Bool32::default(),
31550 has_std_sps_overrides: Bool32::default(),
31551 has_std_pps_overrides: Bool32::default(),
31552 }
31553 }
31554}
31555
31556unsafe impl Send for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
31557unsafe impl Sync for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
31558
31559#[repr(C)]
31561#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31562pub struct VideoEncodeH265SessionParametersGetInfoKHR {
31563 pub s_type: StructureType,
31564 pub next: *const c_void,
31565 pub write_std_vps: Bool32,
31566 pub write_std_sps: Bool32,
31567 pub write_std_pps: Bool32,
31568 pub std_vps_id: u32,
31569 pub std_sps_id: u32,
31570 pub std_pps_id: u32,
31571}
31572
31573impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
31574 #[inline]
31575 fn default() -> Self {
31576 Self {
31577 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
31578 next: ptr::null(),
31579 write_std_vps: Bool32::default(),
31580 write_std_sps: Bool32::default(),
31581 write_std_pps: Bool32::default(),
31582 std_vps_id: u32::default(),
31583 std_sps_id: u32::default(),
31584 std_pps_id: u32::default(),
31585 }
31586 }
31587}
31588
31589unsafe impl Send for VideoEncodeH265SessionParametersGetInfoKHR {}
31590unsafe impl Sync for VideoEncodeH265SessionParametersGetInfoKHR {}
31591
31592#[repr(C)]
31594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31595pub struct VideoEncodeInfoKHR {
31596 pub s_type: StructureType,
31597 pub next: *const c_void,
31598 pub flags: VideoEncodeFlagsKHR,
31599 pub dst_buffer: Buffer,
31600 pub dst_buffer_offset: DeviceSize,
31601 pub dst_buffer_range: DeviceSize,
31602 pub src_picture_resource: VideoPictureResourceInfoKHR,
31603 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
31604 pub reference_slot_count: u32,
31605 pub reference_slots: *const VideoReferenceSlotInfoKHR,
31606 pub preceding_externally_encoded_bytes: u32,
31607}
31608
31609impl Default for VideoEncodeInfoKHR {
31610 #[inline]
31611 fn default() -> Self {
31612 Self {
31613 s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
31614 next: ptr::null(),
31615 flags: VideoEncodeFlagsKHR::default(),
31616 dst_buffer: Buffer::default(),
31617 dst_buffer_offset: DeviceSize::default(),
31618 dst_buffer_range: DeviceSize::default(),
31619 src_picture_resource: VideoPictureResourceInfoKHR::default(),
31620 setup_reference_slot: ptr::null(),
31621 reference_slot_count: u32::default(),
31622 reference_slots: ptr::null(),
31623 preceding_externally_encoded_bytes: u32::default(),
31624 }
31625 }
31626}
31627
31628unsafe impl Send for VideoEncodeInfoKHR {}
31629unsafe impl Sync for VideoEncodeInfoKHR {}
31630
31631#[repr(C)]
31633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31634pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
31635 pub s_type: StructureType,
31636 pub next: *mut c_void,
31637 pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
31638 pub max_intra_refresh_cycle_duration: u32,
31639 pub max_intra_refresh_active_reference_pictures: u32,
31640 pub partition_independent_intra_refresh_regions: Bool32,
31641 pub non_rectangular_intra_refresh_regions: Bool32,
31642}
31643
31644impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
31645 #[inline]
31646 fn default() -> Self {
31647 Self {
31648 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
31649 next: ptr::null_mut(),
31650 intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
31651 max_intra_refresh_cycle_duration: u32::default(),
31652 max_intra_refresh_active_reference_pictures: u32::default(),
31653 partition_independent_intra_refresh_regions: Bool32::default(),
31654 non_rectangular_intra_refresh_regions: Bool32::default(),
31655 }
31656 }
31657}
31658
31659unsafe impl Send for VideoEncodeIntraRefreshCapabilitiesKHR {}
31660unsafe impl Sync for VideoEncodeIntraRefreshCapabilitiesKHR {}
31661
31662#[repr(C)]
31664#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31665pub struct VideoEncodeIntraRefreshInfoKHR {
31666 pub s_type: StructureType,
31667 pub next: *const c_void,
31668 pub intra_refresh_cycle_duration: u32,
31669 pub intra_refresh_index: u32,
31670}
31671
31672impl Default for VideoEncodeIntraRefreshInfoKHR {
31673 #[inline]
31674 fn default() -> Self {
31675 Self {
31676 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
31677 next: ptr::null(),
31678 intra_refresh_cycle_duration: u32::default(),
31679 intra_refresh_index: u32::default(),
31680 }
31681 }
31682}
31683
31684unsafe impl Send for VideoEncodeIntraRefreshInfoKHR {}
31685unsafe impl Sync for VideoEncodeIntraRefreshInfoKHR {}
31686
31687#[repr(C)]
31689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31690pub struct VideoEncodeProfileRgbConversionInfoVALVE {
31691 pub s_type: StructureType,
31692 pub next: *const c_void,
31693 pub perform_encode_rgb_conversion: Bool32,
31694}
31695
31696impl Default for VideoEncodeProfileRgbConversionInfoVALVE {
31697 #[inline]
31698 fn default() -> Self {
31699 Self {
31700 s_type: StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
31701 next: ptr::null(),
31702 perform_encode_rgb_conversion: Bool32::default(),
31703 }
31704 }
31705}
31706
31707unsafe impl Send for VideoEncodeProfileRgbConversionInfoVALVE {}
31708unsafe impl Sync for VideoEncodeProfileRgbConversionInfoVALVE {}
31709
31710#[repr(C)]
31712#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31713pub struct VideoEncodeQualityLevelInfoKHR {
31714 pub s_type: StructureType,
31715 pub next: *const c_void,
31716 pub quality_level: u32,
31717}
31718
31719impl Default for VideoEncodeQualityLevelInfoKHR {
31720 #[inline]
31721 fn default() -> Self {
31722 Self {
31723 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
31724 next: ptr::null(),
31725 quality_level: u32::default(),
31726 }
31727 }
31728}
31729
31730unsafe impl Send for VideoEncodeQualityLevelInfoKHR {}
31731unsafe impl Sync for VideoEncodeQualityLevelInfoKHR {}
31732
31733#[repr(C)]
31735#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31736pub struct VideoEncodeQualityLevelPropertiesKHR {
31737 pub s_type: StructureType,
31738 pub next: *mut c_void,
31739 pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
31740 pub preferred_rate_control_layer_count: u32,
31741}
31742
31743impl Default for VideoEncodeQualityLevelPropertiesKHR {
31744 #[inline]
31745 fn default() -> Self {
31746 Self {
31747 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
31748 next: ptr::null_mut(),
31749 preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
31750 preferred_rate_control_layer_count: u32::default(),
31751 }
31752 }
31753}
31754
31755unsafe impl Send for VideoEncodeQualityLevelPropertiesKHR {}
31756unsafe impl Sync for VideoEncodeQualityLevelPropertiesKHR {}
31757
31758#[repr(C)]
31760#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31761pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
31762 pub s_type: StructureType,
31763 pub next: *mut c_void,
31764 pub max_quantization_map_extent: Extent2D,
31765}
31766
31767impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
31768 #[inline]
31769 fn default() -> Self {
31770 Self {
31771 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
31772 next: ptr::null_mut(),
31773 max_quantization_map_extent: Extent2D::default(),
31774 }
31775 }
31776}
31777
31778unsafe impl Send for VideoEncodeQuantizationMapCapabilitiesKHR {}
31779unsafe impl Sync for VideoEncodeQuantizationMapCapabilitiesKHR {}
31780
31781#[repr(C)]
31783#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31784pub struct VideoEncodeQuantizationMapInfoKHR {
31785 pub s_type: StructureType,
31786 pub next: *const c_void,
31787 pub quantization_map: ImageView,
31788 pub quantization_map_extent: Extent2D,
31789}
31790
31791impl Default for VideoEncodeQuantizationMapInfoKHR {
31792 #[inline]
31793 fn default() -> Self {
31794 Self {
31795 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
31796 next: ptr::null(),
31797 quantization_map: ImageView::default(),
31798 quantization_map_extent: Extent2D::default(),
31799 }
31800 }
31801}
31802
31803unsafe impl Send for VideoEncodeQuantizationMapInfoKHR {}
31804unsafe impl Sync for VideoEncodeQuantizationMapInfoKHR {}
31805
31806#[repr(C)]
31808#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31809pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
31810 pub s_type: StructureType,
31811 pub next: *const c_void,
31812 pub quantization_map_texel_size: Extent2D,
31813}
31814
31815impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
31816 #[inline]
31817 fn default() -> Self {
31818 Self {
31819 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
31820 next: ptr::null(),
31821 quantization_map_texel_size: Extent2D::default(),
31822 }
31823 }
31824}
31825
31826unsafe impl Send for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
31827unsafe impl Sync for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
31828
31829#[repr(C)]
31831#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31832pub struct VideoEncodeRateControlInfoKHR {
31833 pub s_type: StructureType,
31834 pub next: *const c_void,
31835 pub flags: VideoEncodeRateControlFlagsKHR,
31836 pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
31837 pub layer_count: u32,
31838 pub layers: *const VideoEncodeRateControlLayerInfoKHR,
31839 pub virtual_buffer_size_in_ms: u32,
31840 pub initial_virtual_buffer_size_in_ms: u32,
31841}
31842
31843impl Default for VideoEncodeRateControlInfoKHR {
31844 #[inline]
31845 fn default() -> Self {
31846 Self {
31847 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
31848 next: ptr::null(),
31849 flags: VideoEncodeRateControlFlagsKHR::default(),
31850 rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
31851 layer_count: u32::default(),
31852 layers: ptr::null(),
31853 virtual_buffer_size_in_ms: u32::default(),
31854 initial_virtual_buffer_size_in_ms: u32::default(),
31855 }
31856 }
31857}
31858
31859unsafe impl Send for VideoEncodeRateControlInfoKHR {}
31860unsafe impl Sync for VideoEncodeRateControlInfoKHR {}
31861
31862#[repr(C)]
31864#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31865pub struct VideoEncodeRateControlLayerInfoKHR {
31866 pub s_type: StructureType,
31867 pub next: *const c_void,
31868 pub average_bitrate: u64,
31869 pub max_bitrate: u64,
31870 pub frame_rate_numerator: u32,
31871 pub frame_rate_denominator: u32,
31872}
31873
31874impl Default for VideoEncodeRateControlLayerInfoKHR {
31875 #[inline]
31876 fn default() -> Self {
31877 Self {
31878 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
31879 next: ptr::null(),
31880 average_bitrate: u64::default(),
31881 max_bitrate: u64::default(),
31882 frame_rate_numerator: u32::default(),
31883 frame_rate_denominator: u32::default(),
31884 }
31885 }
31886}
31887
31888unsafe impl Send for VideoEncodeRateControlLayerInfoKHR {}
31889unsafe impl Sync for VideoEncodeRateControlLayerInfoKHR {}
31890
31891#[repr(C)]
31893#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31894pub struct VideoEncodeRgbConversionCapabilitiesVALVE {
31895 pub s_type: StructureType,
31896 pub next: *mut c_void,
31897 pub rgb_models: VideoEncodeRgbModelConversionFlagsVALVE,
31898 pub rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE,
31899 pub x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
31900 pub y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
31901}
31902
31903impl Default for VideoEncodeRgbConversionCapabilitiesVALVE {
31904 #[inline]
31905 fn default() -> Self {
31906 Self {
31907 s_type: StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
31908 next: ptr::null_mut(),
31909 rgb_models: VideoEncodeRgbModelConversionFlagsVALVE::default(),
31910 rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
31911 x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
31912 y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
31913 }
31914 }
31915}
31916
31917unsafe impl Send for VideoEncodeRgbConversionCapabilitiesVALVE {}
31918unsafe impl Sync for VideoEncodeRgbConversionCapabilitiesVALVE {}
31919
31920#[repr(C)]
31922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31923pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
31924 pub s_type: StructureType,
31925 pub next: *const c_void,
31926 pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
31927}
31928
31929impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
31930 #[inline]
31931 fn default() -> Self {
31932 Self {
31933 s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
31934 next: ptr::null(),
31935 intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
31936 }
31937 }
31938}
31939
31940unsafe impl Send for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
31941unsafe impl Sync for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
31942
31943#[repr(C)]
31945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31946pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
31947 pub s_type: StructureType,
31948 pub next: *mut c_void,
31949 pub has_overrides: Bool32,
31950}
31951
31952impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
31953 #[inline]
31954 fn default() -> Self {
31955 Self {
31956 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
31957 next: ptr::null_mut(),
31958 has_overrides: Bool32::default(),
31959 }
31960 }
31961}
31962
31963unsafe impl Send for VideoEncodeSessionParametersFeedbackInfoKHR {}
31964unsafe impl Sync for VideoEncodeSessionParametersFeedbackInfoKHR {}
31965
31966#[repr(C)]
31968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31969pub struct VideoEncodeSessionParametersGetInfoKHR {
31970 pub s_type: StructureType,
31971 pub next: *const c_void,
31972 pub video_session_parameters: VideoSessionParametersKHR,
31973}
31974
31975impl Default for VideoEncodeSessionParametersGetInfoKHR {
31976 #[inline]
31977 fn default() -> Self {
31978 Self {
31979 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
31980 next: ptr::null(),
31981 video_session_parameters: VideoSessionParametersKHR::default(),
31982 }
31983 }
31984}
31985
31986unsafe impl Send for VideoEncodeSessionParametersGetInfoKHR {}
31987unsafe impl Sync for VideoEncodeSessionParametersGetInfoKHR {}
31988
31989#[repr(C)]
31991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31992pub struct VideoEncodeSessionRgbConversionCreateInfoVALVE {
31993 pub s_type: StructureType,
31994 pub next: *const c_void,
31995 pub rgb_model: VideoEncodeRgbModelConversionFlagsVALVE,
31996 pub rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE,
31997 pub x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
31998 pub y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
31999}
32000
32001impl Default for VideoEncodeSessionRgbConversionCreateInfoVALVE {
32002 #[inline]
32003 fn default() -> Self {
32004 Self {
32005 s_type: StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
32006 next: ptr::null(),
32007 rgb_model: VideoEncodeRgbModelConversionFlagsVALVE::default(),
32008 rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
32009 x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32010 y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32011 }
32012 }
32013}
32014
32015unsafe impl Send for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
32016unsafe impl Sync for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
32017
32018#[repr(C)]
32020#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32021pub struct VideoEncodeUsageInfoKHR {
32022 pub s_type: StructureType,
32023 pub next: *const c_void,
32024 pub video_usage_hints: VideoEncodeUsageFlagsKHR,
32025 pub video_content_hints: VideoEncodeContentFlagsKHR,
32026 pub tuning_mode: VideoEncodeTuningModeKHR,
32027}
32028
32029impl Default for VideoEncodeUsageInfoKHR {
32030 #[inline]
32031 fn default() -> Self {
32032 Self {
32033 s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
32034 next: ptr::null(),
32035 video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
32036 video_content_hints: VideoEncodeContentFlagsKHR::default(),
32037 tuning_mode: VideoEncodeTuningModeKHR::default(),
32038 }
32039 }
32040}
32041
32042unsafe impl Send for VideoEncodeUsageInfoKHR {}
32043unsafe impl Sync for VideoEncodeUsageInfoKHR {}
32044
32045#[repr(C)]
32047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32048pub struct VideoEndCodingInfoKHR {
32049 pub s_type: StructureType,
32050 pub next: *const c_void,
32051 pub flags: VideoEndCodingFlagsKHR,
32052}
32053
32054impl Default for VideoEndCodingInfoKHR {
32055 #[inline]
32056 fn default() -> Self {
32057 Self {
32058 s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
32059 next: ptr::null(),
32060 flags: VideoEndCodingFlagsKHR::default(),
32061 }
32062 }
32063}
32064
32065unsafe impl Send for VideoEndCodingInfoKHR {}
32066unsafe impl Sync for VideoEndCodingInfoKHR {}
32067
32068#[repr(C)]
32070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32071pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
32072 pub s_type: StructureType,
32073 pub next: *mut c_void,
32074 pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
32075}
32076
32077impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
32078 #[inline]
32079 fn default() -> Self {
32080 Self {
32081 s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
32082 next: ptr::null_mut(),
32083 compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
32084 }
32085 }
32086}
32087
32088unsafe impl Send for VideoFormatAV1QuantizationMapPropertiesKHR {}
32089unsafe impl Sync for VideoFormatAV1QuantizationMapPropertiesKHR {}
32090
32091#[repr(C)]
32093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32094pub struct VideoFormatH265QuantizationMapPropertiesKHR {
32095 pub s_type: StructureType,
32096 pub next: *mut c_void,
32097 pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
32098}
32099
32100impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
32101 #[inline]
32102 fn default() -> Self {
32103 Self {
32104 s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
32105 next: ptr::null_mut(),
32106 compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
32107 }
32108 }
32109}
32110
32111unsafe impl Send for VideoFormatH265QuantizationMapPropertiesKHR {}
32112unsafe impl Sync for VideoFormatH265QuantizationMapPropertiesKHR {}
32113
32114#[repr(C)]
32116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32117pub struct VideoFormatPropertiesKHR {
32118 pub s_type: StructureType,
32119 pub next: *mut c_void,
32120 pub format: Format,
32121 pub component_mapping: ComponentMapping,
32122 pub image_create_flags: ImageCreateFlags,
32123 pub image_type: ImageType,
32124 pub image_tiling: ImageTiling,
32125 pub image_usage_flags: ImageUsageFlags,
32126}
32127
32128impl Default for VideoFormatPropertiesKHR {
32129 #[inline]
32130 fn default() -> Self {
32131 Self {
32132 s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
32133 next: ptr::null_mut(),
32134 format: Format::default(),
32135 component_mapping: ComponentMapping::default(),
32136 image_create_flags: ImageCreateFlags::default(),
32137 image_type: ImageType::default(),
32138 image_tiling: ImageTiling::default(),
32139 image_usage_flags: ImageUsageFlags::default(),
32140 }
32141 }
32142}
32143
32144unsafe impl Send for VideoFormatPropertiesKHR {}
32145unsafe impl Sync for VideoFormatPropertiesKHR {}
32146
32147#[repr(C)]
32149#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32150pub struct VideoFormatQuantizationMapPropertiesKHR {
32151 pub s_type: StructureType,
32152 pub next: *mut c_void,
32153 pub quantization_map_texel_size: Extent2D,
32154}
32155
32156impl Default for VideoFormatQuantizationMapPropertiesKHR {
32157 #[inline]
32158 fn default() -> Self {
32159 Self {
32160 s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
32161 next: ptr::null_mut(),
32162 quantization_map_texel_size: Extent2D::default(),
32163 }
32164 }
32165}
32166
32167unsafe impl Send for VideoFormatQuantizationMapPropertiesKHR {}
32168unsafe impl Sync for VideoFormatQuantizationMapPropertiesKHR {}
32169
32170#[repr(C)]
32172#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32173pub struct VideoInlineQueryInfoKHR {
32174 pub s_type: StructureType,
32175 pub next: *const c_void,
32176 pub query_pool: QueryPool,
32177 pub first_query: u32,
32178 pub query_count: u32,
32179}
32180
32181impl Default for VideoInlineQueryInfoKHR {
32182 #[inline]
32183 fn default() -> Self {
32184 Self {
32185 s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
32186 next: ptr::null(),
32187 query_pool: QueryPool::default(),
32188 first_query: u32::default(),
32189 query_count: u32::default(),
32190 }
32191 }
32192}
32193
32194unsafe impl Send for VideoInlineQueryInfoKHR {}
32195unsafe impl Sync for VideoInlineQueryInfoKHR {}
32196
32197#[repr(C)]
32199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32200pub struct VideoPictureResourceInfoKHR {
32201 pub s_type: StructureType,
32202 pub next: *const c_void,
32203 pub coded_offset: Offset2D,
32204 pub coded_extent: Extent2D,
32205 pub base_array_layer: u32,
32206 pub image_view_binding: ImageView,
32207}
32208
32209impl Default for VideoPictureResourceInfoKHR {
32210 #[inline]
32211 fn default() -> Self {
32212 Self {
32213 s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
32214 next: ptr::null(),
32215 coded_offset: Offset2D::default(),
32216 coded_extent: Extent2D::default(),
32217 base_array_layer: u32::default(),
32218 image_view_binding: ImageView::default(),
32219 }
32220 }
32221}
32222
32223unsafe impl Send for VideoPictureResourceInfoKHR {}
32224unsafe impl Sync for VideoPictureResourceInfoKHR {}
32225
32226#[repr(C)]
32228#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32229pub struct VideoProfileInfoKHR {
32230 pub s_type: StructureType,
32231 pub next: *const c_void,
32232 pub video_codec_operation: VideoCodecOperationFlagsKHR,
32233 pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
32234 pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
32235 pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
32236}
32237
32238impl Default for VideoProfileInfoKHR {
32239 #[inline]
32240 fn default() -> Self {
32241 Self {
32242 s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
32243 next: ptr::null(),
32244 video_codec_operation: VideoCodecOperationFlagsKHR::default(),
32245 chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
32246 luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
32247 chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
32248 }
32249 }
32250}
32251
32252unsafe impl Send for VideoProfileInfoKHR {}
32253unsafe impl Sync for VideoProfileInfoKHR {}
32254
32255#[repr(C)]
32257#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32258pub struct VideoProfileListInfoKHR {
32259 pub s_type: StructureType,
32260 pub next: *const c_void,
32261 pub profile_count: u32,
32262 pub profiles: *const VideoProfileInfoKHR,
32263}
32264
32265impl Default for VideoProfileListInfoKHR {
32266 #[inline]
32267 fn default() -> Self {
32268 Self {
32269 s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
32270 next: ptr::null(),
32271 profile_count: u32::default(),
32272 profiles: ptr::null(),
32273 }
32274 }
32275}
32276
32277unsafe impl Send for VideoProfileListInfoKHR {}
32278unsafe impl Sync for VideoProfileListInfoKHR {}
32279
32280#[repr(C)]
32282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32283pub struct VideoReferenceIntraRefreshInfoKHR {
32284 pub s_type: StructureType,
32285 pub next: *const c_void,
32286 pub dirty_intra_refresh_regions: u32,
32287}
32288
32289impl Default for VideoReferenceIntraRefreshInfoKHR {
32290 #[inline]
32291 fn default() -> Self {
32292 Self {
32293 s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
32294 next: ptr::null(),
32295 dirty_intra_refresh_regions: u32::default(),
32296 }
32297 }
32298}
32299
32300unsafe impl Send for VideoReferenceIntraRefreshInfoKHR {}
32301unsafe impl Sync for VideoReferenceIntraRefreshInfoKHR {}
32302
32303#[repr(C)]
32305#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32306pub struct VideoReferenceSlotInfoKHR {
32307 pub s_type: StructureType,
32308 pub next: *const c_void,
32309 pub slot_index: i32,
32310 pub picture_resource: *const VideoPictureResourceInfoKHR,
32311}
32312
32313impl Default for VideoReferenceSlotInfoKHR {
32314 #[inline]
32315 fn default() -> Self {
32316 Self {
32317 s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
32318 next: ptr::null(),
32319 slot_index: i32::default(),
32320 picture_resource: ptr::null(),
32321 }
32322 }
32323}
32324
32325unsafe impl Send for VideoReferenceSlotInfoKHR {}
32326unsafe impl Sync for VideoReferenceSlotInfoKHR {}
32327
32328#[repr(C)]
32330#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32331pub struct VideoSessionCreateInfoKHR {
32332 pub s_type: StructureType,
32333 pub next: *const c_void,
32334 pub queue_family_index: u32,
32335 pub flags: VideoSessionCreateFlagsKHR,
32336 pub video_profile: *const VideoProfileInfoKHR,
32337 pub picture_format: Format,
32338 pub max_coded_extent: Extent2D,
32339 pub reference_picture_format: Format,
32340 pub max_dpb_slots: u32,
32341 pub max_active_reference_pictures: u32,
32342 pub std_header_version: *const ExtensionProperties,
32343}
32344
32345impl Default for VideoSessionCreateInfoKHR {
32346 #[inline]
32347 fn default() -> Self {
32348 Self {
32349 s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
32350 next: ptr::null(),
32351 queue_family_index: u32::default(),
32352 flags: VideoSessionCreateFlagsKHR::default(),
32353 video_profile: ptr::null(),
32354 picture_format: Format::default(),
32355 max_coded_extent: Extent2D::default(),
32356 reference_picture_format: Format::default(),
32357 max_dpb_slots: u32::default(),
32358 max_active_reference_pictures: u32::default(),
32359 std_header_version: ptr::null(),
32360 }
32361 }
32362}
32363
32364unsafe impl Send for VideoSessionCreateInfoKHR {}
32365unsafe impl Sync for VideoSessionCreateInfoKHR {}
32366
32367#[repr(C)]
32369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32370pub struct VideoSessionMemoryRequirementsKHR {
32371 pub s_type: StructureType,
32372 pub next: *mut c_void,
32373 pub memory_bind_index: u32,
32374 pub memory_requirements: MemoryRequirements,
32375}
32376
32377impl Default for VideoSessionMemoryRequirementsKHR {
32378 #[inline]
32379 fn default() -> Self {
32380 Self {
32381 s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
32382 next: ptr::null_mut(),
32383 memory_bind_index: u32::default(),
32384 memory_requirements: MemoryRequirements::default(),
32385 }
32386 }
32387}
32388
32389unsafe impl Send for VideoSessionMemoryRequirementsKHR {}
32390unsafe impl Sync for VideoSessionMemoryRequirementsKHR {}
32391
32392#[repr(C)]
32394#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32395pub struct VideoSessionParametersCreateInfoKHR {
32396 pub s_type: StructureType,
32397 pub next: *const c_void,
32398 pub flags: VideoSessionParametersCreateFlagsKHR,
32399 pub video_session_parameters_template: VideoSessionParametersKHR,
32400 pub video_session: VideoSessionKHR,
32401}
32402
32403impl Default for VideoSessionParametersCreateInfoKHR {
32404 #[inline]
32405 fn default() -> Self {
32406 Self {
32407 s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
32408 next: ptr::null(),
32409 flags: VideoSessionParametersCreateFlagsKHR::default(),
32410 video_session_parameters_template: VideoSessionParametersKHR::default(),
32411 video_session: VideoSessionKHR::default(),
32412 }
32413 }
32414}
32415
32416unsafe impl Send for VideoSessionParametersCreateInfoKHR {}
32417unsafe impl Sync for VideoSessionParametersCreateInfoKHR {}
32418
32419#[repr(C)]
32421#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32422pub struct VideoSessionParametersUpdateInfoKHR {
32423 pub s_type: StructureType,
32424 pub next: *const c_void,
32425 pub update_sequence_count: u32,
32426}
32427
32428impl Default for VideoSessionParametersUpdateInfoKHR {
32429 #[inline]
32430 fn default() -> Self {
32431 Self {
32432 s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
32433 next: ptr::null(),
32434 update_sequence_count: u32::default(),
32435 }
32436 }
32437}
32438
32439unsafe impl Send for VideoSessionParametersUpdateInfoKHR {}
32440unsafe impl Sync for VideoSessionParametersUpdateInfoKHR {}
32441
32442#[repr(C)]
32444#[derive(Copy, Clone, Default, Debug, PartialEq)]
32445pub struct Viewport {
32446 pub x: f32,
32447 pub y: f32,
32448 pub width: f32,
32449 pub height: f32,
32450 pub min_depth: f32,
32451 pub max_depth: f32,
32452}
32453
32454#[repr(C)]
32456#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32457pub struct ViewportSwizzleNV {
32458 pub x: ViewportCoordinateSwizzleNV,
32459 pub y: ViewportCoordinateSwizzleNV,
32460 pub z: ViewportCoordinateSwizzleNV,
32461 pub w: ViewportCoordinateSwizzleNV,
32462}
32463
32464#[repr(C)]
32466#[derive(Copy, Clone, Default, Debug, PartialEq)]
32467pub struct ViewportWScalingNV {
32468 pub xcoeff: f32,
32469 pub ycoeff: f32,
32470}
32471
32472#[repr(C)]
32474#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32475pub struct WaylandSurfaceCreateInfoKHR {
32476 pub s_type: StructureType,
32477 pub next: *const c_void,
32478 pub flags: WaylandSurfaceCreateFlagsKHR,
32479 pub display: *mut wl_display,
32480 pub surface: *mut wl_surface,
32481}
32482
32483impl Default for WaylandSurfaceCreateInfoKHR {
32484 #[inline]
32485 fn default() -> Self {
32486 Self {
32487 s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
32488 next: ptr::null(),
32489 flags: WaylandSurfaceCreateFlagsKHR::default(),
32490 display: ptr::null_mut(),
32491 surface: ptr::null_mut(),
32492 }
32493 }
32494}
32495
32496unsafe impl Send for WaylandSurfaceCreateInfoKHR {}
32497unsafe impl Sync for WaylandSurfaceCreateInfoKHR {}
32498
32499#[repr(C)]
32501#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32502pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
32503 pub s_type: StructureType,
32504 pub next: *const c_void,
32505 pub acquire_count: u32,
32506 pub acquire_syncs: *const DeviceMemory,
32507 pub acquire_keys: *const u64,
32508 pub acquire_timeouts: *const u32,
32509 pub release_count: u32,
32510 pub release_syncs: *const DeviceMemory,
32511 pub release_keys: *const u64,
32512}
32513
32514impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
32515 #[inline]
32516 fn default() -> Self {
32517 Self {
32518 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
32519 next: ptr::null(),
32520 acquire_count: u32::default(),
32521 acquire_syncs: ptr::null(),
32522 acquire_keys: ptr::null(),
32523 acquire_timeouts: ptr::null(),
32524 release_count: u32::default(),
32525 release_syncs: ptr::null(),
32526 release_keys: ptr::null(),
32527 }
32528 }
32529}
32530
32531unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoKHR {}
32532unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoKHR {}
32533
32534#[repr(C)]
32536#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32537pub struct Win32KeyedMutexAcquireReleaseInfoNV {
32538 pub s_type: StructureType,
32539 pub next: *const c_void,
32540 pub acquire_count: u32,
32541 pub acquire_syncs: *const DeviceMemory,
32542 pub acquire_keys: *const u64,
32543 pub acquire_timeout_milliseconds: *const u32,
32544 pub release_count: u32,
32545 pub release_syncs: *const DeviceMemory,
32546 pub release_keys: *const u64,
32547}
32548
32549impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
32550 #[inline]
32551 fn default() -> Self {
32552 Self {
32553 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
32554 next: ptr::null(),
32555 acquire_count: u32::default(),
32556 acquire_syncs: ptr::null(),
32557 acquire_keys: ptr::null(),
32558 acquire_timeout_milliseconds: ptr::null(),
32559 release_count: u32::default(),
32560 release_syncs: ptr::null(),
32561 release_keys: ptr::null(),
32562 }
32563 }
32564}
32565
32566unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoNV {}
32567unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoNV {}
32568
32569#[repr(C)]
32571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32572pub struct Win32SurfaceCreateInfoKHR {
32573 pub s_type: StructureType,
32574 pub next: *const c_void,
32575 pub flags: Win32SurfaceCreateFlagsKHR,
32576 pub hinstance: HINSTANCE,
32577 pub hwnd: HWND,
32578}
32579
32580impl Default for Win32SurfaceCreateInfoKHR {
32581 #[inline]
32582 fn default() -> Self {
32583 Self {
32584 s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
32585 next: ptr::null(),
32586 flags: Win32SurfaceCreateFlagsKHR::default(),
32587 hinstance: ptr::null_mut(),
32588 hwnd: ptr::null_mut(),
32589 }
32590 }
32591}
32592
32593unsafe impl Send for Win32SurfaceCreateInfoKHR {}
32594unsafe impl Sync for Win32SurfaceCreateInfoKHR {}
32595
32596#[repr(C)]
32598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32599pub struct WriteDescriptorSet {
32600 pub s_type: StructureType,
32601 pub next: *const c_void,
32602 pub dst_set: DescriptorSet,
32603 pub dst_binding: u32,
32604 pub dst_array_element: u32,
32605 pub descriptor_count: u32,
32606 pub descriptor_type: DescriptorType,
32607 pub image_info: *const DescriptorImageInfo,
32608 pub buffer_info: *const DescriptorBufferInfo,
32609 pub texel_buffer_view: *const BufferView,
32610}
32611
32612impl Default for WriteDescriptorSet {
32613 #[inline]
32614 fn default() -> Self {
32615 Self {
32616 s_type: StructureType::WRITE_DESCRIPTOR_SET,
32617 next: ptr::null(),
32618 dst_set: DescriptorSet::default(),
32619 dst_binding: u32::default(),
32620 dst_array_element: u32::default(),
32621 descriptor_count: u32::default(),
32622 descriptor_type: DescriptorType::default(),
32623 image_info: ptr::null(),
32624 buffer_info: ptr::null(),
32625 texel_buffer_view: ptr::null(),
32626 }
32627 }
32628}
32629
32630unsafe impl Send for WriteDescriptorSet {}
32631unsafe impl Sync for WriteDescriptorSet {}
32632
32633#[repr(C)]
32635#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32636pub struct WriteDescriptorSetAccelerationStructureKHR {
32637 pub s_type: StructureType,
32638 pub next: *const c_void,
32639 pub acceleration_structure_count: u32,
32640 pub acceleration_structures: *const AccelerationStructureKHR,
32641}
32642
32643impl Default for WriteDescriptorSetAccelerationStructureKHR {
32644 #[inline]
32645 fn default() -> Self {
32646 Self {
32647 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
32648 next: ptr::null(),
32649 acceleration_structure_count: u32::default(),
32650 acceleration_structures: ptr::null(),
32651 }
32652 }
32653}
32654
32655unsafe impl Send for WriteDescriptorSetAccelerationStructureKHR {}
32656unsafe impl Sync for WriteDescriptorSetAccelerationStructureKHR {}
32657
32658#[repr(C)]
32660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32661pub struct WriteDescriptorSetAccelerationStructureNV {
32662 pub s_type: StructureType,
32663 pub next: *const c_void,
32664 pub acceleration_structure_count: u32,
32665 pub acceleration_structures: *const AccelerationStructureNV,
32666}
32667
32668impl Default for WriteDescriptorSetAccelerationStructureNV {
32669 #[inline]
32670 fn default() -> Self {
32671 Self {
32672 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
32673 next: ptr::null(),
32674 acceleration_structure_count: u32::default(),
32675 acceleration_structures: ptr::null(),
32676 }
32677 }
32678}
32679
32680unsafe impl Send for WriteDescriptorSetAccelerationStructureNV {}
32681unsafe impl Sync for WriteDescriptorSetAccelerationStructureNV {}
32682
32683#[repr(C)]
32685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32686pub struct WriteDescriptorSetInlineUniformBlock {
32687 pub s_type: StructureType,
32688 pub next: *const c_void,
32689 pub data_size: u32,
32690 pub data: *const c_void,
32691}
32692
32693impl Default for WriteDescriptorSetInlineUniformBlock {
32694 #[inline]
32695 fn default() -> Self {
32696 Self {
32697 s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
32698 next: ptr::null(),
32699 data_size: u32::default(),
32700 data: ptr::null(),
32701 }
32702 }
32703}
32704
32705unsafe impl Send for WriteDescriptorSetInlineUniformBlock {}
32706unsafe impl Sync for WriteDescriptorSetInlineUniformBlock {}
32707
32708#[repr(C)]
32710#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32711pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
32712 pub s_type: StructureType,
32713 pub next: *mut c_void,
32714 pub acceleration_structure_count: u32,
32715 pub acceleration_structures: *const DeviceAddress,
32716}
32717
32718impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
32719 #[inline]
32720 fn default() -> Self {
32721 Self {
32722 s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
32723 next: ptr::null_mut(),
32724 acceleration_structure_count: u32::default(),
32725 acceleration_structures: ptr::null(),
32726 }
32727 }
32728}
32729
32730unsafe impl Send for WriteDescriptorSetPartitionedAccelerationStructureNV {}
32731unsafe impl Sync for WriteDescriptorSetPartitionedAccelerationStructureNV {}
32732
32733#[repr(C)]
32735#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32736pub struct WriteDescriptorSetTensorARM {
32737 pub s_type: StructureType,
32738 pub next: *const c_void,
32739 pub tensor_view_count: u32,
32740 pub tensor_views: *const TensorViewARM,
32741}
32742
32743impl Default for WriteDescriptorSetTensorARM {
32744 #[inline]
32745 fn default() -> Self {
32746 Self {
32747 s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
32748 next: ptr::null(),
32749 tensor_view_count: u32::default(),
32750 tensor_views: ptr::null(),
32751 }
32752 }
32753}
32754
32755unsafe impl Send for WriteDescriptorSetTensorARM {}
32756unsafe impl Sync for WriteDescriptorSetTensorARM {}
32757
32758#[repr(C)]
32760#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32761pub struct WriteIndirectExecutionSetPipelineEXT {
32762 pub s_type: StructureType,
32763 pub next: *const c_void,
32764 pub index: u32,
32765 pub pipeline: Pipeline,
32766}
32767
32768impl Default for WriteIndirectExecutionSetPipelineEXT {
32769 #[inline]
32770 fn default() -> Self {
32771 Self {
32772 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
32773 next: ptr::null(),
32774 index: u32::default(),
32775 pipeline: Pipeline::default(),
32776 }
32777 }
32778}
32779
32780unsafe impl Send for WriteIndirectExecutionSetPipelineEXT {}
32781unsafe impl Sync for WriteIndirectExecutionSetPipelineEXT {}
32782
32783#[repr(C)]
32785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32786pub struct WriteIndirectExecutionSetShaderEXT {
32787 pub s_type: StructureType,
32788 pub next: *const c_void,
32789 pub index: u32,
32790 pub shader: ShaderEXT,
32791}
32792
32793impl Default for WriteIndirectExecutionSetShaderEXT {
32794 #[inline]
32795 fn default() -> Self {
32796 Self {
32797 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
32798 next: ptr::null(),
32799 index: u32::default(),
32800 shader: ShaderEXT::default(),
32801 }
32802 }
32803}
32804
32805unsafe impl Send for WriteIndirectExecutionSetShaderEXT {}
32806unsafe impl Sync for WriteIndirectExecutionSetShaderEXT {}
32807
32808#[repr(C)]
32810#[derive(Copy, Clone, Default, Debug, PartialEq)]
32811pub struct XYColorEXT {
32812 pub x: f32,
32813 pub y: f32,
32814}
32815
32816#[repr(C)]
32818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32819pub struct XcbSurfaceCreateInfoKHR {
32820 pub s_type: StructureType,
32821 pub next: *const c_void,
32822 pub flags: XcbSurfaceCreateFlagsKHR,
32823 pub connection: *mut xcb_connection_t,
32824 pub window: xcb_window_t,
32825}
32826
32827impl Default for XcbSurfaceCreateInfoKHR {
32828 #[inline]
32829 fn default() -> Self {
32830 Self {
32831 s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
32832 next: ptr::null(),
32833 flags: XcbSurfaceCreateFlagsKHR::default(),
32834 connection: ptr::null_mut(),
32835 window: xcb_window_t::default(),
32836 }
32837 }
32838}
32839
32840unsafe impl Send for XcbSurfaceCreateInfoKHR {}
32841unsafe impl Sync for XcbSurfaceCreateInfoKHR {}
32842
32843#[repr(C)]
32845#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32846pub struct XlibSurfaceCreateInfoKHR {
32847 pub s_type: StructureType,
32848 pub next: *const c_void,
32849 pub flags: XlibSurfaceCreateFlagsKHR,
32850 pub dpy: *mut Display,
32851 pub window: Window,
32852}
32853
32854impl Default for XlibSurfaceCreateInfoKHR {
32855 #[inline]
32856 fn default() -> Self {
32857 Self {
32858 s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
32859 next: ptr::null(),
32860 flags: XlibSurfaceCreateFlagsKHR::default(),
32861 dpy: ptr::null_mut(),
32862 window: Window::default(),
32863 }
32864 }
32865}
32866
32867unsafe impl Send for XlibSurfaceCreateInfoKHR {}
32868unsafe impl Sync for XlibSurfaceCreateInfoKHR {}
32869
32870pub type AabbPositionsNV = AabbPositionsKHR;
32872pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
32874pub type AttachmentDescription2KHR = AttachmentDescription2;
32876pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
32878pub type AttachmentReference2KHR = AttachmentReference2;
32880pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
32882pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
32884pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
32886pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
32888pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
32890pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
32892pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
32894pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
32896pub type BindMemoryStatusKHR = BindMemoryStatus;
32898pub type BlitImageInfo2KHR = BlitImageInfo2;
32900pub type BufferCopy2KHR = BufferCopy2;
32902pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
32904pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
32906pub type BufferImageCopy2KHR = BufferImageCopy2;
32908pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
32910pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
32912pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
32914pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
32916pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
32918pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
32920pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
32922pub type ConformanceVersionKHR = ConformanceVersion;
32924pub type CopyBufferInfo2KHR = CopyBufferInfo2;
32926pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
32928pub type CopyImageInfo2KHR = CopyImageInfo2;
32930pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
32932pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
32934pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
32936pub type CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR;
32938pub type CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR;
32940pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
32942pub type DependencyInfoKHR = DependencyInfo;
32944pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
32946pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
32948pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
32950pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
32952 DescriptorSetVariableDescriptorCountAllocateInfo;
32953pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
32955 DescriptorSetVariableDescriptorCountLayoutSupport;
32956pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
32958pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
32960pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
32962pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
32964pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
32966pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
32968pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
32970pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
32972pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
32974pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
32976pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
32978pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
32980pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
32982pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
32984pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
32986pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
32988pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
32990pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
32992pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
32994pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
32996pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
32998pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
33000pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
33002pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
33004pub type FormatProperties2KHR = FormatProperties2;
33006pub type FormatProperties3KHR = FormatProperties3;
33008pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
33010pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
33012pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
33014pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
33016pub type ImageBlit2KHR = ImageBlit2;
33018pub type ImageCopy2KHR = ImageCopy2;
33020pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
33022pub type ImageFormatProperties2KHR = ImageFormatProperties2;
33024pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
33026pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
33028pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
33030pub type ImageResolve2KHR = ImageResolve2;
33032pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
33034pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
33036pub type ImageSubresource2EXT = ImageSubresource2;
33038pub type ImageSubresource2KHR = ImageSubresource2;
33040pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
33042pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
33044pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
33046pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
33048pub type MemoryBarrier2KHR = MemoryBarrier2;
33050pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
33052pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
33054pub type MemoryMapInfoKHR = MemoryMapInfo;
33056pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
33058pub type MemoryRequirements2KHR = MemoryRequirements2;
33060pub type MemoryToImageCopyEXT = MemoryToImageCopy;
33062pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
33064pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
33066pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
33068pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
33070pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
33072pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
33074pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
33076pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
33078 PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
33079pub type PhysicalDeviceCopyMemoryIndirectPropertiesNV =
33081 PhysicalDeviceCopyMemoryIndirectPropertiesKHR;
33082pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
33084pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
33086 PhysicalDeviceDepthStencilResolveProperties;
33087pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
33089pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
33091pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
33093pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
33095pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
33097 PhysicalDeviceDynamicRenderingLocalReadFeatures;
33098pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
33100pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
33102pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
33104pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
33106pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
33108pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
33110pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
33112pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
33114pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
33116 PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
33117pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
33119 PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
33120pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
33122 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
33123pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
33125pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
33127pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
33129pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
33131pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
33133pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
33135pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
33137pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
33139pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
33141pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
33143pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
33145pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
33147pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
33149pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
33151pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
33153pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
33155pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
33157pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
33159pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
33161pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
33163pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
33165pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
33167pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
33169pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
33171pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
33173pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
33175pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
33177pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
33179pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
33181 PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
33182pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
33184 PhysicalDevicePipelineCreationCacheControlFeatures;
33185pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
33187 PhysicalDevicePipelineProtectedAccessFeatures;
33188pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
33190pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
33192pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
33194pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
33196 PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
33197pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
33199pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
33201pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
33203pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
33205 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
33206pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
33208pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
33210pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
33212 PhysicalDeviceSamplerFilterMinmaxProperties;
33213pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
33215 PhysicalDeviceSamplerYcbcrConversionFeatures;
33216pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
33218pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
33220 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
33221pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
33223pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
33225 PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
33226pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
33228pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
33230pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
33232pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
33234pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
33236 PhysicalDeviceShaderIntegerDotProductFeatures;
33237pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
33239 PhysicalDeviceShaderIntegerDotProductProperties;
33240pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
33242 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
33243pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
33245pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
33247 PhysicalDeviceShaderTerminateInvocationFeatures;
33248pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
33250pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
33252pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
33254 PhysicalDeviceSubgroupSizeControlProperties;
33255pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
33257 PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
33258pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
33260pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
33262 PhysicalDeviceTexelBufferAlignmentProperties;
33263pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
33265 PhysicalDeviceTextureCompressionASTCHDRFeatures;
33266pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
33268pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
33270pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
33272pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
33274 PhysicalDeviceUniformBufferStandardLayoutFeatures;
33275pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
33277pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
33279pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
33281pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
33283 PhysicalDeviceVertexAttributeDivisorFeatures;
33284pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
33286 PhysicalDeviceVertexAttributeDivisorFeatures;
33287pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
33289 PhysicalDeviceVertexAttributeDivisorProperties;
33290pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
33292pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
33294 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
33295pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
33297pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
33299pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
33301pub type PipelineInfoEXT = PipelineInfoKHR;
33303pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
33305pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
33307pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
33309pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
33311pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
33313 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
33314pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
33316 PipelineTessellationDomainOriginStateCreateInfo;
33317pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
33319pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
33321pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
33323pub type PushConstantsInfoKHR = PushConstantsInfo;
33325pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
33327pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
33329pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
33331pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
33333pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
33335pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
33337pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
33339pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
33341pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
33343pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
33345pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
33347pub type RenderingAreaInfoKHR = RenderingAreaInfo;
33349pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
33351pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
33353pub type RenderingInfoKHR = RenderingInfo;
33355pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
33357pub type ResolveImageInfo2KHR = ResolveImageInfo2;
33359pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
33361pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
33363pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
33365 SamplerYcbcrConversionImageFormatProperties;
33366pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
33368pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
33370pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
33372pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
33374pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
33376pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
33378 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
33379pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
33381pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
33383pub type SubmitInfo2KHR = SubmitInfo2;
33385pub type SubpassBeginInfoKHR = SubpassBeginInfo;
33387pub type SubpassDependency2KHR = SubpassDependency2;
33389pub type SubpassDescription2KHR = SubpassDescription2;
33391pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
33393pub type SubpassEndInfoKHR = SubpassEndInfo;
33395pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
33397pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
33399pub type SubresourceLayout2EXT = SubresourceLayout2;
33401pub type SubresourceLayout2KHR = SubresourceLayout2;
33403pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
33405pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
33407pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
33409pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
33411pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
33413pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
33415pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
33417pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
33419pub type TransformMatrixNV = TransformMatrixKHR;
33421pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
33423pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
33425pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;