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, Debug, Eq, Hash, PartialEq)]
4938pub struct DecompressMemoryInfoEXT {
4939 pub s_type: StructureType,
4940 pub next: *const c_void,
4941 pub decompression_method: MemoryDecompressionMethodFlagsEXT,
4942 pub region_count: u32,
4943 pub regions: *const DecompressMemoryRegionEXT,
4944}
4945
4946impl Default for DecompressMemoryInfoEXT {
4947 #[inline]
4948 fn default() -> Self {
4949 Self {
4950 s_type: StructureType::DECOMPRESS_MEMORY_INFO_EXT,
4951 next: ptr::null(),
4952 decompression_method: MemoryDecompressionMethodFlagsEXT::default(),
4953 region_count: u32::default(),
4954 regions: ptr::null(),
4955 }
4956 }
4957}
4958
4959unsafe impl Send for DecompressMemoryInfoEXT {}
4960unsafe impl Sync for DecompressMemoryInfoEXT {}
4961
4962#[repr(C)]
4964#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4965pub struct DecompressMemoryRegionEXT {
4966 pub src_address: DeviceAddress,
4967 pub dst_address: DeviceAddress,
4968 pub compressed_size: DeviceSize,
4969 pub decompressed_size: DeviceSize,
4970}
4971
4972#[repr(C)]
4974#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4975pub struct DecompressMemoryRegionNV {
4976 pub src_address: DeviceAddress,
4977 pub dst_address: DeviceAddress,
4978 pub compressed_size: DeviceSize,
4979 pub decompressed_size: DeviceSize,
4980 pub decompression_method: MemoryDecompressionMethodFlagsNV,
4981}
4982
4983#[repr(C)]
4985#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4986pub struct DedicatedAllocationBufferCreateInfoNV {
4987 pub s_type: StructureType,
4988 pub next: *const c_void,
4989 pub dedicated_allocation: Bool32,
4990}
4991
4992impl Default for DedicatedAllocationBufferCreateInfoNV {
4993 #[inline]
4994 fn default() -> Self {
4995 Self {
4996 s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
4997 next: ptr::null(),
4998 dedicated_allocation: Bool32::default(),
4999 }
5000 }
5001}
5002
5003unsafe impl Send for DedicatedAllocationBufferCreateInfoNV {}
5004unsafe impl Sync for DedicatedAllocationBufferCreateInfoNV {}
5005
5006#[repr(C)]
5008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5009pub struct DedicatedAllocationImageCreateInfoNV {
5010 pub s_type: StructureType,
5011 pub next: *const c_void,
5012 pub dedicated_allocation: Bool32,
5013}
5014
5015impl Default for DedicatedAllocationImageCreateInfoNV {
5016 #[inline]
5017 fn default() -> Self {
5018 Self {
5019 s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
5020 next: ptr::null(),
5021 dedicated_allocation: Bool32::default(),
5022 }
5023 }
5024}
5025
5026unsafe impl Send for DedicatedAllocationImageCreateInfoNV {}
5027unsafe impl Sync for DedicatedAllocationImageCreateInfoNV {}
5028
5029#[repr(C)]
5031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5032pub struct DedicatedAllocationMemoryAllocateInfoNV {
5033 pub s_type: StructureType,
5034 pub next: *const c_void,
5035 pub image: Image,
5036 pub buffer: Buffer,
5037}
5038
5039impl Default for DedicatedAllocationMemoryAllocateInfoNV {
5040 #[inline]
5041 fn default() -> Self {
5042 Self {
5043 s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
5044 next: ptr::null(),
5045 image: Image::default(),
5046 buffer: Buffer::default(),
5047 }
5048 }
5049}
5050
5051unsafe impl Send for DedicatedAllocationMemoryAllocateInfoNV {}
5052unsafe impl Sync for DedicatedAllocationMemoryAllocateInfoNV {}
5053
5054#[repr(C)]
5056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5057pub struct DependencyInfo {
5058 pub s_type: StructureType,
5059 pub next: *const c_void,
5060 pub dependency_flags: DependencyFlags,
5061 pub memory_barrier_count: u32,
5062 pub memory_barriers: *const MemoryBarrier2,
5063 pub buffer_memory_barrier_count: u32,
5064 pub buffer_memory_barriers: *const BufferMemoryBarrier2,
5065 pub image_memory_barrier_count: u32,
5066 pub image_memory_barriers: *const ImageMemoryBarrier2,
5067}
5068
5069impl Default for DependencyInfo {
5070 #[inline]
5071 fn default() -> Self {
5072 Self {
5073 s_type: StructureType::DEPENDENCY_INFO,
5074 next: ptr::null(),
5075 dependency_flags: DependencyFlags::default(),
5076 memory_barrier_count: u32::default(),
5077 memory_barriers: ptr::null(),
5078 buffer_memory_barrier_count: u32::default(),
5079 buffer_memory_barriers: ptr::null(),
5080 image_memory_barrier_count: u32::default(),
5081 image_memory_barriers: ptr::null(),
5082 }
5083 }
5084}
5085
5086unsafe impl Send for DependencyInfo {}
5087unsafe impl Sync for DependencyInfo {}
5088
5089#[repr(C)]
5091#[derive(Copy, Clone, Debug, PartialEq)]
5092pub struct DepthBiasInfoEXT {
5093 pub s_type: StructureType,
5094 pub next: *const c_void,
5095 pub depth_bias_constant_factor: f32,
5096 pub depth_bias_clamp: f32,
5097 pub depth_bias_slope_factor: f32,
5098}
5099
5100impl Default for DepthBiasInfoEXT {
5101 #[inline]
5102 fn default() -> Self {
5103 Self {
5104 s_type: StructureType::DEPTH_BIAS_INFO_EXT,
5105 next: ptr::null(),
5106 depth_bias_constant_factor: f32::default(),
5107 depth_bias_clamp: f32::default(),
5108 depth_bias_slope_factor: f32::default(),
5109 }
5110 }
5111}
5112
5113unsafe impl Send for DepthBiasInfoEXT {}
5114unsafe impl Sync for DepthBiasInfoEXT {}
5115
5116#[repr(C)]
5118#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5119pub struct DepthBiasRepresentationInfoEXT {
5120 pub s_type: StructureType,
5121 pub next: *const c_void,
5122 pub depth_bias_representation: DepthBiasRepresentationEXT,
5123 pub depth_bias_exact: Bool32,
5124}
5125
5126impl Default for DepthBiasRepresentationInfoEXT {
5127 #[inline]
5128 fn default() -> Self {
5129 Self {
5130 s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
5131 next: ptr::null(),
5132 depth_bias_representation: DepthBiasRepresentationEXT::default(),
5133 depth_bias_exact: Bool32::default(),
5134 }
5135 }
5136}
5137
5138unsafe impl Send for DepthBiasRepresentationInfoEXT {}
5139unsafe impl Sync for DepthBiasRepresentationInfoEXT {}
5140
5141#[repr(C)]
5143#[derive(Copy, Clone, Default, Debug, PartialEq)]
5144pub struct DepthClampRangeEXT {
5145 pub min_depth_clamp: f32,
5146 pub max_depth_clamp: f32,
5147}
5148
5149#[repr(C)]
5151#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5152pub struct DescriptorAddressInfoEXT {
5153 pub s_type: StructureType,
5154 pub next: *mut c_void,
5155 pub address: DeviceAddress,
5156 pub range: DeviceSize,
5157 pub format: Format,
5158}
5159
5160impl Default for DescriptorAddressInfoEXT {
5161 #[inline]
5162 fn default() -> Self {
5163 Self {
5164 s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
5165 next: ptr::null_mut(),
5166 address: DeviceAddress::default(),
5167 range: DeviceSize::default(),
5168 format: Format::default(),
5169 }
5170 }
5171}
5172
5173unsafe impl Send for DescriptorAddressInfoEXT {}
5174unsafe impl Sync for DescriptorAddressInfoEXT {}
5175
5176#[repr(C)]
5178#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5179pub struct DescriptorBufferBindingInfoEXT {
5180 pub s_type: StructureType,
5181 pub next: *const c_void,
5182 pub address: DeviceAddress,
5183 pub usage: BufferUsageFlags,
5184}
5185
5186impl Default for DescriptorBufferBindingInfoEXT {
5187 #[inline]
5188 fn default() -> Self {
5189 Self {
5190 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
5191 next: ptr::null(),
5192 address: DeviceAddress::default(),
5193 usage: BufferUsageFlags::default(),
5194 }
5195 }
5196}
5197
5198unsafe impl Send for DescriptorBufferBindingInfoEXT {}
5199unsafe impl Sync for DescriptorBufferBindingInfoEXT {}
5200
5201#[repr(C)]
5203#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5204pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5205 pub s_type: StructureType,
5206 pub next: *const c_void,
5207 pub buffer: Buffer,
5208}
5209
5210impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5211 #[inline]
5212 fn default() -> Self {
5213 Self {
5214 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
5215 next: ptr::null(),
5216 buffer: Buffer::default(),
5217 }
5218 }
5219}
5220
5221unsafe impl Send for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5222unsafe impl Sync for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5223
5224#[repr(C)]
5226#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5227pub struct DescriptorBufferInfo {
5228 pub buffer: Buffer,
5229 pub offset: DeviceSize,
5230 pub range: DeviceSize,
5231}
5232
5233#[repr(C)]
5235#[derive(Copy, Clone, Debug)]
5236pub struct DescriptorGetInfoEXT {
5237 pub s_type: StructureType,
5238 pub next: *const c_void,
5239 pub type_: DescriptorType,
5240 pub data: DescriptorDataEXT,
5241}
5242
5243impl Default for DescriptorGetInfoEXT {
5244 #[inline]
5245 fn default() -> Self {
5246 Self {
5247 s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
5248 next: ptr::null(),
5249 type_: DescriptorType::default(),
5250 data: DescriptorDataEXT::default(),
5251 }
5252 }
5253}
5254
5255unsafe impl Send for DescriptorGetInfoEXT {}
5256unsafe impl Sync for DescriptorGetInfoEXT {}
5257
5258#[repr(C)]
5260#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5261pub struct DescriptorGetTensorInfoARM {
5262 pub s_type: StructureType,
5263 pub next: *const c_void,
5264 pub tensor_view: TensorViewARM,
5265}
5266
5267impl Default for DescriptorGetTensorInfoARM {
5268 #[inline]
5269 fn default() -> Self {
5270 Self {
5271 s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
5272 next: ptr::null(),
5273 tensor_view: TensorViewARM::default(),
5274 }
5275 }
5276}
5277
5278unsafe impl Send for DescriptorGetTensorInfoARM {}
5279unsafe impl Sync for DescriptorGetTensorInfoARM {}
5280
5281#[repr(C)]
5283#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5284pub struct DescriptorImageInfo {
5285 pub sampler: Sampler,
5286 pub image_view: ImageView,
5287 pub image_layout: ImageLayout,
5288}
5289
5290#[repr(C)]
5292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5293pub struct DescriptorPoolCreateInfo {
5294 pub s_type: StructureType,
5295 pub next: *const c_void,
5296 pub flags: DescriptorPoolCreateFlags,
5297 pub max_sets: u32,
5298 pub pool_size_count: u32,
5299 pub pool_sizes: *const DescriptorPoolSize,
5300}
5301
5302impl Default for DescriptorPoolCreateInfo {
5303 #[inline]
5304 fn default() -> Self {
5305 Self {
5306 s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
5307 next: ptr::null(),
5308 flags: DescriptorPoolCreateFlags::default(),
5309 max_sets: u32::default(),
5310 pool_size_count: u32::default(),
5311 pool_sizes: ptr::null(),
5312 }
5313 }
5314}
5315
5316unsafe impl Send for DescriptorPoolCreateInfo {}
5317unsafe impl Sync for DescriptorPoolCreateInfo {}
5318
5319#[repr(C)]
5321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5322pub struct DescriptorPoolInlineUniformBlockCreateInfo {
5323 pub s_type: StructureType,
5324 pub next: *const c_void,
5325 pub max_inline_uniform_block_bindings: u32,
5326}
5327
5328impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
5329 #[inline]
5330 fn default() -> Self {
5331 Self {
5332 s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
5333 next: ptr::null(),
5334 max_inline_uniform_block_bindings: u32::default(),
5335 }
5336 }
5337}
5338
5339unsafe impl Send for DescriptorPoolInlineUniformBlockCreateInfo {}
5340unsafe impl Sync for DescriptorPoolInlineUniformBlockCreateInfo {}
5341
5342#[repr(C)]
5344#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5345pub struct DescriptorPoolSize {
5346 pub type_: DescriptorType,
5347 pub descriptor_count: u32,
5348}
5349
5350#[repr(C)]
5352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5353pub struct DescriptorSetAllocateInfo {
5354 pub s_type: StructureType,
5355 pub next: *const c_void,
5356 pub descriptor_pool: DescriptorPool,
5357 pub descriptor_set_count: u32,
5358 pub set_layouts: *const DescriptorSetLayout,
5359}
5360
5361impl Default for DescriptorSetAllocateInfo {
5362 #[inline]
5363 fn default() -> Self {
5364 Self {
5365 s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
5366 next: ptr::null(),
5367 descriptor_pool: DescriptorPool::default(),
5368 descriptor_set_count: u32::default(),
5369 set_layouts: ptr::null(),
5370 }
5371 }
5372}
5373
5374unsafe impl Send for DescriptorSetAllocateInfo {}
5375unsafe impl Sync for DescriptorSetAllocateInfo {}
5376
5377#[repr(C)]
5379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5380pub struct DescriptorSetBindingReferenceVALVE {
5381 pub s_type: StructureType,
5382 pub next: *const c_void,
5383 pub descriptor_set_layout: DescriptorSetLayout,
5384 pub binding: u32,
5385}
5386
5387impl Default for DescriptorSetBindingReferenceVALVE {
5388 #[inline]
5389 fn default() -> Self {
5390 Self {
5391 s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
5392 next: ptr::null(),
5393 descriptor_set_layout: DescriptorSetLayout::default(),
5394 binding: u32::default(),
5395 }
5396 }
5397}
5398
5399unsafe impl Send for DescriptorSetBindingReferenceVALVE {}
5400unsafe impl Sync for DescriptorSetBindingReferenceVALVE {}
5401
5402#[repr(C)]
5404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5405pub struct DescriptorSetLayoutBinding {
5406 pub binding: u32,
5407 pub descriptor_type: DescriptorType,
5408 pub descriptor_count: u32,
5409 pub stage_flags: ShaderStageFlags,
5410 pub immutable_samplers: *const Sampler,
5411}
5412
5413impl Default for DescriptorSetLayoutBinding {
5414 #[inline]
5415 fn default() -> Self {
5416 Self {
5417 binding: u32::default(),
5418 descriptor_type: DescriptorType::default(),
5419 descriptor_count: u32::default(),
5420 stage_flags: ShaderStageFlags::default(),
5421 immutable_samplers: ptr::null(),
5422 }
5423 }
5424}
5425
5426unsafe impl Send for DescriptorSetLayoutBinding {}
5427unsafe impl Sync for DescriptorSetLayoutBinding {}
5428
5429#[repr(C)]
5431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5432pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
5433 pub s_type: StructureType,
5434 pub next: *const c_void,
5435 pub binding_count: u32,
5436 pub binding_flags: *const DescriptorBindingFlags,
5437}
5438
5439impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
5440 #[inline]
5441 fn default() -> Self {
5442 Self {
5443 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
5444 next: ptr::null(),
5445 binding_count: u32::default(),
5446 binding_flags: ptr::null(),
5447 }
5448 }
5449}
5450
5451unsafe impl Send for DescriptorSetLayoutBindingFlagsCreateInfo {}
5452unsafe impl Sync for DescriptorSetLayoutBindingFlagsCreateInfo {}
5453
5454#[repr(C)]
5456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5457pub struct DescriptorSetLayoutCreateInfo {
5458 pub s_type: StructureType,
5459 pub next: *const c_void,
5460 pub flags: DescriptorSetLayoutCreateFlags,
5461 pub binding_count: u32,
5462 pub bindings: *const DescriptorSetLayoutBinding,
5463}
5464
5465impl Default for DescriptorSetLayoutCreateInfo {
5466 #[inline]
5467 fn default() -> Self {
5468 Self {
5469 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
5470 next: ptr::null(),
5471 flags: DescriptorSetLayoutCreateFlags::default(),
5472 binding_count: u32::default(),
5473 bindings: ptr::null(),
5474 }
5475 }
5476}
5477
5478unsafe impl Send for DescriptorSetLayoutCreateInfo {}
5479unsafe impl Sync for DescriptorSetLayoutCreateInfo {}
5480
5481#[repr(C)]
5483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5484pub struct DescriptorSetLayoutHostMappingInfoVALVE {
5485 pub s_type: StructureType,
5486 pub next: *mut c_void,
5487 pub descriptor_offset: usize,
5488 pub descriptor_size: u32,
5489}
5490
5491impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
5492 #[inline]
5493 fn default() -> Self {
5494 Self {
5495 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
5496 next: ptr::null_mut(),
5497 descriptor_offset: usize::default(),
5498 descriptor_size: u32::default(),
5499 }
5500 }
5501}
5502
5503unsafe impl Send for DescriptorSetLayoutHostMappingInfoVALVE {}
5504unsafe impl Sync for DescriptorSetLayoutHostMappingInfoVALVE {}
5505
5506#[repr(C)]
5508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5509pub struct DescriptorSetLayoutSupport {
5510 pub s_type: StructureType,
5511 pub next: *mut c_void,
5512 pub supported: Bool32,
5513}
5514
5515impl Default for DescriptorSetLayoutSupport {
5516 #[inline]
5517 fn default() -> Self {
5518 Self {
5519 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
5520 next: ptr::null_mut(),
5521 supported: Bool32::default(),
5522 }
5523 }
5524}
5525
5526unsafe impl Send for DescriptorSetLayoutSupport {}
5527unsafe impl Sync for DescriptorSetLayoutSupport {}
5528
5529#[repr(C)]
5531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5532pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
5533 pub s_type: StructureType,
5534 pub next: *const c_void,
5535 pub descriptor_set_count: u32,
5536 pub descriptor_counts: *const u32,
5537}
5538
5539impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
5540 #[inline]
5541 fn default() -> Self {
5542 Self {
5543 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
5544 next: ptr::null(),
5545 descriptor_set_count: u32::default(),
5546 descriptor_counts: ptr::null(),
5547 }
5548 }
5549}
5550
5551unsafe impl Send for DescriptorSetVariableDescriptorCountAllocateInfo {}
5552unsafe impl Sync for DescriptorSetVariableDescriptorCountAllocateInfo {}
5553
5554#[repr(C)]
5556#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5557pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
5558 pub s_type: StructureType,
5559 pub next: *mut c_void,
5560 pub max_variable_descriptor_count: u32,
5561}
5562
5563impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
5564 #[inline]
5565 fn default() -> Self {
5566 Self {
5567 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
5568 next: ptr::null_mut(),
5569 max_variable_descriptor_count: u32::default(),
5570 }
5571 }
5572}
5573
5574unsafe impl Send for DescriptorSetVariableDescriptorCountLayoutSupport {}
5575unsafe impl Sync for DescriptorSetVariableDescriptorCountLayoutSupport {}
5576
5577#[repr(C)]
5579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5580pub struct DescriptorUpdateTemplateCreateInfo {
5581 pub s_type: StructureType,
5582 pub next: *const c_void,
5583 pub flags: DescriptorUpdateTemplateCreateFlags,
5584 pub descriptor_update_entry_count: u32,
5585 pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
5586 pub template_type: DescriptorUpdateTemplateType,
5587 pub descriptor_set_layout: DescriptorSetLayout,
5588 pub pipeline_bind_point: PipelineBindPoint,
5589 pub pipeline_layout: PipelineLayout,
5590 pub set: u32,
5591}
5592
5593impl Default for DescriptorUpdateTemplateCreateInfo {
5594 #[inline]
5595 fn default() -> Self {
5596 Self {
5597 s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
5598 next: ptr::null(),
5599 flags: DescriptorUpdateTemplateCreateFlags::default(),
5600 descriptor_update_entry_count: u32::default(),
5601 descriptor_update_entries: ptr::null(),
5602 template_type: DescriptorUpdateTemplateType::default(),
5603 descriptor_set_layout: DescriptorSetLayout::default(),
5604 pipeline_bind_point: PipelineBindPoint::default(),
5605 pipeline_layout: PipelineLayout::default(),
5606 set: u32::default(),
5607 }
5608 }
5609}
5610
5611unsafe impl Send for DescriptorUpdateTemplateCreateInfo {}
5612unsafe impl Sync for DescriptorUpdateTemplateCreateInfo {}
5613
5614#[repr(C)]
5616#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5617pub struct DescriptorUpdateTemplateEntry {
5618 pub dst_binding: u32,
5619 pub dst_array_element: u32,
5620 pub descriptor_count: u32,
5621 pub descriptor_type: DescriptorType,
5622 pub offset: usize,
5623 pub stride: usize,
5624}
5625
5626#[repr(C)]
5628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5629pub struct DeviceAddressBindingCallbackDataEXT {
5630 pub s_type: StructureType,
5631 pub next: *mut c_void,
5632 pub flags: DeviceAddressBindingFlagsEXT,
5633 pub base_address: DeviceAddress,
5634 pub size: DeviceSize,
5635 pub binding_type: DeviceAddressBindingTypeEXT,
5636}
5637
5638impl Default for DeviceAddressBindingCallbackDataEXT {
5639 #[inline]
5640 fn default() -> Self {
5641 Self {
5642 s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
5643 next: ptr::null_mut(),
5644 flags: DeviceAddressBindingFlagsEXT::default(),
5645 base_address: DeviceAddress::default(),
5646 size: DeviceSize::default(),
5647 binding_type: DeviceAddressBindingTypeEXT::default(),
5648 }
5649 }
5650}
5651
5652unsafe impl Send for DeviceAddressBindingCallbackDataEXT {}
5653unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {}
5654
5655#[repr(C)]
5657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5658pub struct DeviceBufferMemoryRequirements {
5659 pub s_type: StructureType,
5660 pub next: *const c_void,
5661 pub create_info: *const BufferCreateInfo,
5662}
5663
5664impl Default for DeviceBufferMemoryRequirements {
5665 #[inline]
5666 fn default() -> Self {
5667 Self {
5668 s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
5669 next: ptr::null(),
5670 create_info: ptr::null(),
5671 }
5672 }
5673}
5674
5675unsafe impl Send for DeviceBufferMemoryRequirements {}
5676unsafe impl Sync for DeviceBufferMemoryRequirements {}
5677
5678#[repr(C)]
5680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5681pub struct DeviceCreateInfo {
5682 pub s_type: StructureType,
5683 pub next: *const c_void,
5684 pub flags: DeviceCreateFlags,
5685 pub queue_create_info_count: u32,
5686 pub queue_create_infos: *const DeviceQueueCreateInfo,
5687 pub enabled_layer_count: u32,
5688 pub enabled_layer_names: *const *const c_char,
5689 pub enabled_extension_count: u32,
5690 pub enabled_extension_names: *const *const c_char,
5691 pub enabled_features: *const PhysicalDeviceFeatures,
5692}
5693
5694impl Default for DeviceCreateInfo {
5695 #[inline]
5696 fn default() -> Self {
5697 Self {
5698 s_type: StructureType::DEVICE_CREATE_INFO,
5699 next: ptr::null(),
5700 flags: DeviceCreateFlags::default(),
5701 queue_create_info_count: u32::default(),
5702 queue_create_infos: ptr::null(),
5703 enabled_layer_count: u32::default(),
5704 enabled_layer_names: ptr::null(),
5705 enabled_extension_count: u32::default(),
5706 enabled_extension_names: ptr::null(),
5707 enabled_features: ptr::null(),
5708 }
5709 }
5710}
5711
5712unsafe impl Send for DeviceCreateInfo {}
5713unsafe impl Sync for DeviceCreateInfo {}
5714
5715#[repr(C)]
5717#[derive(Copy, Clone)]
5718pub struct DeviceDeviceMemoryReportCreateInfoEXT {
5719 pub s_type: StructureType,
5720 pub next: *const c_void,
5721 pub flags: DeviceMemoryReportFlagsEXT,
5722 pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
5723 pub user_data: *mut c_void,
5724}
5725
5726impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
5727 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5728 f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
5729 .field("s_type", &self.s_type)
5730 .field("next", &self.next)
5731 .field("flags", &self.flags)
5732 .field(
5733 "user_callback",
5734 &(self.user_callback.map(|f| f as *const u8)),
5735 )
5736 .field("user_data", &self.user_data)
5737 .finish()
5738 }
5739}
5740
5741impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
5742 #[inline]
5743 fn default() -> Self {
5744 Self {
5745 s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
5746 next: ptr::null(),
5747 flags: DeviceMemoryReportFlagsEXT::default(),
5748 user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
5749 user_data: ptr::null_mut(),
5750 }
5751 }
5752}
5753
5754unsafe impl Send for DeviceDeviceMemoryReportCreateInfoEXT {}
5755unsafe impl Sync for DeviceDeviceMemoryReportCreateInfoEXT {}
5756
5757#[repr(C)]
5759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5760pub struct DeviceDiagnosticsConfigCreateInfoNV {
5761 pub s_type: StructureType,
5762 pub next: *const c_void,
5763 pub flags: DeviceDiagnosticsConfigFlagsNV,
5764}
5765
5766impl Default for DeviceDiagnosticsConfigCreateInfoNV {
5767 #[inline]
5768 fn default() -> Self {
5769 Self {
5770 s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
5771 next: ptr::null(),
5772 flags: DeviceDiagnosticsConfigFlagsNV::default(),
5773 }
5774 }
5775}
5776
5777unsafe impl Send for DeviceDiagnosticsConfigCreateInfoNV {}
5778unsafe impl Sync for DeviceDiagnosticsConfigCreateInfoNV {}
5779
5780#[repr(C)]
5782#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5783pub struct DeviceEventInfoEXT {
5784 pub s_type: StructureType,
5785 pub next: *const c_void,
5786 pub device_event: DeviceEventTypeEXT,
5787}
5788
5789impl Default for DeviceEventInfoEXT {
5790 #[inline]
5791 fn default() -> Self {
5792 Self {
5793 s_type: StructureType::DEVICE_EVENT_INFO_EXT,
5794 next: ptr::null(),
5795 device_event: DeviceEventTypeEXT::default(),
5796 }
5797 }
5798}
5799
5800unsafe impl Send for DeviceEventInfoEXT {}
5801unsafe impl Sync for DeviceEventInfoEXT {}
5802
5803#[repr(C)]
5805#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5806pub struct DeviceFaultAddressInfoEXT {
5807 pub address_type: DeviceFaultAddressTypeEXT,
5808 pub reported_address: DeviceAddress,
5809 pub address_precision: DeviceSize,
5810}
5811
5812#[repr(C)]
5814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5815pub struct DeviceFaultCountsEXT {
5816 pub s_type: StructureType,
5817 pub next: *mut c_void,
5818 pub address_info_count: u32,
5819 pub vendor_info_count: u32,
5820 pub vendor_binary_size: DeviceSize,
5821}
5822
5823impl Default for DeviceFaultCountsEXT {
5824 #[inline]
5825 fn default() -> Self {
5826 Self {
5827 s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
5828 next: ptr::null_mut(),
5829 address_info_count: u32::default(),
5830 vendor_info_count: u32::default(),
5831 vendor_binary_size: DeviceSize::default(),
5832 }
5833 }
5834}
5835
5836unsafe impl Send for DeviceFaultCountsEXT {}
5837unsafe impl Sync for DeviceFaultCountsEXT {}
5838
5839#[repr(C)]
5841#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5842pub struct DeviceFaultInfoEXT {
5843 pub s_type: StructureType,
5844 pub next: *mut c_void,
5845 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5846 pub address_infos: *mut DeviceFaultAddressInfoEXT,
5847 pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
5848 pub vendor_binary_data: *mut c_void,
5849}
5850
5851impl Default for DeviceFaultInfoEXT {
5852 #[inline]
5853 fn default() -> Self {
5854 Self {
5855 s_type: StructureType::DEVICE_FAULT_INFO_EXT,
5856 next: ptr::null_mut(),
5857 description: StringArray::default(),
5858 address_infos: ptr::null_mut(),
5859 vendor_infos: ptr::null_mut(),
5860 vendor_binary_data: ptr::null_mut(),
5861 }
5862 }
5863}
5864
5865unsafe impl Send for DeviceFaultInfoEXT {}
5866unsafe impl Sync for DeviceFaultInfoEXT {}
5867
5868#[repr(C)]
5870#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5871pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
5872 pub header_size: u32,
5873 pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
5874 pub vendor_id: u32,
5875 pub device_id: u32,
5876 pub driver_version: u32,
5877 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
5878 pub application_name_offset: u32,
5879 pub application_version: u32,
5880 pub engine_name_offset: u32,
5881 pub engine_version: u32,
5882 pub api_version: u32,
5883}
5884
5885#[repr(C)]
5887#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5888pub struct DeviceFaultVendorInfoEXT {
5889 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5890 pub vendor_fault_code: u64,
5891 pub vendor_fault_data: u64,
5892}
5893
5894#[repr(C)]
5896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5897pub struct DeviceGroupBindSparseInfo {
5898 pub s_type: StructureType,
5899 pub next: *const c_void,
5900 pub resource_device_index: u32,
5901 pub memory_device_index: u32,
5902}
5903
5904impl Default for DeviceGroupBindSparseInfo {
5905 #[inline]
5906 fn default() -> Self {
5907 Self {
5908 s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
5909 next: ptr::null(),
5910 resource_device_index: u32::default(),
5911 memory_device_index: u32::default(),
5912 }
5913 }
5914}
5915
5916unsafe impl Send for DeviceGroupBindSparseInfo {}
5917unsafe impl Sync for DeviceGroupBindSparseInfo {}
5918
5919#[repr(C)]
5921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5922pub struct DeviceGroupCommandBufferBeginInfo {
5923 pub s_type: StructureType,
5924 pub next: *const c_void,
5925 pub device_mask: u32,
5926}
5927
5928impl Default for DeviceGroupCommandBufferBeginInfo {
5929 #[inline]
5930 fn default() -> Self {
5931 Self {
5932 s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
5933 next: ptr::null(),
5934 device_mask: u32::default(),
5935 }
5936 }
5937}
5938
5939unsafe impl Send for DeviceGroupCommandBufferBeginInfo {}
5940unsafe impl Sync for DeviceGroupCommandBufferBeginInfo {}
5941
5942#[repr(C)]
5944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5945pub struct DeviceGroupDeviceCreateInfo {
5946 pub s_type: StructureType,
5947 pub next: *const c_void,
5948 pub physical_device_count: u32,
5949 pub physical_devices: *const PhysicalDevice,
5950}
5951
5952impl Default for DeviceGroupDeviceCreateInfo {
5953 #[inline]
5954 fn default() -> Self {
5955 Self {
5956 s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
5957 next: ptr::null(),
5958 physical_device_count: u32::default(),
5959 physical_devices: ptr::null(),
5960 }
5961 }
5962}
5963
5964unsafe impl Send for DeviceGroupDeviceCreateInfo {}
5965unsafe impl Sync for DeviceGroupDeviceCreateInfo {}
5966
5967#[repr(C)]
5969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5970pub struct DeviceGroupPresentCapabilitiesKHR {
5971 pub s_type: StructureType,
5972 pub next: *mut c_void,
5973 pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE],
5974 pub modes: DeviceGroupPresentModeFlagsKHR,
5975}
5976
5977impl Default for DeviceGroupPresentCapabilitiesKHR {
5978 #[inline]
5979 fn default() -> Self {
5980 Self {
5981 s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
5982 next: ptr::null_mut(),
5983 present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
5984 modes: DeviceGroupPresentModeFlagsKHR::default(),
5985 }
5986 }
5987}
5988
5989unsafe impl Send for DeviceGroupPresentCapabilitiesKHR {}
5990unsafe impl Sync for DeviceGroupPresentCapabilitiesKHR {}
5991
5992#[repr(C)]
5994#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5995pub struct DeviceGroupPresentInfoKHR {
5996 pub s_type: StructureType,
5997 pub next: *const c_void,
5998 pub swapchain_count: u32,
5999 pub device_masks: *const u32,
6000 pub mode: DeviceGroupPresentModeFlagsKHR,
6001}
6002
6003impl Default for DeviceGroupPresentInfoKHR {
6004 #[inline]
6005 fn default() -> Self {
6006 Self {
6007 s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
6008 next: ptr::null(),
6009 swapchain_count: u32::default(),
6010 device_masks: ptr::null(),
6011 mode: DeviceGroupPresentModeFlagsKHR::default(),
6012 }
6013 }
6014}
6015
6016unsafe impl Send for DeviceGroupPresentInfoKHR {}
6017unsafe impl Sync for DeviceGroupPresentInfoKHR {}
6018
6019#[repr(C)]
6021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6022pub struct DeviceGroupRenderPassBeginInfo {
6023 pub s_type: StructureType,
6024 pub next: *const c_void,
6025 pub device_mask: u32,
6026 pub device_render_area_count: u32,
6027 pub device_render_areas: *const Rect2D,
6028}
6029
6030impl Default for DeviceGroupRenderPassBeginInfo {
6031 #[inline]
6032 fn default() -> Self {
6033 Self {
6034 s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
6035 next: ptr::null(),
6036 device_mask: u32::default(),
6037 device_render_area_count: u32::default(),
6038 device_render_areas: ptr::null(),
6039 }
6040 }
6041}
6042
6043unsafe impl Send for DeviceGroupRenderPassBeginInfo {}
6044unsafe impl Sync for DeviceGroupRenderPassBeginInfo {}
6045
6046#[repr(C)]
6048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6049pub struct DeviceGroupSubmitInfo {
6050 pub s_type: StructureType,
6051 pub next: *const c_void,
6052 pub wait_semaphore_count: u32,
6053 pub wait_semaphore_device_indices: *const u32,
6054 pub command_buffer_count: u32,
6055 pub command_buffer_device_masks: *const u32,
6056 pub signal_semaphore_count: u32,
6057 pub signal_semaphore_device_indices: *const u32,
6058}
6059
6060impl Default for DeviceGroupSubmitInfo {
6061 #[inline]
6062 fn default() -> Self {
6063 Self {
6064 s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
6065 next: ptr::null(),
6066 wait_semaphore_count: u32::default(),
6067 wait_semaphore_device_indices: ptr::null(),
6068 command_buffer_count: u32::default(),
6069 command_buffer_device_masks: ptr::null(),
6070 signal_semaphore_count: u32::default(),
6071 signal_semaphore_device_indices: ptr::null(),
6072 }
6073 }
6074}
6075
6076unsafe impl Send for DeviceGroupSubmitInfo {}
6077unsafe impl Sync for DeviceGroupSubmitInfo {}
6078
6079#[repr(C)]
6081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6082pub struct DeviceGroupSwapchainCreateInfoKHR {
6083 pub s_type: StructureType,
6084 pub next: *const c_void,
6085 pub modes: DeviceGroupPresentModeFlagsKHR,
6086}
6087
6088impl Default for DeviceGroupSwapchainCreateInfoKHR {
6089 #[inline]
6090 fn default() -> Self {
6091 Self {
6092 s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
6093 next: ptr::null(),
6094 modes: DeviceGroupPresentModeFlagsKHR::default(),
6095 }
6096 }
6097}
6098
6099unsafe impl Send for DeviceGroupSwapchainCreateInfoKHR {}
6100unsafe impl Sync for DeviceGroupSwapchainCreateInfoKHR {}
6101
6102#[repr(C)]
6104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6105pub struct DeviceImageMemoryRequirements {
6106 pub s_type: StructureType,
6107 pub next: *const c_void,
6108 pub create_info: *const ImageCreateInfo,
6109 pub plane_aspect: ImageAspectFlags,
6110}
6111
6112impl Default for DeviceImageMemoryRequirements {
6113 #[inline]
6114 fn default() -> Self {
6115 Self {
6116 s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
6117 next: ptr::null(),
6118 create_info: ptr::null(),
6119 plane_aspect: ImageAspectFlags::default(),
6120 }
6121 }
6122}
6123
6124unsafe impl Send for DeviceImageMemoryRequirements {}
6125unsafe impl Sync for DeviceImageMemoryRequirements {}
6126
6127#[repr(C)]
6129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6130pub struct DeviceImageSubresourceInfo {
6131 pub s_type: StructureType,
6132 pub next: *const c_void,
6133 pub create_info: *const ImageCreateInfo,
6134 pub subresource: *const ImageSubresource2,
6135}
6136
6137impl Default for DeviceImageSubresourceInfo {
6138 #[inline]
6139 fn default() -> Self {
6140 Self {
6141 s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
6142 next: ptr::null(),
6143 create_info: ptr::null(),
6144 subresource: ptr::null(),
6145 }
6146 }
6147}
6148
6149unsafe impl Send for DeviceImageSubresourceInfo {}
6150unsafe impl Sync for DeviceImageSubresourceInfo {}
6151
6152#[repr(C)]
6154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6155pub struct DeviceMemoryOpaqueCaptureAddressInfo {
6156 pub s_type: StructureType,
6157 pub next: *const c_void,
6158 pub memory: DeviceMemory,
6159}
6160
6161impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
6162 #[inline]
6163 fn default() -> Self {
6164 Self {
6165 s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
6166 next: ptr::null(),
6167 memory: DeviceMemory::default(),
6168 }
6169 }
6170}
6171
6172unsafe impl Send for DeviceMemoryOpaqueCaptureAddressInfo {}
6173unsafe impl Sync for DeviceMemoryOpaqueCaptureAddressInfo {}
6174
6175#[repr(C)]
6177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6178pub struct DeviceMemoryOverallocationCreateInfoAMD {
6179 pub s_type: StructureType,
6180 pub next: *const c_void,
6181 pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
6182}
6183
6184impl Default for DeviceMemoryOverallocationCreateInfoAMD {
6185 #[inline]
6186 fn default() -> Self {
6187 Self {
6188 s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
6189 next: ptr::null(),
6190 overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
6191 }
6192 }
6193}
6194
6195unsafe impl Send for DeviceMemoryOverallocationCreateInfoAMD {}
6196unsafe impl Sync for DeviceMemoryOverallocationCreateInfoAMD {}
6197
6198#[repr(C)]
6200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6201pub struct DeviceMemoryReportCallbackDataEXT {
6202 pub s_type: StructureType,
6203 pub next: *mut c_void,
6204 pub flags: DeviceMemoryReportFlagsEXT,
6205 pub type_: DeviceMemoryReportEventTypeEXT,
6206 pub memory_object_id: u64,
6207 pub size: DeviceSize,
6208 pub object_type: ObjectType,
6209 pub object_handle: u64,
6210 pub heap_index: u32,
6211}
6212
6213impl Default for DeviceMemoryReportCallbackDataEXT {
6214 #[inline]
6215 fn default() -> Self {
6216 Self {
6217 s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
6218 next: ptr::null_mut(),
6219 flags: DeviceMemoryReportFlagsEXT::default(),
6220 type_: DeviceMemoryReportEventTypeEXT::default(),
6221 memory_object_id: u64::default(),
6222 size: DeviceSize::default(),
6223 object_type: ObjectType::default(),
6224 object_handle: u64::default(),
6225 heap_index: u32::default(),
6226 }
6227 }
6228}
6229
6230unsafe impl Send for DeviceMemoryReportCallbackDataEXT {}
6231unsafe impl Sync for DeviceMemoryReportCallbackDataEXT {}
6232
6233#[repr(C)]
6235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6236pub struct DevicePipelineBinaryInternalCacheControlKHR {
6237 pub s_type: StructureType,
6238 pub next: *const c_void,
6239 pub disable_internal_cache: Bool32,
6240}
6241
6242impl Default for DevicePipelineBinaryInternalCacheControlKHR {
6243 #[inline]
6244 fn default() -> Self {
6245 Self {
6246 s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
6247 next: ptr::null(),
6248 disable_internal_cache: Bool32::default(),
6249 }
6250 }
6251}
6252
6253unsafe impl Send for DevicePipelineBinaryInternalCacheControlKHR {}
6254unsafe impl Sync for DevicePipelineBinaryInternalCacheControlKHR {}
6255
6256#[repr(C)]
6258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6259pub struct DevicePrivateDataCreateInfo {
6260 pub s_type: StructureType,
6261 pub next: *const c_void,
6262 pub private_data_slot_request_count: u32,
6263}
6264
6265impl Default for DevicePrivateDataCreateInfo {
6266 #[inline]
6267 fn default() -> Self {
6268 Self {
6269 s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
6270 next: ptr::null(),
6271 private_data_slot_request_count: u32::default(),
6272 }
6273 }
6274}
6275
6276unsafe impl Send for DevicePrivateDataCreateInfo {}
6277unsafe impl Sync for DevicePrivateDataCreateInfo {}
6278
6279#[repr(C)]
6281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6282pub struct DeviceQueueCreateInfo {
6283 pub s_type: StructureType,
6284 pub next: *const c_void,
6285 pub flags: DeviceQueueCreateFlags,
6286 pub queue_family_index: u32,
6287 pub queue_count: u32,
6288 pub queue_priorities: *const f32,
6289}
6290
6291impl Default for DeviceQueueCreateInfo {
6292 #[inline]
6293 fn default() -> Self {
6294 Self {
6295 s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
6296 next: ptr::null(),
6297 flags: DeviceQueueCreateFlags::default(),
6298 queue_family_index: u32::default(),
6299 queue_count: u32::default(),
6300 queue_priorities: ptr::null(),
6301 }
6302 }
6303}
6304
6305unsafe impl Send for DeviceQueueCreateInfo {}
6306unsafe impl Sync for DeviceQueueCreateInfo {}
6307
6308#[repr(C)]
6310#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6311pub struct DeviceQueueGlobalPriorityCreateInfo {
6312 pub s_type: StructureType,
6313 pub next: *const c_void,
6314 pub global_priority: QueueGlobalPriority,
6315}
6316
6317impl Default for DeviceQueueGlobalPriorityCreateInfo {
6318 #[inline]
6319 fn default() -> Self {
6320 Self {
6321 s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
6322 next: ptr::null(),
6323 global_priority: QueueGlobalPriority::default(),
6324 }
6325 }
6326}
6327
6328unsafe impl Send for DeviceQueueGlobalPriorityCreateInfo {}
6329unsafe impl Sync for DeviceQueueGlobalPriorityCreateInfo {}
6330
6331#[repr(C)]
6333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6334pub struct DeviceQueueInfo2 {
6335 pub s_type: StructureType,
6336 pub next: *const c_void,
6337 pub flags: DeviceQueueCreateFlags,
6338 pub queue_family_index: u32,
6339 pub queue_index: u32,
6340}
6341
6342impl Default for DeviceQueueInfo2 {
6343 #[inline]
6344 fn default() -> Self {
6345 Self {
6346 s_type: StructureType::DEVICE_QUEUE_INFO_2,
6347 next: ptr::null(),
6348 flags: DeviceQueueCreateFlags::default(),
6349 queue_family_index: u32::default(),
6350 queue_index: u32::default(),
6351 }
6352 }
6353}
6354
6355unsafe impl Send for DeviceQueueInfo2 {}
6356unsafe impl Sync for DeviceQueueInfo2 {}
6357
6358#[repr(C)]
6360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6361pub struct DeviceQueueShaderCoreControlCreateInfoARM {
6362 pub s_type: StructureType,
6363 pub next: *mut c_void,
6364 pub shader_core_count: u32,
6365}
6366
6367impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
6368 #[inline]
6369 fn default() -> Self {
6370 Self {
6371 s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
6372 next: ptr::null_mut(),
6373 shader_core_count: u32::default(),
6374 }
6375 }
6376}
6377
6378unsafe impl Send for DeviceQueueShaderCoreControlCreateInfoARM {}
6379unsafe impl Sync for DeviceQueueShaderCoreControlCreateInfoARM {}
6380
6381#[repr(C)]
6383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6384pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6385 pub s_type: StructureType,
6386 pub next: *const c_void,
6387 pub semaphore_sci_sync_pool_request_count: u32,
6388}
6389
6390impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6391 #[inline]
6392 fn default() -> Self {
6393 Self {
6394 s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
6395 next: ptr::null(),
6396 semaphore_sci_sync_pool_request_count: u32::default(),
6397 }
6398 }
6399}
6400
6401unsafe impl Send for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6402unsafe impl Sync for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6403
6404#[repr(C)]
6406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6407pub struct DeviceTensorMemoryRequirementsARM {
6408 pub s_type: StructureType,
6409 pub next: *const c_void,
6410 pub create_info: *const TensorCreateInfoARM,
6411}
6412
6413impl Default for DeviceTensorMemoryRequirementsARM {
6414 #[inline]
6415 fn default() -> Self {
6416 Self {
6417 s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
6418 next: ptr::null(),
6419 create_info: ptr::null(),
6420 }
6421 }
6422}
6423
6424unsafe impl Send for DeviceTensorMemoryRequirementsARM {}
6425unsafe impl Sync for DeviceTensorMemoryRequirementsARM {}
6426
6427#[repr(C)]
6429#[derive(Copy, Clone)]
6430pub struct DirectDriverLoadingInfoLUNARG {
6431 pub s_type: StructureType,
6432 pub next: *mut c_void,
6433 pub flags: DirectDriverLoadingFlagsLUNARG,
6434 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
6435}
6436
6437impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
6438 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6439 f.debug_struct("DirectDriverLoadingInfoLUNARG")
6440 .field("s_type", &self.s_type)
6441 .field("next", &self.next)
6442 .field("flags", &self.flags)
6443 .field(
6444 "get_instance_proc_addr",
6445 &(self.get_instance_proc_addr.map(|f| f as *const u8)),
6446 )
6447 .finish()
6448 }
6449}
6450
6451impl Default for DirectDriverLoadingInfoLUNARG {
6452 #[inline]
6453 fn default() -> Self {
6454 Self {
6455 s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
6456 next: ptr::null_mut(),
6457 flags: DirectDriverLoadingFlagsLUNARG::default(),
6458 get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
6459 }
6460 }
6461}
6462
6463unsafe impl Send for DirectDriverLoadingInfoLUNARG {}
6464unsafe impl Sync for DirectDriverLoadingInfoLUNARG {}
6465
6466#[repr(C)]
6468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6469pub struct DirectDriverLoadingListLUNARG {
6470 pub s_type: StructureType,
6471 pub next: *const c_void,
6472 pub mode: DirectDriverLoadingModeLUNARG,
6473 pub driver_count: u32,
6474 pub drivers: *const DirectDriverLoadingInfoLUNARG,
6475}
6476
6477impl Default for DirectDriverLoadingListLUNARG {
6478 #[inline]
6479 fn default() -> Self {
6480 Self {
6481 s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
6482 next: ptr::null(),
6483 mode: DirectDriverLoadingModeLUNARG::default(),
6484 driver_count: u32::default(),
6485 drivers: ptr::null(),
6486 }
6487 }
6488}
6489
6490unsafe impl Send for DirectDriverLoadingListLUNARG {}
6491unsafe impl Sync for DirectDriverLoadingListLUNARG {}
6492
6493#[repr(C)]
6495#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6496pub struct DirectFBSurfaceCreateInfoEXT {
6497 pub s_type: StructureType,
6498 pub next: *const c_void,
6499 pub flags: DirectFBSurfaceCreateFlagsEXT,
6500 pub dfb: *mut IDirectFB,
6501 pub surface: *mut IDirectFBSurface,
6502}
6503
6504impl Default for DirectFBSurfaceCreateInfoEXT {
6505 #[inline]
6506 fn default() -> Self {
6507 Self {
6508 s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
6509 next: ptr::null(),
6510 flags: DirectFBSurfaceCreateFlagsEXT::default(),
6511 dfb: ptr::null_mut(),
6512 surface: ptr::null_mut(),
6513 }
6514 }
6515}
6516
6517unsafe impl Send for DirectFBSurfaceCreateInfoEXT {}
6518unsafe impl Sync for DirectFBSurfaceCreateInfoEXT {}
6519
6520#[repr(C)]
6522#[derive(Copy, Clone, Default, Debug)]
6523pub struct DispatchGraphCountInfoAMDX {
6524 pub count: u32,
6525 pub infos: DeviceOrHostAddressConstAMDX,
6526 pub stride: u64,
6527}
6528
6529#[repr(C)]
6531#[derive(Copy, Clone, Default, Debug)]
6532pub struct DispatchGraphInfoAMDX {
6533 pub node_index: u32,
6534 pub payload_count: u32,
6535 pub payloads: DeviceOrHostAddressConstAMDX,
6536 pub payload_stride: u64,
6537}
6538
6539#[repr(C)]
6541#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6542pub struct DispatchIndirectCommand {
6543 pub x: u32,
6544 pub y: u32,
6545 pub z: u32,
6546}
6547
6548#[repr(C)]
6550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6551pub struct DispatchTileInfoQCOM {
6552 pub s_type: StructureType,
6553 pub next: *const c_void,
6554}
6555
6556impl Default for DispatchTileInfoQCOM {
6557 #[inline]
6558 fn default() -> Self {
6559 Self {
6560 s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
6561 next: ptr::null(),
6562 }
6563 }
6564}
6565
6566unsafe impl Send for DispatchTileInfoQCOM {}
6567unsafe impl Sync for DispatchTileInfoQCOM {}
6568
6569#[repr(C)]
6571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6572pub struct DisplayEventInfoEXT {
6573 pub s_type: StructureType,
6574 pub next: *const c_void,
6575 pub display_event: DisplayEventTypeEXT,
6576}
6577
6578impl Default for DisplayEventInfoEXT {
6579 #[inline]
6580 fn default() -> Self {
6581 Self {
6582 s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
6583 next: ptr::null(),
6584 display_event: DisplayEventTypeEXT::default(),
6585 }
6586 }
6587}
6588
6589unsafe impl Send for DisplayEventInfoEXT {}
6590unsafe impl Sync for DisplayEventInfoEXT {}
6591
6592#[repr(C)]
6594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6595pub struct DisplayModeCreateInfoKHR {
6596 pub s_type: StructureType,
6597 pub next: *const c_void,
6598 pub flags: DisplayModeCreateFlagsKHR,
6599 pub parameters: DisplayModeParametersKHR,
6600}
6601
6602impl Default for DisplayModeCreateInfoKHR {
6603 #[inline]
6604 fn default() -> Self {
6605 Self {
6606 s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
6607 next: ptr::null(),
6608 flags: DisplayModeCreateFlagsKHR::default(),
6609 parameters: DisplayModeParametersKHR::default(),
6610 }
6611 }
6612}
6613
6614unsafe impl Send for DisplayModeCreateInfoKHR {}
6615unsafe impl Sync for DisplayModeCreateInfoKHR {}
6616
6617#[repr(C)]
6619#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6620pub struct DisplayModeParametersKHR {
6621 pub visible_region: Extent2D,
6622 pub refresh_rate: u32,
6623}
6624
6625#[repr(C)]
6627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6628pub struct DisplayModeProperties2KHR {
6629 pub s_type: StructureType,
6630 pub next: *mut c_void,
6631 pub display_mode_properties: DisplayModePropertiesKHR,
6632}
6633
6634impl Default for DisplayModeProperties2KHR {
6635 #[inline]
6636 fn default() -> Self {
6637 Self {
6638 s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
6639 next: ptr::null_mut(),
6640 display_mode_properties: DisplayModePropertiesKHR::default(),
6641 }
6642 }
6643}
6644
6645unsafe impl Send for DisplayModeProperties2KHR {}
6646unsafe impl Sync for DisplayModeProperties2KHR {}
6647
6648#[repr(C)]
6650#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6651pub struct DisplayModePropertiesKHR {
6652 pub display_mode: DisplayModeKHR,
6653 pub parameters: DisplayModeParametersKHR,
6654}
6655
6656#[repr(C)]
6658#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6659pub struct DisplayModeStereoPropertiesNV {
6660 pub s_type: StructureType,
6661 pub next: *const c_void,
6662 pub hdmi_3d_supported: Bool32,
6663}
6664
6665impl Default for DisplayModeStereoPropertiesNV {
6666 #[inline]
6667 fn default() -> Self {
6668 Self {
6669 s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
6670 next: ptr::null(),
6671 hdmi_3d_supported: Bool32::default(),
6672 }
6673 }
6674}
6675
6676unsafe impl Send for DisplayModeStereoPropertiesNV {}
6677unsafe impl Sync for DisplayModeStereoPropertiesNV {}
6678
6679#[repr(C)]
6681#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6682pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
6683 pub s_type: StructureType,
6684 pub next: *mut c_void,
6685 pub local_dimming_support: Bool32,
6686}
6687
6688impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
6689 #[inline]
6690 fn default() -> Self {
6691 Self {
6692 s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
6693 next: ptr::null_mut(),
6694 local_dimming_support: Bool32::default(),
6695 }
6696 }
6697}
6698
6699unsafe impl Send for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6700unsafe impl Sync for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6701
6702#[repr(C)]
6704#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6705pub struct DisplayPlaneCapabilities2KHR {
6706 pub s_type: StructureType,
6707 pub next: *mut c_void,
6708 pub capabilities: DisplayPlaneCapabilitiesKHR,
6709}
6710
6711impl Default for DisplayPlaneCapabilities2KHR {
6712 #[inline]
6713 fn default() -> Self {
6714 Self {
6715 s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
6716 next: ptr::null_mut(),
6717 capabilities: DisplayPlaneCapabilitiesKHR::default(),
6718 }
6719 }
6720}
6721
6722unsafe impl Send for DisplayPlaneCapabilities2KHR {}
6723unsafe impl Sync for DisplayPlaneCapabilities2KHR {}
6724
6725#[repr(C)]
6727#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6728pub struct DisplayPlaneCapabilitiesKHR {
6729 pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
6730 pub min_src_position: Offset2D,
6731 pub max_src_position: Offset2D,
6732 pub min_src_extent: Extent2D,
6733 pub max_src_extent: Extent2D,
6734 pub min_dst_position: Offset2D,
6735 pub max_dst_position: Offset2D,
6736 pub min_dst_extent: Extent2D,
6737 pub max_dst_extent: Extent2D,
6738}
6739
6740#[repr(C)]
6742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6743pub struct DisplayPlaneInfo2KHR {
6744 pub s_type: StructureType,
6745 pub next: *const c_void,
6746 pub mode: DisplayModeKHR,
6747 pub plane_index: u32,
6748}
6749
6750impl Default for DisplayPlaneInfo2KHR {
6751 #[inline]
6752 fn default() -> Self {
6753 Self {
6754 s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
6755 next: ptr::null(),
6756 mode: DisplayModeKHR::default(),
6757 plane_index: u32::default(),
6758 }
6759 }
6760}
6761
6762unsafe impl Send for DisplayPlaneInfo2KHR {}
6763unsafe impl Sync for DisplayPlaneInfo2KHR {}
6764
6765#[repr(C)]
6767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6768pub struct DisplayPlaneProperties2KHR {
6769 pub s_type: StructureType,
6770 pub next: *mut c_void,
6771 pub display_plane_properties: DisplayPlanePropertiesKHR,
6772}
6773
6774impl Default for DisplayPlaneProperties2KHR {
6775 #[inline]
6776 fn default() -> Self {
6777 Self {
6778 s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
6779 next: ptr::null_mut(),
6780 display_plane_properties: DisplayPlanePropertiesKHR::default(),
6781 }
6782 }
6783}
6784
6785unsafe impl Send for DisplayPlaneProperties2KHR {}
6786unsafe impl Sync for DisplayPlaneProperties2KHR {}
6787
6788#[repr(C)]
6790#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6791pub struct DisplayPlanePropertiesKHR {
6792 pub current_display: DisplayKHR,
6793 pub current_stack_index: u32,
6794}
6795
6796#[repr(C)]
6798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6799pub struct DisplayPowerInfoEXT {
6800 pub s_type: StructureType,
6801 pub next: *const c_void,
6802 pub power_state: DisplayPowerStateEXT,
6803}
6804
6805impl Default for DisplayPowerInfoEXT {
6806 #[inline]
6807 fn default() -> Self {
6808 Self {
6809 s_type: StructureType::DISPLAY_POWER_INFO_EXT,
6810 next: ptr::null(),
6811 power_state: DisplayPowerStateEXT::default(),
6812 }
6813 }
6814}
6815
6816unsafe impl Send for DisplayPowerInfoEXT {}
6817unsafe impl Sync for DisplayPowerInfoEXT {}
6818
6819#[repr(C)]
6821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6822pub struct DisplayPresentInfoKHR {
6823 pub s_type: StructureType,
6824 pub next: *const c_void,
6825 pub src_rect: Rect2D,
6826 pub dst_rect: Rect2D,
6827 pub persistent: Bool32,
6828}
6829
6830impl Default for DisplayPresentInfoKHR {
6831 #[inline]
6832 fn default() -> Self {
6833 Self {
6834 s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
6835 next: ptr::null(),
6836 src_rect: Rect2D::default(),
6837 dst_rect: Rect2D::default(),
6838 persistent: Bool32::default(),
6839 }
6840 }
6841}
6842
6843unsafe impl Send for DisplayPresentInfoKHR {}
6844unsafe impl Sync for DisplayPresentInfoKHR {}
6845
6846#[repr(C)]
6848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6849pub struct DisplayProperties2KHR {
6850 pub s_type: StructureType,
6851 pub next: *mut c_void,
6852 pub display_properties: DisplayPropertiesKHR,
6853}
6854
6855impl Default for DisplayProperties2KHR {
6856 #[inline]
6857 fn default() -> Self {
6858 Self {
6859 s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
6860 next: ptr::null_mut(),
6861 display_properties: DisplayPropertiesKHR::default(),
6862 }
6863 }
6864}
6865
6866unsafe impl Send for DisplayProperties2KHR {}
6867unsafe impl Sync for DisplayProperties2KHR {}
6868
6869#[repr(C)]
6871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6872pub struct DisplayPropertiesKHR {
6873 pub display: DisplayKHR,
6874 pub display_name: *const c_char,
6875 pub physical_dimensions: Extent2D,
6876 pub physical_resolution: Extent2D,
6877 pub supported_transforms: SurfaceTransformFlagsKHR,
6878 pub plane_reorder_possible: Bool32,
6879 pub persistent_content: Bool32,
6880}
6881
6882impl Default for DisplayPropertiesKHR {
6883 #[inline]
6884 fn default() -> Self {
6885 Self {
6886 display: DisplayKHR::default(),
6887 display_name: ptr::null(),
6888 physical_dimensions: Extent2D::default(),
6889 physical_resolution: Extent2D::default(),
6890 supported_transforms: SurfaceTransformFlagsKHR::default(),
6891 plane_reorder_possible: Bool32::default(),
6892 persistent_content: Bool32::default(),
6893 }
6894 }
6895}
6896
6897unsafe impl Send for DisplayPropertiesKHR {}
6898unsafe impl Sync for DisplayPropertiesKHR {}
6899
6900#[repr(C)]
6902#[derive(Copy, Clone, Debug, PartialEq)]
6903pub struct DisplaySurfaceCreateInfoKHR {
6904 pub s_type: StructureType,
6905 pub next: *const c_void,
6906 pub flags: DisplaySurfaceCreateFlagsKHR,
6907 pub display_mode: DisplayModeKHR,
6908 pub plane_index: u32,
6909 pub plane_stack_index: u32,
6910 pub transform: SurfaceTransformFlagsKHR,
6911 pub global_alpha: f32,
6912 pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
6913 pub image_extent: Extent2D,
6914}
6915
6916impl Default for DisplaySurfaceCreateInfoKHR {
6917 #[inline]
6918 fn default() -> Self {
6919 Self {
6920 s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
6921 next: ptr::null(),
6922 flags: DisplaySurfaceCreateFlagsKHR::default(),
6923 display_mode: DisplayModeKHR::default(),
6924 plane_index: u32::default(),
6925 plane_stack_index: u32::default(),
6926 transform: SurfaceTransformFlagsKHR::default(),
6927 global_alpha: f32::default(),
6928 alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
6929 image_extent: Extent2D::default(),
6930 }
6931 }
6932}
6933
6934unsafe impl Send for DisplaySurfaceCreateInfoKHR {}
6935unsafe impl Sync for DisplaySurfaceCreateInfoKHR {}
6936
6937#[repr(C)]
6939#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6940pub struct DisplaySurfaceStereoCreateInfoNV {
6941 pub s_type: StructureType,
6942 pub next: *const c_void,
6943 pub stereo_type: DisplaySurfaceStereoTypeNV,
6944}
6945
6946impl Default for DisplaySurfaceStereoCreateInfoNV {
6947 #[inline]
6948 fn default() -> Self {
6949 Self {
6950 s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
6951 next: ptr::null(),
6952 stereo_type: DisplaySurfaceStereoTypeNV::default(),
6953 }
6954 }
6955}
6956
6957unsafe impl Send for DisplaySurfaceStereoCreateInfoNV {}
6958unsafe impl Sync for DisplaySurfaceStereoCreateInfoNV {}
6959
6960#[repr(C)]
6962#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6963pub struct DrawIndexedIndirectCommand {
6964 pub index_count: u32,
6965 pub instance_count: u32,
6966 pub first_index: u32,
6967 pub vertex_offset: i32,
6968 pub first_instance: u32,
6969}
6970
6971#[repr(C)]
6973#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6974pub struct DrawIndirectCommand {
6975 pub vertex_count: u32,
6976 pub instance_count: u32,
6977 pub first_vertex: u32,
6978 pub first_instance: u32,
6979}
6980
6981#[repr(C)]
6983#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6984pub struct DrawIndirectCountIndirectCommandEXT {
6985 pub buffer_address: DeviceAddress,
6986 pub stride: u32,
6987 pub command_count: u32,
6988}
6989
6990#[repr(C)]
6992#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6993pub struct DrawMeshTasksIndirectCommandEXT {
6994 pub group_count_x: u32,
6995 pub group_count_y: u32,
6996 pub group_count_z: u32,
6997}
6998
6999#[repr(C)]
7001#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7002pub struct DrawMeshTasksIndirectCommandNV {
7003 pub task_count: u32,
7004 pub first_task: u32,
7005}
7006
7007#[repr(C)]
7009#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7010pub struct DrmFormatModifierProperties2EXT {
7011 pub drm_format_modifier: u64,
7012 pub drm_format_modifier_plane_count: u32,
7013 pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
7014}
7015
7016#[repr(C)]
7018#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7019pub struct DrmFormatModifierPropertiesEXT {
7020 pub drm_format_modifier: u64,
7021 pub drm_format_modifier_plane_count: u32,
7022 pub drm_format_modifier_tiling_features: FormatFeatureFlags,
7023}
7024
7025#[repr(C)]
7027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7028pub struct DrmFormatModifierPropertiesList2EXT {
7029 pub s_type: StructureType,
7030 pub next: *mut c_void,
7031 pub drm_format_modifier_count: u32,
7032 pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
7033}
7034
7035impl Default for DrmFormatModifierPropertiesList2EXT {
7036 #[inline]
7037 fn default() -> Self {
7038 Self {
7039 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
7040 next: ptr::null_mut(),
7041 drm_format_modifier_count: u32::default(),
7042 drm_format_modifier_properties: ptr::null_mut(),
7043 }
7044 }
7045}
7046
7047unsafe impl Send for DrmFormatModifierPropertiesList2EXT {}
7048unsafe impl Sync for DrmFormatModifierPropertiesList2EXT {}
7049
7050#[repr(C)]
7052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7053pub struct DrmFormatModifierPropertiesListEXT {
7054 pub s_type: StructureType,
7055 pub next: *mut c_void,
7056 pub drm_format_modifier_count: u32,
7057 pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
7058}
7059
7060impl Default for DrmFormatModifierPropertiesListEXT {
7061 #[inline]
7062 fn default() -> Self {
7063 Self {
7064 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
7065 next: ptr::null_mut(),
7066 drm_format_modifier_count: u32::default(),
7067 drm_format_modifier_properties: ptr::null_mut(),
7068 }
7069 }
7070}
7071
7072unsafe impl Send for DrmFormatModifierPropertiesListEXT {}
7073unsafe impl Sync for DrmFormatModifierPropertiesListEXT {}
7074
7075#[repr(C)]
7077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7078pub struct EventCreateInfo {
7079 pub s_type: StructureType,
7080 pub next: *const c_void,
7081 pub flags: EventCreateFlags,
7082}
7083
7084impl Default for EventCreateInfo {
7085 #[inline]
7086 fn default() -> Self {
7087 Self {
7088 s_type: StructureType::EVENT_CREATE_INFO,
7089 next: ptr::null(),
7090 flags: EventCreateFlags::default(),
7091 }
7092 }
7093}
7094
7095unsafe impl Send for EventCreateInfo {}
7096unsafe impl Sync for EventCreateInfo {}
7097
7098#[repr(C)]
7100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7101pub struct ExecutionGraphPipelineCreateInfoAMDX {
7102 pub s_type: StructureType,
7103 pub next: *const c_void,
7104 pub flags: PipelineCreateFlags,
7105 pub stage_count: u32,
7106 pub stages: *const PipelineShaderStageCreateInfo,
7107 pub library_info: *const PipelineLibraryCreateInfoKHR,
7108 pub layout: PipelineLayout,
7109 pub base_pipeline_handle: Pipeline,
7110 pub base_pipeline_index: i32,
7111}
7112
7113impl Default for ExecutionGraphPipelineCreateInfoAMDX {
7114 #[inline]
7115 fn default() -> Self {
7116 Self {
7117 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
7118 next: ptr::null(),
7119 flags: PipelineCreateFlags::default(),
7120 stage_count: u32::default(),
7121 stages: ptr::null(),
7122 library_info: ptr::null(),
7123 layout: PipelineLayout::default(),
7124 base_pipeline_handle: Pipeline::default(),
7125 base_pipeline_index: i32::default(),
7126 }
7127 }
7128}
7129
7130unsafe impl Send for ExecutionGraphPipelineCreateInfoAMDX {}
7131unsafe impl Sync for ExecutionGraphPipelineCreateInfoAMDX {}
7132
7133#[repr(C)]
7135#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7136pub struct ExecutionGraphPipelineScratchSizeAMDX {
7137 pub s_type: StructureType,
7138 pub next: *mut c_void,
7139 pub min_size: DeviceSize,
7140 pub max_size: DeviceSize,
7141 pub size_granularity: DeviceSize,
7142}
7143
7144impl Default for ExecutionGraphPipelineScratchSizeAMDX {
7145 #[inline]
7146 fn default() -> Self {
7147 Self {
7148 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
7149 next: ptr::null_mut(),
7150 min_size: DeviceSize::default(),
7151 max_size: DeviceSize::default(),
7152 size_granularity: DeviceSize::default(),
7153 }
7154 }
7155}
7156
7157unsafe impl Send for ExecutionGraphPipelineScratchSizeAMDX {}
7158unsafe impl Sync for ExecutionGraphPipelineScratchSizeAMDX {}
7159
7160#[repr(C)]
7162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7163pub struct ExportFenceCreateInfo {
7164 pub s_type: StructureType,
7165 pub next: *const c_void,
7166 pub handle_types: ExternalFenceHandleTypeFlags,
7167}
7168
7169impl Default for ExportFenceCreateInfo {
7170 #[inline]
7171 fn default() -> Self {
7172 Self {
7173 s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
7174 next: ptr::null(),
7175 handle_types: ExternalFenceHandleTypeFlags::default(),
7176 }
7177 }
7178}
7179
7180unsafe impl Send for ExportFenceCreateInfo {}
7181unsafe impl Sync for ExportFenceCreateInfo {}
7182
7183#[repr(C)]
7185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7186pub struct ExportFenceSciSyncInfoNV {
7187 pub s_type: StructureType,
7188 pub next: *const c_void,
7189 pub attributes: NvSciSyncAttrList,
7190}
7191
7192impl Default for ExportFenceSciSyncInfoNV {
7193 #[inline]
7194 fn default() -> Self {
7195 Self {
7196 s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
7197 next: ptr::null(),
7198 attributes: ptr::null_mut(),
7199 }
7200 }
7201}
7202
7203unsafe impl Send for ExportFenceSciSyncInfoNV {}
7204unsafe impl Sync for ExportFenceSciSyncInfoNV {}
7205
7206#[repr(C)]
7208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7209pub struct ExportFenceWin32HandleInfoKHR {
7210 pub s_type: StructureType,
7211 pub next: *const c_void,
7212 pub attributes: *const SECURITY_ATTRIBUTES,
7213 pub dw_access: DWORD,
7214 pub name: LPCWSTR,
7215}
7216
7217impl Default for ExportFenceWin32HandleInfoKHR {
7218 #[inline]
7219 fn default() -> Self {
7220 Self {
7221 s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
7222 next: ptr::null(),
7223 attributes: ptr::null(),
7224 dw_access: DWORD::default(),
7225 name: ptr::null_mut(),
7226 }
7227 }
7228}
7229
7230unsafe impl Send for ExportFenceWin32HandleInfoKHR {}
7231unsafe impl Sync for ExportFenceWin32HandleInfoKHR {}
7232
7233#[repr(C)]
7235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7236pub struct ExportMemoryAllocateInfo {
7237 pub s_type: StructureType,
7238 pub next: *const c_void,
7239 pub handle_types: ExternalMemoryHandleTypeFlags,
7240}
7241
7242impl Default for ExportMemoryAllocateInfo {
7243 #[inline]
7244 fn default() -> Self {
7245 Self {
7246 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
7247 next: ptr::null(),
7248 handle_types: ExternalMemoryHandleTypeFlags::default(),
7249 }
7250 }
7251}
7252
7253unsafe impl Send for ExportMemoryAllocateInfo {}
7254unsafe impl Sync for ExportMemoryAllocateInfo {}
7255
7256#[repr(C)]
7258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7259pub struct ExportMemoryAllocateInfoNV {
7260 pub s_type: StructureType,
7261 pub next: *const c_void,
7262 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7263}
7264
7265impl Default for ExportMemoryAllocateInfoNV {
7266 #[inline]
7267 fn default() -> Self {
7268 Self {
7269 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
7270 next: ptr::null(),
7271 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7272 }
7273 }
7274}
7275
7276unsafe impl Send for ExportMemoryAllocateInfoNV {}
7277unsafe impl Sync for ExportMemoryAllocateInfoNV {}
7278
7279#[repr(C)]
7281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7282pub struct ExportMemorySciBufInfoNV {
7283 pub s_type: StructureType,
7284 pub next: *const c_void,
7285 pub attributes: NvSciBufAttrList,
7286}
7287
7288impl Default for ExportMemorySciBufInfoNV {
7289 #[inline]
7290 fn default() -> Self {
7291 Self {
7292 s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
7293 next: ptr::null(),
7294 attributes: ptr::null_mut(),
7295 }
7296 }
7297}
7298
7299unsafe impl Send for ExportMemorySciBufInfoNV {}
7300unsafe impl Sync for ExportMemorySciBufInfoNV {}
7301
7302#[repr(C)]
7304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7305pub struct ExportMemoryWin32HandleInfoKHR {
7306 pub s_type: StructureType,
7307 pub next: *const c_void,
7308 pub attributes: *const SECURITY_ATTRIBUTES,
7309 pub dw_access: DWORD,
7310 pub name: LPCWSTR,
7311}
7312
7313impl Default for ExportMemoryWin32HandleInfoKHR {
7314 #[inline]
7315 fn default() -> Self {
7316 Self {
7317 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
7318 next: ptr::null(),
7319 attributes: ptr::null(),
7320 dw_access: DWORD::default(),
7321 name: ptr::null_mut(),
7322 }
7323 }
7324}
7325
7326unsafe impl Send for ExportMemoryWin32HandleInfoKHR {}
7327unsafe impl Sync for ExportMemoryWin32HandleInfoKHR {}
7328
7329#[repr(C)]
7331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7332pub struct ExportMemoryWin32HandleInfoNV {
7333 pub s_type: StructureType,
7334 pub next: *const c_void,
7335 pub attributes: *const SECURITY_ATTRIBUTES,
7336 pub dw_access: DWORD,
7337}
7338
7339impl Default for ExportMemoryWin32HandleInfoNV {
7340 #[inline]
7341 fn default() -> Self {
7342 Self {
7343 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
7344 next: ptr::null(),
7345 attributes: ptr::null(),
7346 dw_access: DWORD::default(),
7347 }
7348 }
7349}
7350
7351unsafe impl Send for ExportMemoryWin32HandleInfoNV {}
7352unsafe impl Sync for ExportMemoryWin32HandleInfoNV {}
7353
7354#[repr(C)]
7356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7357pub struct ExportMetalBufferInfoEXT {
7358 pub s_type: StructureType,
7359 pub next: *const c_void,
7360 pub memory: DeviceMemory,
7361 pub mtl_buffer: MTLBuffer_id,
7362}
7363
7364impl Default for ExportMetalBufferInfoEXT {
7365 #[inline]
7366 fn default() -> Self {
7367 Self {
7368 s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
7369 next: ptr::null(),
7370 memory: DeviceMemory::default(),
7371 mtl_buffer: ptr::null_mut(),
7372 }
7373 }
7374}
7375
7376unsafe impl Send for ExportMetalBufferInfoEXT {}
7377unsafe impl Sync for ExportMetalBufferInfoEXT {}
7378
7379#[repr(C)]
7381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7382pub struct ExportMetalCommandQueueInfoEXT {
7383 pub s_type: StructureType,
7384 pub next: *const c_void,
7385 pub queue: Queue,
7386 pub mtl_command_queue: MTLCommandQueue_id,
7387}
7388
7389impl Default for ExportMetalCommandQueueInfoEXT {
7390 #[inline]
7391 fn default() -> Self {
7392 Self {
7393 s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
7394 next: ptr::null(),
7395 queue: Queue::default(),
7396 mtl_command_queue: ptr::null_mut(),
7397 }
7398 }
7399}
7400
7401unsafe impl Send for ExportMetalCommandQueueInfoEXT {}
7402unsafe impl Sync for ExportMetalCommandQueueInfoEXT {}
7403
7404#[repr(C)]
7406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7407pub struct ExportMetalDeviceInfoEXT {
7408 pub s_type: StructureType,
7409 pub next: *const c_void,
7410 pub mtl_device: MTLDevice_id,
7411}
7412
7413impl Default for ExportMetalDeviceInfoEXT {
7414 #[inline]
7415 fn default() -> Self {
7416 Self {
7417 s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
7418 next: ptr::null(),
7419 mtl_device: ptr::null_mut(),
7420 }
7421 }
7422}
7423
7424unsafe impl Send for ExportMetalDeviceInfoEXT {}
7425unsafe impl Sync for ExportMetalDeviceInfoEXT {}
7426
7427#[repr(C)]
7429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7430pub struct ExportMetalIOSurfaceInfoEXT {
7431 pub s_type: StructureType,
7432 pub next: *const c_void,
7433 pub image: Image,
7434 pub io_surface: IOSurfaceRef,
7435}
7436
7437impl Default for ExportMetalIOSurfaceInfoEXT {
7438 #[inline]
7439 fn default() -> Self {
7440 Self {
7441 s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
7442 next: ptr::null(),
7443 image: Image::default(),
7444 io_surface: ptr::null_mut(),
7445 }
7446 }
7447}
7448
7449unsafe impl Send for ExportMetalIOSurfaceInfoEXT {}
7450unsafe impl Sync for ExportMetalIOSurfaceInfoEXT {}
7451
7452#[repr(C)]
7454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7455pub struct ExportMetalObjectCreateInfoEXT {
7456 pub s_type: StructureType,
7457 pub next: *const c_void,
7458 pub export_object_type: ExportMetalObjectTypeFlagsEXT,
7459}
7460
7461impl Default for ExportMetalObjectCreateInfoEXT {
7462 #[inline]
7463 fn default() -> Self {
7464 Self {
7465 s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
7466 next: ptr::null(),
7467 export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
7468 }
7469 }
7470}
7471
7472unsafe impl Send for ExportMetalObjectCreateInfoEXT {}
7473unsafe impl Sync for ExportMetalObjectCreateInfoEXT {}
7474
7475#[repr(C)]
7477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7478pub struct ExportMetalObjectsInfoEXT {
7479 pub s_type: StructureType,
7480 pub next: *const c_void,
7481}
7482
7483impl Default for ExportMetalObjectsInfoEXT {
7484 #[inline]
7485 fn default() -> Self {
7486 Self {
7487 s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
7488 next: ptr::null(),
7489 }
7490 }
7491}
7492
7493unsafe impl Send for ExportMetalObjectsInfoEXT {}
7494unsafe impl Sync for ExportMetalObjectsInfoEXT {}
7495
7496#[repr(C)]
7498#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7499pub struct ExportMetalSharedEventInfoEXT {
7500 pub s_type: StructureType,
7501 pub next: *const c_void,
7502 pub semaphore: Semaphore,
7503 pub event: Event,
7504 pub mtl_shared_event: MTLSharedEvent_id,
7505}
7506
7507impl Default for ExportMetalSharedEventInfoEXT {
7508 #[inline]
7509 fn default() -> Self {
7510 Self {
7511 s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
7512 next: ptr::null(),
7513 semaphore: Semaphore::default(),
7514 event: Event::default(),
7515 mtl_shared_event: ptr::null_mut(),
7516 }
7517 }
7518}
7519
7520unsafe impl Send for ExportMetalSharedEventInfoEXT {}
7521unsafe impl Sync for ExportMetalSharedEventInfoEXT {}
7522
7523#[repr(C)]
7525#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7526pub struct ExportMetalTextureInfoEXT {
7527 pub s_type: StructureType,
7528 pub next: *const c_void,
7529 pub image: Image,
7530 pub image_view: ImageView,
7531 pub buffer_view: BufferView,
7532 pub plane: ImageAspectFlags,
7533 pub mtl_texture: MTLTexture_id,
7534}
7535
7536impl Default for ExportMetalTextureInfoEXT {
7537 #[inline]
7538 fn default() -> Self {
7539 Self {
7540 s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
7541 next: ptr::null(),
7542 image: Image::default(),
7543 image_view: ImageView::default(),
7544 buffer_view: BufferView::default(),
7545 plane: ImageAspectFlags::default(),
7546 mtl_texture: ptr::null_mut(),
7547 }
7548 }
7549}
7550
7551unsafe impl Send for ExportMetalTextureInfoEXT {}
7552unsafe impl Sync for ExportMetalTextureInfoEXT {}
7553
7554#[repr(C)]
7556#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7557pub struct ExportSemaphoreCreateInfo {
7558 pub s_type: StructureType,
7559 pub next: *const c_void,
7560 pub handle_types: ExternalSemaphoreHandleTypeFlags,
7561}
7562
7563impl Default for ExportSemaphoreCreateInfo {
7564 #[inline]
7565 fn default() -> Self {
7566 Self {
7567 s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
7568 next: ptr::null(),
7569 handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7570 }
7571 }
7572}
7573
7574unsafe impl Send for ExportSemaphoreCreateInfo {}
7575unsafe impl Sync for ExportSemaphoreCreateInfo {}
7576
7577#[repr(C)]
7579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7580pub struct ExportSemaphoreSciSyncInfoNV {
7581 pub s_type: StructureType,
7582 pub next: *const c_void,
7583 pub attributes: NvSciSyncAttrList,
7584}
7585
7586impl Default for ExportSemaphoreSciSyncInfoNV {
7587 #[inline]
7588 fn default() -> Self {
7589 Self {
7590 s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
7591 next: ptr::null(),
7592 attributes: ptr::null_mut(),
7593 }
7594 }
7595}
7596
7597unsafe impl Send for ExportSemaphoreSciSyncInfoNV {}
7598unsafe impl Sync for ExportSemaphoreSciSyncInfoNV {}
7599
7600#[repr(C)]
7602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7603pub struct ExportSemaphoreWin32HandleInfoKHR {
7604 pub s_type: StructureType,
7605 pub next: *const c_void,
7606 pub attributes: *const SECURITY_ATTRIBUTES,
7607 pub dw_access: DWORD,
7608 pub name: LPCWSTR,
7609}
7610
7611impl Default for ExportSemaphoreWin32HandleInfoKHR {
7612 #[inline]
7613 fn default() -> Self {
7614 Self {
7615 s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
7616 next: ptr::null(),
7617 attributes: ptr::null(),
7618 dw_access: DWORD::default(),
7619 name: ptr::null_mut(),
7620 }
7621 }
7622}
7623
7624unsafe impl Send for ExportSemaphoreWin32HandleInfoKHR {}
7625unsafe impl Sync for ExportSemaphoreWin32HandleInfoKHR {}
7626
7627#[repr(C)]
7629#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7630pub struct ExtensionProperties {
7631 pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
7632 pub spec_version: u32,
7633}
7634
7635#[repr(C)]
7637#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7638pub struct Extent2D {
7639 pub width: u32,
7640 pub height: u32,
7641}
7642
7643#[repr(C)]
7645#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7646pub struct Extent3D {
7647 pub width: u32,
7648 pub height: u32,
7649 pub depth: u32,
7650}
7651
7652#[repr(C)]
7654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7655pub struct ExternalBufferProperties {
7656 pub s_type: StructureType,
7657 pub next: *mut c_void,
7658 pub external_memory_properties: ExternalMemoryProperties,
7659}
7660
7661impl Default for ExternalBufferProperties {
7662 #[inline]
7663 fn default() -> Self {
7664 Self {
7665 s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
7666 next: ptr::null_mut(),
7667 external_memory_properties: ExternalMemoryProperties::default(),
7668 }
7669 }
7670}
7671
7672unsafe impl Send for ExternalBufferProperties {}
7673unsafe impl Sync for ExternalBufferProperties {}
7674
7675#[repr(C)]
7677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7678pub struct ExternalComputeQueueCreateInfoNV {
7679 pub s_type: StructureType,
7680 pub next: *const c_void,
7681 pub preferred_queue: Queue,
7682}
7683
7684impl Default for ExternalComputeQueueCreateInfoNV {
7685 #[inline]
7686 fn default() -> Self {
7687 Self {
7688 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
7689 next: ptr::null(),
7690 preferred_queue: Queue::default(),
7691 }
7692 }
7693}
7694
7695unsafe impl Send for ExternalComputeQueueCreateInfoNV {}
7696unsafe impl Sync for ExternalComputeQueueCreateInfoNV {}
7697
7698#[repr(C)]
7700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7701pub struct ExternalComputeQueueDataParamsNV {
7702 pub s_type: StructureType,
7703 pub next: *const c_void,
7704 pub device_index: u32,
7705}
7706
7707impl Default for ExternalComputeQueueDataParamsNV {
7708 #[inline]
7709 fn default() -> Self {
7710 Self {
7711 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
7712 next: ptr::null(),
7713 device_index: u32::default(),
7714 }
7715 }
7716}
7717
7718unsafe impl Send for ExternalComputeQueueDataParamsNV {}
7719unsafe impl Sync for ExternalComputeQueueDataParamsNV {}
7720
7721#[repr(C)]
7723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7724pub struct ExternalComputeQueueDeviceCreateInfoNV {
7725 pub s_type: StructureType,
7726 pub next: *const c_void,
7727 pub reserved_external_queues: u32,
7728}
7729
7730impl Default for ExternalComputeQueueDeviceCreateInfoNV {
7731 #[inline]
7732 fn default() -> Self {
7733 Self {
7734 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
7735 next: ptr::null(),
7736 reserved_external_queues: u32::default(),
7737 }
7738 }
7739}
7740
7741unsafe impl Send for ExternalComputeQueueDeviceCreateInfoNV {}
7742unsafe impl Sync for ExternalComputeQueueDeviceCreateInfoNV {}
7743
7744#[repr(C)]
7746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7747pub struct ExternalFenceProperties {
7748 pub s_type: StructureType,
7749 pub next: *mut c_void,
7750 pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
7751 pub compatible_handle_types: ExternalFenceHandleTypeFlags,
7752 pub external_fence_features: ExternalFenceFeatureFlags,
7753}
7754
7755impl Default for ExternalFenceProperties {
7756 #[inline]
7757 fn default() -> Self {
7758 Self {
7759 s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
7760 next: ptr::null_mut(),
7761 export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
7762 compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
7763 external_fence_features: ExternalFenceFeatureFlags::default(),
7764 }
7765 }
7766}
7767
7768unsafe impl Send for ExternalFenceProperties {}
7769unsafe impl Sync for ExternalFenceProperties {}
7770
7771#[repr(C)]
7773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7774pub struct ExternalFormatANDROID {
7775 pub s_type: StructureType,
7776 pub next: *mut c_void,
7777 pub external_format: u64,
7778}
7779
7780impl Default for ExternalFormatANDROID {
7781 #[inline]
7782 fn default() -> Self {
7783 Self {
7784 s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
7785 next: ptr::null_mut(),
7786 external_format: u64::default(),
7787 }
7788 }
7789}
7790
7791unsafe impl Send for ExternalFormatANDROID {}
7792unsafe impl Sync for ExternalFormatANDROID {}
7793
7794#[repr(C)]
7796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7797pub struct ExternalFormatOHOS {
7798 pub s_type: StructureType,
7799 pub next: *mut c_void,
7800 pub external_format: u64,
7801}
7802
7803impl Default for ExternalFormatOHOS {
7804 #[inline]
7805 fn default() -> Self {
7806 Self {
7807 s_type: StructureType::EXTERNAL_FORMAT_OHOS,
7808 next: ptr::null_mut(),
7809 external_format: u64::default(),
7810 }
7811 }
7812}
7813
7814unsafe impl Send for ExternalFormatOHOS {}
7815unsafe impl Sync for ExternalFormatOHOS {}
7816
7817#[repr(C)]
7819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7820pub struct ExternalFormatQNX {
7821 pub s_type: StructureType,
7822 pub next: *mut c_void,
7823 pub external_format: u64,
7824}
7825
7826impl Default for ExternalFormatQNX {
7827 #[inline]
7828 fn default() -> Self {
7829 Self {
7830 s_type: StructureType::EXTERNAL_FORMAT_QNX,
7831 next: ptr::null_mut(),
7832 external_format: u64::default(),
7833 }
7834 }
7835}
7836
7837unsafe impl Send for ExternalFormatQNX {}
7838unsafe impl Sync for ExternalFormatQNX {}
7839
7840#[repr(C)]
7842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7843pub struct ExternalImageFormatProperties {
7844 pub s_type: StructureType,
7845 pub next: *mut c_void,
7846 pub external_memory_properties: ExternalMemoryProperties,
7847}
7848
7849impl Default for ExternalImageFormatProperties {
7850 #[inline]
7851 fn default() -> Self {
7852 Self {
7853 s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
7854 next: ptr::null_mut(),
7855 external_memory_properties: ExternalMemoryProperties::default(),
7856 }
7857 }
7858}
7859
7860unsafe impl Send for ExternalImageFormatProperties {}
7861unsafe impl Sync for ExternalImageFormatProperties {}
7862
7863#[repr(C)]
7865#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7866pub struct ExternalImageFormatPropertiesNV {
7867 pub image_format_properties: ImageFormatProperties,
7868 pub external_memory_features: ExternalMemoryFeatureFlagsNV,
7869 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
7870 pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
7871}
7872
7873#[repr(C)]
7875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7876pub struct ExternalMemoryAcquireUnmodifiedEXT {
7877 pub s_type: StructureType,
7878 pub next: *const c_void,
7879 pub acquire_unmodified_memory: Bool32,
7880}
7881
7882impl Default for ExternalMemoryAcquireUnmodifiedEXT {
7883 #[inline]
7884 fn default() -> Self {
7885 Self {
7886 s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
7887 next: ptr::null(),
7888 acquire_unmodified_memory: Bool32::default(),
7889 }
7890 }
7891}
7892
7893unsafe impl Send for ExternalMemoryAcquireUnmodifiedEXT {}
7894unsafe impl Sync for ExternalMemoryAcquireUnmodifiedEXT {}
7895
7896#[repr(C)]
7898#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7899pub struct ExternalMemoryBufferCreateInfo {
7900 pub s_type: StructureType,
7901 pub next: *const c_void,
7902 pub handle_types: ExternalMemoryHandleTypeFlags,
7903}
7904
7905impl Default for ExternalMemoryBufferCreateInfo {
7906 #[inline]
7907 fn default() -> Self {
7908 Self {
7909 s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
7910 next: ptr::null(),
7911 handle_types: ExternalMemoryHandleTypeFlags::default(),
7912 }
7913 }
7914}
7915
7916unsafe impl Send for ExternalMemoryBufferCreateInfo {}
7917unsafe impl Sync for ExternalMemoryBufferCreateInfo {}
7918
7919#[repr(C)]
7921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7922pub struct ExternalMemoryImageCreateInfo {
7923 pub s_type: StructureType,
7924 pub next: *const c_void,
7925 pub handle_types: ExternalMemoryHandleTypeFlags,
7926}
7927
7928impl Default for ExternalMemoryImageCreateInfo {
7929 #[inline]
7930 fn default() -> Self {
7931 Self {
7932 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
7933 next: ptr::null(),
7934 handle_types: ExternalMemoryHandleTypeFlags::default(),
7935 }
7936 }
7937}
7938
7939unsafe impl Send for ExternalMemoryImageCreateInfo {}
7940unsafe impl Sync for ExternalMemoryImageCreateInfo {}
7941
7942#[repr(C)]
7944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7945pub struct ExternalMemoryImageCreateInfoNV {
7946 pub s_type: StructureType,
7947 pub next: *const c_void,
7948 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7949}
7950
7951impl Default for ExternalMemoryImageCreateInfoNV {
7952 #[inline]
7953 fn default() -> Self {
7954 Self {
7955 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
7956 next: ptr::null(),
7957 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7958 }
7959 }
7960}
7961
7962unsafe impl Send for ExternalMemoryImageCreateInfoNV {}
7963unsafe impl Sync for ExternalMemoryImageCreateInfoNV {}
7964
7965#[repr(C)]
7967#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7968pub struct ExternalMemoryProperties {
7969 pub external_memory_features: ExternalMemoryFeatureFlags,
7970 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
7971 pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
7972}
7973
7974#[repr(C)]
7976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7977pub struct ExternalMemoryTensorCreateInfoARM {
7978 pub s_type: StructureType,
7979 pub next: *const c_void,
7980 pub handle_types: ExternalMemoryHandleTypeFlags,
7981}
7982
7983impl Default for ExternalMemoryTensorCreateInfoARM {
7984 #[inline]
7985 fn default() -> Self {
7986 Self {
7987 s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
7988 next: ptr::null(),
7989 handle_types: ExternalMemoryHandleTypeFlags::default(),
7990 }
7991 }
7992}
7993
7994unsafe impl Send for ExternalMemoryTensorCreateInfoARM {}
7995unsafe impl Sync for ExternalMemoryTensorCreateInfoARM {}
7996
7997#[repr(C)]
7999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8000pub struct ExternalSemaphoreProperties {
8001 pub s_type: StructureType,
8002 pub next: *mut c_void,
8003 pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
8004 pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
8005 pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
8006}
8007
8008impl Default for ExternalSemaphoreProperties {
8009 #[inline]
8010 fn default() -> Self {
8011 Self {
8012 s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
8013 next: ptr::null_mut(),
8014 export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8015 compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8016 external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
8017 }
8018 }
8019}
8020
8021unsafe impl Send for ExternalSemaphoreProperties {}
8022unsafe impl Sync for ExternalSemaphoreProperties {}
8023
8024#[repr(C)]
8026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8027pub struct ExternalTensorPropertiesARM {
8028 pub s_type: StructureType,
8029 pub next: *const c_void,
8030 pub external_memory_properties: ExternalMemoryProperties,
8031}
8032
8033impl Default for ExternalTensorPropertiesARM {
8034 #[inline]
8035 fn default() -> Self {
8036 Self {
8037 s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
8038 next: ptr::null(),
8039 external_memory_properties: ExternalMemoryProperties::default(),
8040 }
8041 }
8042}
8043
8044unsafe impl Send for ExternalTensorPropertiesARM {}
8045unsafe impl Sync for ExternalTensorPropertiesARM {}
8046
8047#[repr(C)]
8049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8050pub struct FenceCreateInfo {
8051 pub s_type: StructureType,
8052 pub next: *const c_void,
8053 pub flags: FenceCreateFlags,
8054}
8055
8056impl Default for FenceCreateInfo {
8057 #[inline]
8058 fn default() -> Self {
8059 Self {
8060 s_type: StructureType::FENCE_CREATE_INFO,
8061 next: ptr::null(),
8062 flags: FenceCreateFlags::default(),
8063 }
8064 }
8065}
8066
8067unsafe impl Send for FenceCreateInfo {}
8068unsafe impl Sync for FenceCreateInfo {}
8069
8070#[repr(C)]
8072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8073pub struct FenceGetFdInfoKHR {
8074 pub s_type: StructureType,
8075 pub next: *const c_void,
8076 pub fence: Fence,
8077 pub handle_type: ExternalFenceHandleTypeFlags,
8078}
8079
8080impl Default for FenceGetFdInfoKHR {
8081 #[inline]
8082 fn default() -> Self {
8083 Self {
8084 s_type: StructureType::FENCE_GET_FD_INFO_KHR,
8085 next: ptr::null(),
8086 fence: Fence::default(),
8087 handle_type: ExternalFenceHandleTypeFlags::default(),
8088 }
8089 }
8090}
8091
8092unsafe impl Send for FenceGetFdInfoKHR {}
8093unsafe impl Sync for FenceGetFdInfoKHR {}
8094
8095#[repr(C)]
8097#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8098pub struct FenceGetSciSyncInfoNV {
8099 pub s_type: StructureType,
8100 pub next: *const c_void,
8101 pub fence: Fence,
8102 pub handle_type: ExternalFenceHandleTypeFlags,
8103}
8104
8105impl Default for FenceGetSciSyncInfoNV {
8106 #[inline]
8107 fn default() -> Self {
8108 Self {
8109 s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
8110 next: ptr::null(),
8111 fence: Fence::default(),
8112 handle_type: ExternalFenceHandleTypeFlags::default(),
8113 }
8114 }
8115}
8116
8117unsafe impl Send for FenceGetSciSyncInfoNV {}
8118unsafe impl Sync for FenceGetSciSyncInfoNV {}
8119
8120#[repr(C)]
8122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8123pub struct FenceGetWin32HandleInfoKHR {
8124 pub s_type: StructureType,
8125 pub next: *const c_void,
8126 pub fence: Fence,
8127 pub handle_type: ExternalFenceHandleTypeFlags,
8128}
8129
8130impl Default for FenceGetWin32HandleInfoKHR {
8131 #[inline]
8132 fn default() -> Self {
8133 Self {
8134 s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
8135 next: ptr::null(),
8136 fence: Fence::default(),
8137 handle_type: ExternalFenceHandleTypeFlags::default(),
8138 }
8139 }
8140}
8141
8142unsafe impl Send for FenceGetWin32HandleInfoKHR {}
8143unsafe impl Sync for FenceGetWin32HandleInfoKHR {}
8144
8145#[repr(C)]
8147#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8148pub struct FilterCubicImageViewImageFormatPropertiesEXT {
8149 pub s_type: StructureType,
8150 pub next: *mut c_void,
8151 pub filter_cubic: Bool32,
8152 pub filter_cubic_minmax: Bool32,
8153}
8154
8155impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
8156 #[inline]
8157 fn default() -> Self {
8158 Self {
8159 s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
8160 next: ptr::null_mut(),
8161 filter_cubic: Bool32::default(),
8162 filter_cubic_minmax: Bool32::default(),
8163 }
8164 }
8165}
8166
8167unsafe impl Send for FilterCubicImageViewImageFormatPropertiesEXT {}
8168unsafe impl Sync for FilterCubicImageViewImageFormatPropertiesEXT {}
8169
8170#[repr(C)]
8172#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8173pub struct FormatProperties {
8174 pub linear_tiling_features: FormatFeatureFlags,
8175 pub optimal_tiling_features: FormatFeatureFlags,
8176 pub buffer_features: FormatFeatureFlags,
8177}
8178
8179#[repr(C)]
8181#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8182pub struct FormatProperties2 {
8183 pub s_type: StructureType,
8184 pub next: *mut c_void,
8185 pub format_properties: FormatProperties,
8186}
8187
8188impl Default for FormatProperties2 {
8189 #[inline]
8190 fn default() -> Self {
8191 Self {
8192 s_type: StructureType::FORMAT_PROPERTIES_2,
8193 next: ptr::null_mut(),
8194 format_properties: FormatProperties::default(),
8195 }
8196 }
8197}
8198
8199unsafe impl Send for FormatProperties2 {}
8200unsafe impl Sync for FormatProperties2 {}
8201
8202#[repr(C)]
8204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8205pub struct FormatProperties3 {
8206 pub s_type: StructureType,
8207 pub next: *mut c_void,
8208 pub linear_tiling_features: FormatFeatureFlags2,
8209 pub optimal_tiling_features: FormatFeatureFlags2,
8210 pub buffer_features: FormatFeatureFlags2,
8211}
8212
8213impl Default for FormatProperties3 {
8214 #[inline]
8215 fn default() -> Self {
8216 Self {
8217 s_type: StructureType::FORMAT_PROPERTIES_3,
8218 next: ptr::null_mut(),
8219 linear_tiling_features: FormatFeatureFlags2::default(),
8220 optimal_tiling_features: FormatFeatureFlags2::default(),
8221 buffer_features: FormatFeatureFlags2::default(),
8222 }
8223 }
8224}
8225
8226unsafe impl Send for FormatProperties3 {}
8227unsafe impl Sync for FormatProperties3 {}
8228
8229#[repr(C)]
8231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8232pub struct FragmentShadingRateAttachmentInfoKHR {
8233 pub s_type: StructureType,
8234 pub next: *const c_void,
8235 pub fragment_shading_rate_attachment: *const AttachmentReference2,
8236 pub shading_rate_attachment_texel_size: Extent2D,
8237}
8238
8239impl Default for FragmentShadingRateAttachmentInfoKHR {
8240 #[inline]
8241 fn default() -> Self {
8242 Self {
8243 s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
8244 next: ptr::null(),
8245 fragment_shading_rate_attachment: ptr::null(),
8246 shading_rate_attachment_texel_size: Extent2D::default(),
8247 }
8248 }
8249}
8250
8251unsafe impl Send for FragmentShadingRateAttachmentInfoKHR {}
8252unsafe impl Sync for FragmentShadingRateAttachmentInfoKHR {}
8253
8254#[repr(C)]
8256#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8257pub struct FrameBoundaryEXT {
8258 pub s_type: StructureType,
8259 pub next: *const c_void,
8260 pub flags: FrameBoundaryFlagsEXT,
8261 pub frame_id: u64,
8262 pub image_count: u32,
8263 pub images: *const Image,
8264 pub buffer_count: u32,
8265 pub buffers: *const Buffer,
8266 pub tag_name: u64,
8267 pub tag_size: usize,
8268 pub tag: *const c_void,
8269}
8270
8271impl Default for FrameBoundaryEXT {
8272 #[inline]
8273 fn default() -> Self {
8274 Self {
8275 s_type: StructureType::FRAME_BOUNDARY_EXT,
8276 next: ptr::null(),
8277 flags: FrameBoundaryFlagsEXT::default(),
8278 frame_id: u64::default(),
8279 image_count: u32::default(),
8280 images: ptr::null(),
8281 buffer_count: u32::default(),
8282 buffers: ptr::null(),
8283 tag_name: u64::default(),
8284 tag_size: usize::default(),
8285 tag: ptr::null(),
8286 }
8287 }
8288}
8289
8290unsafe impl Send for FrameBoundaryEXT {}
8291unsafe impl Sync for FrameBoundaryEXT {}
8292
8293#[repr(C)]
8295#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8296pub struct FrameBoundaryTensorsARM {
8297 pub s_type: StructureType,
8298 pub next: *const c_void,
8299 pub tensor_count: u32,
8300 pub tensors: *const TensorARM,
8301}
8302
8303impl Default for FrameBoundaryTensorsARM {
8304 #[inline]
8305 fn default() -> Self {
8306 Self {
8307 s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
8308 next: ptr::null(),
8309 tensor_count: u32::default(),
8310 tensors: ptr::null(),
8311 }
8312 }
8313}
8314
8315unsafe impl Send for FrameBoundaryTensorsARM {}
8316unsafe impl Sync for FrameBoundaryTensorsARM {}
8317
8318#[repr(C)]
8320#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8321pub struct FramebufferAttachmentImageInfo {
8322 pub s_type: StructureType,
8323 pub next: *const c_void,
8324 pub flags: ImageCreateFlags,
8325 pub usage: ImageUsageFlags,
8326 pub width: u32,
8327 pub height: u32,
8328 pub layer_count: u32,
8329 pub view_format_count: u32,
8330 pub view_formats: *const Format,
8331}
8332
8333impl Default for FramebufferAttachmentImageInfo {
8334 #[inline]
8335 fn default() -> Self {
8336 Self {
8337 s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
8338 next: ptr::null(),
8339 flags: ImageCreateFlags::default(),
8340 usage: ImageUsageFlags::default(),
8341 width: u32::default(),
8342 height: u32::default(),
8343 layer_count: u32::default(),
8344 view_format_count: u32::default(),
8345 view_formats: ptr::null(),
8346 }
8347 }
8348}
8349
8350unsafe impl Send for FramebufferAttachmentImageInfo {}
8351unsafe impl Sync for FramebufferAttachmentImageInfo {}
8352
8353#[repr(C)]
8355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8356pub struct FramebufferAttachmentsCreateInfo {
8357 pub s_type: StructureType,
8358 pub next: *const c_void,
8359 pub attachment_image_info_count: u32,
8360 pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
8361}
8362
8363impl Default for FramebufferAttachmentsCreateInfo {
8364 #[inline]
8365 fn default() -> Self {
8366 Self {
8367 s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
8368 next: ptr::null(),
8369 attachment_image_info_count: u32::default(),
8370 attachment_image_infos: ptr::null(),
8371 }
8372 }
8373}
8374
8375unsafe impl Send for FramebufferAttachmentsCreateInfo {}
8376unsafe impl Sync for FramebufferAttachmentsCreateInfo {}
8377
8378#[repr(C)]
8380#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8381pub struct FramebufferCreateInfo {
8382 pub s_type: StructureType,
8383 pub next: *const c_void,
8384 pub flags: FramebufferCreateFlags,
8385 pub render_pass: RenderPass,
8386 pub attachment_count: u32,
8387 pub attachments: *const ImageView,
8388 pub width: u32,
8389 pub height: u32,
8390 pub layers: u32,
8391}
8392
8393impl Default for FramebufferCreateInfo {
8394 #[inline]
8395 fn default() -> Self {
8396 Self {
8397 s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
8398 next: ptr::null(),
8399 flags: FramebufferCreateFlags::default(),
8400 render_pass: RenderPass::default(),
8401 attachment_count: u32::default(),
8402 attachments: ptr::null(),
8403 width: u32::default(),
8404 height: u32::default(),
8405 layers: u32::default(),
8406 }
8407 }
8408}
8409
8410unsafe impl Send for FramebufferCreateInfo {}
8411unsafe impl Sync for FramebufferCreateInfo {}
8412
8413#[repr(C)]
8415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8416pub struct FramebufferMixedSamplesCombinationNV {
8417 pub s_type: StructureType,
8418 pub next: *mut c_void,
8419 pub coverage_reduction_mode: CoverageReductionModeNV,
8420 pub rasterization_samples: SampleCountFlags,
8421 pub depth_stencil_samples: SampleCountFlags,
8422 pub color_samples: SampleCountFlags,
8423}
8424
8425impl Default for FramebufferMixedSamplesCombinationNV {
8426 #[inline]
8427 fn default() -> Self {
8428 Self {
8429 s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
8430 next: ptr::null_mut(),
8431 coverage_reduction_mode: CoverageReductionModeNV::default(),
8432 rasterization_samples: SampleCountFlags::default(),
8433 depth_stencil_samples: SampleCountFlags::default(),
8434 color_samples: SampleCountFlags::default(),
8435 }
8436 }
8437}
8438
8439unsafe impl Send for FramebufferMixedSamplesCombinationNV {}
8440unsafe impl Sync for FramebufferMixedSamplesCombinationNV {}
8441
8442#[repr(C)]
8444#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8445pub struct GeneratedCommandsInfoEXT {
8446 pub s_type: StructureType,
8447 pub next: *const c_void,
8448 pub shader_stages: ShaderStageFlags,
8449 pub indirect_execution_set: IndirectExecutionSetEXT,
8450 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8451 pub indirect_address: DeviceAddress,
8452 pub indirect_address_size: DeviceSize,
8453 pub preprocess_address: DeviceAddress,
8454 pub preprocess_size: DeviceSize,
8455 pub max_sequence_count: u32,
8456 pub sequence_count_address: DeviceAddress,
8457 pub max_draw_count: u32,
8458}
8459
8460impl Default for GeneratedCommandsInfoEXT {
8461 #[inline]
8462 fn default() -> Self {
8463 Self {
8464 s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
8465 next: ptr::null(),
8466 shader_stages: ShaderStageFlags::default(),
8467 indirect_execution_set: IndirectExecutionSetEXT::default(),
8468 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8469 indirect_address: DeviceAddress::default(),
8470 indirect_address_size: DeviceSize::default(),
8471 preprocess_address: DeviceAddress::default(),
8472 preprocess_size: DeviceSize::default(),
8473 max_sequence_count: u32::default(),
8474 sequence_count_address: DeviceAddress::default(),
8475 max_draw_count: u32::default(),
8476 }
8477 }
8478}
8479
8480unsafe impl Send for GeneratedCommandsInfoEXT {}
8481unsafe impl Sync for GeneratedCommandsInfoEXT {}
8482
8483#[repr(C)]
8485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8486pub struct GeneratedCommandsInfoNV {
8487 pub s_type: StructureType,
8488 pub next: *const c_void,
8489 pub pipeline_bind_point: PipelineBindPoint,
8490 pub pipeline: Pipeline,
8491 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8492 pub stream_count: u32,
8493 pub streams: *const IndirectCommandsStreamNV,
8494 pub sequences_count: u32,
8495 pub preprocess_buffer: Buffer,
8496 pub preprocess_offset: DeviceSize,
8497 pub preprocess_size: DeviceSize,
8498 pub sequences_count_buffer: Buffer,
8499 pub sequences_count_offset: DeviceSize,
8500 pub sequences_index_buffer: Buffer,
8501 pub sequences_index_offset: DeviceSize,
8502}
8503
8504impl Default for GeneratedCommandsInfoNV {
8505 #[inline]
8506 fn default() -> Self {
8507 Self {
8508 s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
8509 next: ptr::null(),
8510 pipeline_bind_point: PipelineBindPoint::default(),
8511 pipeline: Pipeline::default(),
8512 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8513 stream_count: u32::default(),
8514 streams: ptr::null(),
8515 sequences_count: u32::default(),
8516 preprocess_buffer: Buffer::default(),
8517 preprocess_offset: DeviceSize::default(),
8518 preprocess_size: DeviceSize::default(),
8519 sequences_count_buffer: Buffer::default(),
8520 sequences_count_offset: DeviceSize::default(),
8521 sequences_index_buffer: Buffer::default(),
8522 sequences_index_offset: DeviceSize::default(),
8523 }
8524 }
8525}
8526
8527unsafe impl Send for GeneratedCommandsInfoNV {}
8528unsafe impl Sync for GeneratedCommandsInfoNV {}
8529
8530#[repr(C)]
8532#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8533pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
8534 pub s_type: StructureType,
8535 pub next: *const c_void,
8536 pub indirect_execution_set: IndirectExecutionSetEXT,
8537 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8538 pub max_sequence_count: u32,
8539 pub max_draw_count: u32,
8540}
8541
8542impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
8543 #[inline]
8544 fn default() -> Self {
8545 Self {
8546 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
8547 next: ptr::null(),
8548 indirect_execution_set: IndirectExecutionSetEXT::default(),
8549 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8550 max_sequence_count: u32::default(),
8551 max_draw_count: u32::default(),
8552 }
8553 }
8554}
8555
8556unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoEXT {}
8557unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoEXT {}
8558
8559#[repr(C)]
8561#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8562pub struct GeneratedCommandsMemoryRequirementsInfoNV {
8563 pub s_type: StructureType,
8564 pub next: *const c_void,
8565 pub pipeline_bind_point: PipelineBindPoint,
8566 pub pipeline: Pipeline,
8567 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8568 pub max_sequences_count: u32,
8569}
8570
8571impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
8572 #[inline]
8573 fn default() -> Self {
8574 Self {
8575 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
8576 next: ptr::null(),
8577 pipeline_bind_point: PipelineBindPoint::default(),
8578 pipeline: Pipeline::default(),
8579 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8580 max_sequences_count: u32::default(),
8581 }
8582 }
8583}
8584
8585unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoNV {}
8586unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoNV {}
8587
8588#[repr(C)]
8590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8591pub struct GeneratedCommandsPipelineInfoEXT {
8592 pub s_type: StructureType,
8593 pub next: *mut c_void,
8594 pub pipeline: Pipeline,
8595}
8596
8597impl Default for GeneratedCommandsPipelineInfoEXT {
8598 #[inline]
8599 fn default() -> Self {
8600 Self {
8601 s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
8602 next: ptr::null_mut(),
8603 pipeline: Pipeline::default(),
8604 }
8605 }
8606}
8607
8608unsafe impl Send for GeneratedCommandsPipelineInfoEXT {}
8609unsafe impl Sync for GeneratedCommandsPipelineInfoEXT {}
8610
8611#[repr(C)]
8613#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8614pub struct GeneratedCommandsShaderInfoEXT {
8615 pub s_type: StructureType,
8616 pub next: *mut c_void,
8617 pub shader_count: u32,
8618 pub shaders: *const ShaderEXT,
8619}
8620
8621impl Default for GeneratedCommandsShaderInfoEXT {
8622 #[inline]
8623 fn default() -> Self {
8624 Self {
8625 s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
8626 next: ptr::null_mut(),
8627 shader_count: u32::default(),
8628 shaders: ptr::null(),
8629 }
8630 }
8631}
8632
8633unsafe impl Send for GeneratedCommandsShaderInfoEXT {}
8634unsafe impl Sync for GeneratedCommandsShaderInfoEXT {}
8635
8636#[repr(C)]
8638#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8639pub struct GeometryAABBNV {
8640 pub s_type: StructureType,
8641 pub next: *const c_void,
8642 pub aabb_data: Buffer,
8643 pub num_aab_bs: u32,
8644 pub stride: u32,
8645 pub offset: DeviceSize,
8646}
8647
8648impl Default for GeometryAABBNV {
8649 #[inline]
8650 fn default() -> Self {
8651 Self {
8652 s_type: StructureType::GEOMETRY_AABB_NV,
8653 next: ptr::null(),
8654 aabb_data: Buffer::default(),
8655 num_aab_bs: u32::default(),
8656 stride: u32::default(),
8657 offset: DeviceSize::default(),
8658 }
8659 }
8660}
8661
8662unsafe impl Send for GeometryAABBNV {}
8663unsafe impl Sync for GeometryAABBNV {}
8664
8665#[repr(C)]
8667#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8668pub struct GeometryDataNV {
8669 pub triangles: GeometryTrianglesNV,
8670 pub aabbs: GeometryAABBNV,
8671}
8672
8673#[repr(C)]
8675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8676pub struct GeometryNV {
8677 pub s_type: StructureType,
8678 pub next: *const c_void,
8679 pub geometry_type: GeometryTypeKHR,
8680 pub geometry: GeometryDataNV,
8681 pub flags: GeometryFlagsKHR,
8682}
8683
8684impl Default for GeometryNV {
8685 #[inline]
8686 fn default() -> Self {
8687 Self {
8688 s_type: StructureType::GEOMETRY_NV,
8689 next: ptr::null(),
8690 geometry_type: GeometryTypeKHR::default(),
8691 geometry: GeometryDataNV::default(),
8692 flags: GeometryFlagsKHR::default(),
8693 }
8694 }
8695}
8696
8697unsafe impl Send for GeometryNV {}
8698unsafe impl Sync for GeometryNV {}
8699
8700#[repr(C)]
8702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8703pub struct GeometryTrianglesNV {
8704 pub s_type: StructureType,
8705 pub next: *const c_void,
8706 pub vertex_data: Buffer,
8707 pub vertex_offset: DeviceSize,
8708 pub vertex_count: u32,
8709 pub vertex_stride: DeviceSize,
8710 pub vertex_format: Format,
8711 pub index_data: Buffer,
8712 pub index_offset: DeviceSize,
8713 pub index_count: u32,
8714 pub index_type: IndexType,
8715 pub transform_data: Buffer,
8716 pub transform_offset: DeviceSize,
8717}
8718
8719impl Default for GeometryTrianglesNV {
8720 #[inline]
8721 fn default() -> Self {
8722 Self {
8723 s_type: StructureType::GEOMETRY_TRIANGLES_NV,
8724 next: ptr::null(),
8725 vertex_data: Buffer::default(),
8726 vertex_offset: DeviceSize::default(),
8727 vertex_count: u32::default(),
8728 vertex_stride: DeviceSize::default(),
8729 vertex_format: Format::default(),
8730 index_data: Buffer::default(),
8731 index_offset: DeviceSize::default(),
8732 index_count: u32::default(),
8733 index_type: IndexType::default(),
8734 transform_data: Buffer::default(),
8735 transform_offset: DeviceSize::default(),
8736 }
8737 }
8738}
8739
8740unsafe impl Send for GeometryTrianglesNV {}
8741unsafe impl Sync for GeometryTrianglesNV {}
8742
8743#[repr(C)]
8745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8746pub struct GetLatencyMarkerInfoNV {
8747 pub s_type: StructureType,
8748 pub next: *const c_void,
8749 pub timing_count: u32,
8750 pub timings: *mut LatencyTimingsFrameReportNV,
8751}
8752
8753impl Default for GetLatencyMarkerInfoNV {
8754 #[inline]
8755 fn default() -> Self {
8756 Self {
8757 s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
8758 next: ptr::null(),
8759 timing_count: u32::default(),
8760 timings: ptr::null_mut(),
8761 }
8762 }
8763}
8764
8765unsafe impl Send for GetLatencyMarkerInfoNV {}
8766unsafe impl Sync for GetLatencyMarkerInfoNV {}
8767
8768#[repr(C)]
8770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8771pub struct GraphicsPipelineCreateInfo {
8772 pub s_type: StructureType,
8773 pub next: *const c_void,
8774 pub flags: PipelineCreateFlags,
8775 pub stage_count: u32,
8776 pub stages: *const PipelineShaderStageCreateInfo,
8777 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8778 pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
8779 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8780 pub viewport_state: *const PipelineViewportStateCreateInfo,
8781 pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
8782 pub multisample_state: *const PipelineMultisampleStateCreateInfo,
8783 pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
8784 pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
8785 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
8786 pub layout: PipelineLayout,
8787 pub render_pass: RenderPass,
8788 pub subpass: u32,
8789 pub base_pipeline_handle: Pipeline,
8790 pub base_pipeline_index: i32,
8791}
8792
8793impl Default for GraphicsPipelineCreateInfo {
8794 #[inline]
8795 fn default() -> Self {
8796 Self {
8797 s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
8798 next: ptr::null(),
8799 flags: PipelineCreateFlags::default(),
8800 stage_count: u32::default(),
8801 stages: ptr::null(),
8802 vertex_input_state: ptr::null(),
8803 input_assembly_state: ptr::null(),
8804 tessellation_state: ptr::null(),
8805 viewport_state: ptr::null(),
8806 rasterization_state: ptr::null(),
8807 multisample_state: ptr::null(),
8808 depth_stencil_state: ptr::null(),
8809 color_blend_state: ptr::null(),
8810 dynamic_state: ptr::null(),
8811 layout: PipelineLayout::default(),
8812 render_pass: RenderPass::default(),
8813 subpass: u32::default(),
8814 base_pipeline_handle: Pipeline::default(),
8815 base_pipeline_index: i32::default(),
8816 }
8817 }
8818}
8819
8820unsafe impl Send for GraphicsPipelineCreateInfo {}
8821unsafe impl Sync for GraphicsPipelineCreateInfo {}
8822
8823#[repr(C)]
8825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8826pub struct GraphicsPipelineLibraryCreateInfoEXT {
8827 pub s_type: StructureType,
8828 pub next: *const c_void,
8829 pub flags: GraphicsPipelineLibraryFlagsEXT,
8830}
8831
8832impl Default for GraphicsPipelineLibraryCreateInfoEXT {
8833 #[inline]
8834 fn default() -> Self {
8835 Self {
8836 s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
8837 next: ptr::null(),
8838 flags: GraphicsPipelineLibraryFlagsEXT::default(),
8839 }
8840 }
8841}
8842
8843unsafe impl Send for GraphicsPipelineLibraryCreateInfoEXT {}
8844unsafe impl Sync for GraphicsPipelineLibraryCreateInfoEXT {}
8845
8846#[repr(C)]
8848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8849pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
8850 pub s_type: StructureType,
8851 pub next: *const c_void,
8852 pub group_count: u32,
8853 pub groups: *const GraphicsShaderGroupCreateInfoNV,
8854 pub pipeline_count: u32,
8855 pub pipelines: *const Pipeline,
8856}
8857
8858impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
8859 #[inline]
8860 fn default() -> Self {
8861 Self {
8862 s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
8863 next: ptr::null(),
8864 group_count: u32::default(),
8865 groups: ptr::null(),
8866 pipeline_count: u32::default(),
8867 pipelines: ptr::null(),
8868 }
8869 }
8870}
8871
8872unsafe impl Send for GraphicsPipelineShaderGroupsCreateInfoNV {}
8873unsafe impl Sync for GraphicsPipelineShaderGroupsCreateInfoNV {}
8874
8875#[repr(C)]
8877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8878pub struct GraphicsShaderGroupCreateInfoNV {
8879 pub s_type: StructureType,
8880 pub next: *const c_void,
8881 pub stage_count: u32,
8882 pub stages: *const PipelineShaderStageCreateInfo,
8883 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8884 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8885}
8886
8887impl Default for GraphicsShaderGroupCreateInfoNV {
8888 #[inline]
8889 fn default() -> Self {
8890 Self {
8891 s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
8892 next: ptr::null(),
8893 stage_count: u32::default(),
8894 stages: ptr::null(),
8895 vertex_input_state: ptr::null(),
8896 tessellation_state: ptr::null(),
8897 }
8898 }
8899}
8900
8901unsafe impl Send for GraphicsShaderGroupCreateInfoNV {}
8902unsafe impl Sync for GraphicsShaderGroupCreateInfoNV {}
8903
8904#[repr(C)]
8906#[derive(Copy, Clone, Debug, PartialEq)]
8907pub struct HdrMetadataEXT {
8908 pub s_type: StructureType,
8909 pub next: *const c_void,
8910 pub display_primary_red: XYColorEXT,
8911 pub display_primary_green: XYColorEXT,
8912 pub display_primary_blue: XYColorEXT,
8913 pub white_point: XYColorEXT,
8914 pub max_luminance: f32,
8915 pub min_luminance: f32,
8916 pub max_content_light_level: f32,
8917 pub max_frame_average_light_level: f32,
8918}
8919
8920impl Default for HdrMetadataEXT {
8921 #[inline]
8922 fn default() -> Self {
8923 Self {
8924 s_type: StructureType::HDR_METADATA_EXT,
8925 next: ptr::null(),
8926 display_primary_red: XYColorEXT::default(),
8927 display_primary_green: XYColorEXT::default(),
8928 display_primary_blue: XYColorEXT::default(),
8929 white_point: XYColorEXT::default(),
8930 max_luminance: f32::default(),
8931 min_luminance: f32::default(),
8932 max_content_light_level: f32::default(),
8933 max_frame_average_light_level: f32::default(),
8934 }
8935 }
8936}
8937
8938unsafe impl Send for HdrMetadataEXT {}
8939unsafe impl Sync for HdrMetadataEXT {}
8940
8941#[repr(C)]
8943#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8944pub struct HdrVividDynamicMetadataHUAWEI {
8945 pub s_type: StructureType,
8946 pub next: *const c_void,
8947 pub dynamic_metadata_size: usize,
8948 pub dynamic_metadata: *const c_void,
8949}
8950
8951impl Default for HdrVividDynamicMetadataHUAWEI {
8952 #[inline]
8953 fn default() -> Self {
8954 Self {
8955 s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
8956 next: ptr::null(),
8957 dynamic_metadata_size: usize::default(),
8958 dynamic_metadata: ptr::null(),
8959 }
8960 }
8961}
8962
8963unsafe impl Send for HdrVividDynamicMetadataHUAWEI {}
8964unsafe impl Sync for HdrVividDynamicMetadataHUAWEI {}
8965
8966#[repr(C)]
8968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8969pub struct HeadlessSurfaceCreateInfoEXT {
8970 pub s_type: StructureType,
8971 pub next: *const c_void,
8972 pub flags: HeadlessSurfaceCreateFlagsEXT,
8973}
8974
8975impl Default for HeadlessSurfaceCreateInfoEXT {
8976 #[inline]
8977 fn default() -> Self {
8978 Self {
8979 s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
8980 next: ptr::null(),
8981 flags: HeadlessSurfaceCreateFlagsEXT::default(),
8982 }
8983 }
8984}
8985
8986unsafe impl Send for HeadlessSurfaceCreateInfoEXT {}
8987unsafe impl Sync for HeadlessSurfaceCreateInfoEXT {}
8988
8989#[repr(C)]
8991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8992pub struct HostImageCopyDevicePerformanceQuery {
8993 pub s_type: StructureType,
8994 pub next: *mut c_void,
8995 pub optimal_device_access: Bool32,
8996 pub identical_memory_layout: Bool32,
8997}
8998
8999impl Default for HostImageCopyDevicePerformanceQuery {
9000 #[inline]
9001 fn default() -> Self {
9002 Self {
9003 s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
9004 next: ptr::null_mut(),
9005 optimal_device_access: Bool32::default(),
9006 identical_memory_layout: Bool32::default(),
9007 }
9008 }
9009}
9010
9011unsafe impl Send for HostImageCopyDevicePerformanceQuery {}
9012unsafe impl Sync for HostImageCopyDevicePerformanceQuery {}
9013
9014#[repr(C)]
9016#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9017pub struct HostImageLayoutTransitionInfo {
9018 pub s_type: StructureType,
9019 pub next: *const c_void,
9020 pub image: Image,
9021 pub old_layout: ImageLayout,
9022 pub new_layout: ImageLayout,
9023 pub subresource_range: ImageSubresourceRange,
9024}
9025
9026impl Default for HostImageLayoutTransitionInfo {
9027 #[inline]
9028 fn default() -> Self {
9029 Self {
9030 s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
9031 next: ptr::null(),
9032 image: Image::default(),
9033 old_layout: ImageLayout::default(),
9034 new_layout: ImageLayout::default(),
9035 subresource_range: ImageSubresourceRange::default(),
9036 }
9037 }
9038}
9039
9040unsafe impl Send for HostImageLayoutTransitionInfo {}
9041unsafe impl Sync for HostImageLayoutTransitionInfo {}
9042
9043#[repr(C)]
9045#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9046pub struct IOSSurfaceCreateInfoMVK {
9047 pub s_type: StructureType,
9048 pub next: *const c_void,
9049 pub flags: IOSSurfaceCreateFlagsMVK,
9050 pub view: *const c_void,
9051}
9052
9053impl Default for IOSSurfaceCreateInfoMVK {
9054 #[inline]
9055 fn default() -> Self {
9056 Self {
9057 s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
9058 next: ptr::null(),
9059 flags: IOSSurfaceCreateFlagsMVK::default(),
9060 view: ptr::null(),
9061 }
9062 }
9063}
9064
9065unsafe impl Send for IOSSurfaceCreateInfoMVK {}
9066unsafe impl Sync for IOSSurfaceCreateInfoMVK {}
9067
9068#[repr(C)]
9070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9071pub struct ImageAlignmentControlCreateInfoMESA {
9072 pub s_type: StructureType,
9073 pub next: *const c_void,
9074 pub maximum_requested_alignment: u32,
9075}
9076
9077impl Default for ImageAlignmentControlCreateInfoMESA {
9078 #[inline]
9079 fn default() -> Self {
9080 Self {
9081 s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
9082 next: ptr::null(),
9083 maximum_requested_alignment: u32::default(),
9084 }
9085 }
9086}
9087
9088unsafe impl Send for ImageAlignmentControlCreateInfoMESA {}
9089unsafe impl Sync for ImageAlignmentControlCreateInfoMESA {}
9090
9091#[repr(C)]
9093#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9094pub struct ImageBlit {
9095 pub src_subresource: ImageSubresourceLayers,
9096 pub src_offsets: [Offset3D; 2],
9097 pub dst_subresource: ImageSubresourceLayers,
9098 pub dst_offsets: [Offset3D; 2],
9099}
9100
9101#[repr(C)]
9103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9104pub struct ImageBlit2 {
9105 pub s_type: StructureType,
9106 pub next: *const c_void,
9107 pub src_subresource: ImageSubresourceLayers,
9108 pub src_offsets: [Offset3D; 2],
9109 pub dst_subresource: ImageSubresourceLayers,
9110 pub dst_offsets: [Offset3D; 2],
9111}
9112
9113impl Default for ImageBlit2 {
9114 #[inline]
9115 fn default() -> Self {
9116 Self {
9117 s_type: StructureType::IMAGE_BLIT_2,
9118 next: ptr::null(),
9119 src_subresource: ImageSubresourceLayers::default(),
9120 src_offsets: [Offset3D::default(); 2],
9121 dst_subresource: ImageSubresourceLayers::default(),
9122 dst_offsets: [Offset3D::default(); 2],
9123 }
9124 }
9125}
9126
9127unsafe impl Send for ImageBlit2 {}
9128unsafe impl Sync for ImageBlit2 {}
9129
9130#[repr(C)]
9132#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9133pub struct ImageCaptureDescriptorDataInfoEXT {
9134 pub s_type: StructureType,
9135 pub next: *const c_void,
9136 pub image: Image,
9137}
9138
9139impl Default for ImageCaptureDescriptorDataInfoEXT {
9140 #[inline]
9141 fn default() -> Self {
9142 Self {
9143 s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9144 next: ptr::null(),
9145 image: Image::default(),
9146 }
9147 }
9148}
9149
9150unsafe impl Send for ImageCaptureDescriptorDataInfoEXT {}
9151unsafe impl Sync for ImageCaptureDescriptorDataInfoEXT {}
9152
9153#[repr(C)]
9155#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9156pub struct ImageCompressionControlEXT {
9157 pub s_type: StructureType,
9158 pub next: *const c_void,
9159 pub flags: ImageCompressionFlagsEXT,
9160 pub compression_control_plane_count: u32,
9161 pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
9162}
9163
9164impl Default for ImageCompressionControlEXT {
9165 #[inline]
9166 fn default() -> Self {
9167 Self {
9168 s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
9169 next: ptr::null(),
9170 flags: ImageCompressionFlagsEXT::default(),
9171 compression_control_plane_count: u32::default(),
9172 fixed_rate_flags: ptr::null_mut(),
9173 }
9174 }
9175}
9176
9177unsafe impl Send for ImageCompressionControlEXT {}
9178unsafe impl Sync for ImageCompressionControlEXT {}
9179
9180#[repr(C)]
9182#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9183pub struct ImageCompressionPropertiesEXT {
9184 pub s_type: StructureType,
9185 pub next: *mut c_void,
9186 pub image_compression_flags: ImageCompressionFlagsEXT,
9187 pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
9188}
9189
9190impl Default for ImageCompressionPropertiesEXT {
9191 #[inline]
9192 fn default() -> Self {
9193 Self {
9194 s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
9195 next: ptr::null_mut(),
9196 image_compression_flags: ImageCompressionFlagsEXT::default(),
9197 image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
9198 }
9199 }
9200}
9201
9202unsafe impl Send for ImageCompressionPropertiesEXT {}
9203unsafe impl Sync for ImageCompressionPropertiesEXT {}
9204
9205#[repr(C)]
9207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9208pub struct ImageConstraintsInfoFUCHSIA {
9209 pub s_type: StructureType,
9210 pub next: *const c_void,
9211 pub format_constraints_count: u32,
9212 pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
9213 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
9214 pub flags: ImageConstraintsInfoFlagsFUCHSIA,
9215}
9216
9217impl Default for ImageConstraintsInfoFUCHSIA {
9218 #[inline]
9219 fn default() -> Self {
9220 Self {
9221 s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
9222 next: ptr::null(),
9223 format_constraints_count: u32::default(),
9224 format_constraints: ptr::null(),
9225 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
9226 flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
9227 }
9228 }
9229}
9230
9231unsafe impl Send for ImageConstraintsInfoFUCHSIA {}
9232unsafe impl Sync for ImageConstraintsInfoFUCHSIA {}
9233
9234#[repr(C)]
9236#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9237pub struct ImageCopy {
9238 pub src_subresource: ImageSubresourceLayers,
9239 pub src_offset: Offset3D,
9240 pub dst_subresource: ImageSubresourceLayers,
9241 pub dst_offset: Offset3D,
9242 pub extent: Extent3D,
9243}
9244
9245#[repr(C)]
9247#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9248pub struct ImageCopy2 {
9249 pub s_type: StructureType,
9250 pub next: *const c_void,
9251 pub src_subresource: ImageSubresourceLayers,
9252 pub src_offset: Offset3D,
9253 pub dst_subresource: ImageSubresourceLayers,
9254 pub dst_offset: Offset3D,
9255 pub extent: Extent3D,
9256}
9257
9258impl Default for ImageCopy2 {
9259 #[inline]
9260 fn default() -> Self {
9261 Self {
9262 s_type: StructureType::IMAGE_COPY_2,
9263 next: ptr::null(),
9264 src_subresource: ImageSubresourceLayers::default(),
9265 src_offset: Offset3D::default(),
9266 dst_subresource: ImageSubresourceLayers::default(),
9267 dst_offset: Offset3D::default(),
9268 extent: Extent3D::default(),
9269 }
9270 }
9271}
9272
9273unsafe impl Send for ImageCopy2 {}
9274unsafe impl Sync for ImageCopy2 {}
9275
9276#[repr(C)]
9278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9279pub struct ImageCreateInfo {
9280 pub s_type: StructureType,
9281 pub next: *const c_void,
9282 pub flags: ImageCreateFlags,
9283 pub image_type: ImageType,
9284 pub format: Format,
9285 pub extent: Extent3D,
9286 pub mip_levels: u32,
9287 pub array_layers: u32,
9288 pub samples: SampleCountFlags,
9289 pub tiling: ImageTiling,
9290 pub usage: ImageUsageFlags,
9291 pub sharing_mode: SharingMode,
9292 pub queue_family_index_count: u32,
9293 pub queue_family_indices: *const u32,
9294 pub initial_layout: ImageLayout,
9295}
9296
9297impl Default for ImageCreateInfo {
9298 #[inline]
9299 fn default() -> Self {
9300 Self {
9301 s_type: StructureType::IMAGE_CREATE_INFO,
9302 next: ptr::null(),
9303 flags: ImageCreateFlags::default(),
9304 image_type: ImageType::default(),
9305 format: Format::default(),
9306 extent: Extent3D::default(),
9307 mip_levels: u32::default(),
9308 array_layers: u32::default(),
9309 samples: SampleCountFlags::default(),
9310 tiling: ImageTiling::default(),
9311 usage: ImageUsageFlags::default(),
9312 sharing_mode: SharingMode::default(),
9313 queue_family_index_count: u32::default(),
9314 queue_family_indices: ptr::null(),
9315 initial_layout: ImageLayout::default(),
9316 }
9317 }
9318}
9319
9320unsafe impl Send for ImageCreateInfo {}
9321unsafe impl Sync for ImageCreateInfo {}
9322
9323#[repr(C)]
9325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9326pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
9327 pub s_type: StructureType,
9328 pub next: *const c_void,
9329 pub drm_format_modifier: u64,
9330 pub drm_format_modifier_plane_count: u32,
9331 pub plane_layouts: *const SubresourceLayout,
9332}
9333
9334impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
9335 #[inline]
9336 fn default() -> Self {
9337 Self {
9338 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
9339 next: ptr::null(),
9340 drm_format_modifier: u64::default(),
9341 drm_format_modifier_plane_count: u32::default(),
9342 plane_layouts: ptr::null(),
9343 }
9344 }
9345}
9346
9347unsafe impl Send for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9348unsafe impl Sync for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9349
9350#[repr(C)]
9352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9353pub struct ImageDrmFormatModifierListCreateInfoEXT {
9354 pub s_type: StructureType,
9355 pub next: *const c_void,
9356 pub drm_format_modifier_count: u32,
9357 pub drm_format_modifiers: *const u64,
9358}
9359
9360impl Default for ImageDrmFormatModifierListCreateInfoEXT {
9361 #[inline]
9362 fn default() -> Self {
9363 Self {
9364 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
9365 next: ptr::null(),
9366 drm_format_modifier_count: u32::default(),
9367 drm_format_modifiers: ptr::null(),
9368 }
9369 }
9370}
9371
9372unsafe impl Send for ImageDrmFormatModifierListCreateInfoEXT {}
9373unsafe impl Sync for ImageDrmFormatModifierListCreateInfoEXT {}
9374
9375#[repr(C)]
9377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9378pub struct ImageDrmFormatModifierPropertiesEXT {
9379 pub s_type: StructureType,
9380 pub next: *mut c_void,
9381 pub drm_format_modifier: u64,
9382}
9383
9384impl Default for ImageDrmFormatModifierPropertiesEXT {
9385 #[inline]
9386 fn default() -> Self {
9387 Self {
9388 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
9389 next: ptr::null_mut(),
9390 drm_format_modifier: u64::default(),
9391 }
9392 }
9393}
9394
9395unsafe impl Send for ImageDrmFormatModifierPropertiesEXT {}
9396unsafe impl Sync for ImageDrmFormatModifierPropertiesEXT {}
9397
9398#[repr(C)]
9400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9401pub struct ImageFormatConstraintsInfoFUCHSIA {
9402 pub s_type: StructureType,
9403 pub next: *const c_void,
9404 pub image_create_info: ImageCreateInfo,
9405 pub required_format_features: FormatFeatureFlags,
9406 pub flags: ImageFormatConstraintsFlagsFUCHSIA,
9407 pub sysmem_pixel_format: u64,
9408 pub color_space_count: u32,
9409 pub color_spaces: *const SysmemColorSpaceFUCHSIA,
9410}
9411
9412impl Default for ImageFormatConstraintsInfoFUCHSIA {
9413 #[inline]
9414 fn default() -> Self {
9415 Self {
9416 s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
9417 next: ptr::null(),
9418 image_create_info: ImageCreateInfo::default(),
9419 required_format_features: FormatFeatureFlags::default(),
9420 flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
9421 sysmem_pixel_format: u64::default(),
9422 color_space_count: u32::default(),
9423 color_spaces: ptr::null(),
9424 }
9425 }
9426}
9427
9428unsafe impl Send for ImageFormatConstraintsInfoFUCHSIA {}
9429unsafe impl Sync for ImageFormatConstraintsInfoFUCHSIA {}
9430
9431#[repr(C)]
9433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9434pub struct ImageFormatListCreateInfo {
9435 pub s_type: StructureType,
9436 pub next: *const c_void,
9437 pub view_format_count: u32,
9438 pub view_formats: *const Format,
9439}
9440
9441impl Default for ImageFormatListCreateInfo {
9442 #[inline]
9443 fn default() -> Self {
9444 Self {
9445 s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
9446 next: ptr::null(),
9447 view_format_count: u32::default(),
9448 view_formats: ptr::null(),
9449 }
9450 }
9451}
9452
9453unsafe impl Send for ImageFormatListCreateInfo {}
9454unsafe impl Sync for ImageFormatListCreateInfo {}
9455
9456#[repr(C)]
9458#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9459pub struct ImageFormatProperties {
9460 pub max_extent: Extent3D,
9461 pub max_mip_levels: u32,
9462 pub max_array_layers: u32,
9463 pub sample_counts: SampleCountFlags,
9464 pub max_resource_size: DeviceSize,
9465}
9466
9467#[repr(C)]
9469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9470pub struct ImageFormatProperties2 {
9471 pub s_type: StructureType,
9472 pub next: *mut c_void,
9473 pub image_format_properties: ImageFormatProperties,
9474}
9475
9476impl Default for ImageFormatProperties2 {
9477 #[inline]
9478 fn default() -> Self {
9479 Self {
9480 s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
9481 next: ptr::null_mut(),
9482 image_format_properties: ImageFormatProperties::default(),
9483 }
9484 }
9485}
9486
9487unsafe impl Send for ImageFormatProperties2 {}
9488unsafe impl Sync for ImageFormatProperties2 {}
9489
9490#[repr(C)]
9492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9493pub struct ImageMemoryBarrier {
9494 pub s_type: StructureType,
9495 pub next: *const c_void,
9496 pub src_access_mask: AccessFlags,
9497 pub dst_access_mask: AccessFlags,
9498 pub old_layout: ImageLayout,
9499 pub new_layout: ImageLayout,
9500 pub src_queue_family_index: u32,
9501 pub dst_queue_family_index: u32,
9502 pub image: Image,
9503 pub subresource_range: ImageSubresourceRange,
9504}
9505
9506impl Default for ImageMemoryBarrier {
9507 #[inline]
9508 fn default() -> Self {
9509 Self {
9510 s_type: StructureType::IMAGE_MEMORY_BARRIER,
9511 next: ptr::null(),
9512 src_access_mask: AccessFlags::default(),
9513 dst_access_mask: AccessFlags::default(),
9514 old_layout: ImageLayout::default(),
9515 new_layout: ImageLayout::default(),
9516 src_queue_family_index: u32::default(),
9517 dst_queue_family_index: u32::default(),
9518 image: Image::default(),
9519 subresource_range: ImageSubresourceRange::default(),
9520 }
9521 }
9522}
9523
9524unsafe impl Send for ImageMemoryBarrier {}
9525unsafe impl Sync for ImageMemoryBarrier {}
9526
9527#[repr(C)]
9529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9530pub struct ImageMemoryBarrier2 {
9531 pub s_type: StructureType,
9532 pub next: *const c_void,
9533 pub src_stage_mask: PipelineStageFlags2,
9534 pub src_access_mask: AccessFlags2,
9535 pub dst_stage_mask: PipelineStageFlags2,
9536 pub dst_access_mask: AccessFlags2,
9537 pub old_layout: ImageLayout,
9538 pub new_layout: ImageLayout,
9539 pub src_queue_family_index: u32,
9540 pub dst_queue_family_index: u32,
9541 pub image: Image,
9542 pub subresource_range: ImageSubresourceRange,
9543}
9544
9545impl Default for ImageMemoryBarrier2 {
9546 #[inline]
9547 fn default() -> Self {
9548 Self {
9549 s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
9550 next: ptr::null(),
9551 src_stage_mask: PipelineStageFlags2::default(),
9552 src_access_mask: AccessFlags2::default(),
9553 dst_stage_mask: PipelineStageFlags2::default(),
9554 dst_access_mask: AccessFlags2::default(),
9555 old_layout: ImageLayout::default(),
9556 new_layout: ImageLayout::default(),
9557 src_queue_family_index: u32::default(),
9558 dst_queue_family_index: u32::default(),
9559 image: Image::default(),
9560 subresource_range: ImageSubresourceRange::default(),
9561 }
9562 }
9563}
9564
9565unsafe impl Send for ImageMemoryBarrier2 {}
9566unsafe impl Sync for ImageMemoryBarrier2 {}
9567
9568#[repr(C)]
9570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9571pub struct ImageMemoryRequirementsInfo2 {
9572 pub s_type: StructureType,
9573 pub next: *const c_void,
9574 pub image: Image,
9575}
9576
9577impl Default for ImageMemoryRequirementsInfo2 {
9578 #[inline]
9579 fn default() -> Self {
9580 Self {
9581 s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
9582 next: ptr::null(),
9583 image: Image::default(),
9584 }
9585 }
9586}
9587
9588unsafe impl Send for ImageMemoryRequirementsInfo2 {}
9589unsafe impl Sync for ImageMemoryRequirementsInfo2 {}
9590
9591#[repr(C)]
9593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9594pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
9595 pub s_type: StructureType,
9596 pub next: *const c_void,
9597 pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
9598 pub image_pipe_handle: zx_handle_t,
9599}
9600
9601impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
9602 #[inline]
9603 fn default() -> Self {
9604 Self {
9605 s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
9606 next: ptr::null(),
9607 flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
9608 image_pipe_handle: zx_handle_t::default(),
9609 }
9610 }
9611}
9612
9613unsafe impl Send for ImagePipeSurfaceCreateInfoFUCHSIA {}
9614unsafe impl Sync for ImagePipeSurfaceCreateInfoFUCHSIA {}
9615
9616#[repr(C)]
9618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9619pub struct ImagePlaneMemoryRequirementsInfo {
9620 pub s_type: StructureType,
9621 pub next: *const c_void,
9622 pub plane_aspect: ImageAspectFlags,
9623}
9624
9625impl Default for ImagePlaneMemoryRequirementsInfo {
9626 #[inline]
9627 fn default() -> Self {
9628 Self {
9629 s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
9630 next: ptr::null(),
9631 plane_aspect: ImageAspectFlags::default(),
9632 }
9633 }
9634}
9635
9636unsafe impl Send for ImagePlaneMemoryRequirementsInfo {}
9637unsafe impl Sync for ImagePlaneMemoryRequirementsInfo {}
9638
9639#[repr(C)]
9641#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9642pub struct ImageResolve {
9643 pub src_subresource: ImageSubresourceLayers,
9644 pub src_offset: Offset3D,
9645 pub dst_subresource: ImageSubresourceLayers,
9646 pub dst_offset: Offset3D,
9647 pub extent: Extent3D,
9648}
9649
9650#[repr(C)]
9652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9653pub struct ImageResolve2 {
9654 pub s_type: StructureType,
9655 pub next: *const c_void,
9656 pub src_subresource: ImageSubresourceLayers,
9657 pub src_offset: Offset3D,
9658 pub dst_subresource: ImageSubresourceLayers,
9659 pub dst_offset: Offset3D,
9660 pub extent: Extent3D,
9661}
9662
9663impl Default for ImageResolve2 {
9664 #[inline]
9665 fn default() -> Self {
9666 Self {
9667 s_type: StructureType::IMAGE_RESOLVE_2,
9668 next: ptr::null(),
9669 src_subresource: ImageSubresourceLayers::default(),
9670 src_offset: Offset3D::default(),
9671 dst_subresource: ImageSubresourceLayers::default(),
9672 dst_offset: Offset3D::default(),
9673 extent: Extent3D::default(),
9674 }
9675 }
9676}
9677
9678unsafe impl Send for ImageResolve2 {}
9679unsafe impl Sync for ImageResolve2 {}
9680
9681#[repr(C)]
9683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9684pub struct ImageSparseMemoryRequirementsInfo2 {
9685 pub s_type: StructureType,
9686 pub next: *const c_void,
9687 pub image: Image,
9688}
9689
9690impl Default for ImageSparseMemoryRequirementsInfo2 {
9691 #[inline]
9692 fn default() -> Self {
9693 Self {
9694 s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
9695 next: ptr::null(),
9696 image: Image::default(),
9697 }
9698 }
9699}
9700
9701unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {}
9702unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {}
9703
9704#[repr(C)]
9706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9707pub struct ImageStencilUsageCreateInfo {
9708 pub s_type: StructureType,
9709 pub next: *const c_void,
9710 pub stencil_usage: ImageUsageFlags,
9711}
9712
9713impl Default for ImageStencilUsageCreateInfo {
9714 #[inline]
9715 fn default() -> Self {
9716 Self {
9717 s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
9718 next: ptr::null(),
9719 stencil_usage: ImageUsageFlags::default(),
9720 }
9721 }
9722}
9723
9724unsafe impl Send for ImageStencilUsageCreateInfo {}
9725unsafe impl Sync for ImageStencilUsageCreateInfo {}
9726
9727#[repr(C)]
9729#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9730pub struct ImageSubresource {
9731 pub aspect_mask: ImageAspectFlags,
9732 pub mip_level: u32,
9733 pub array_layer: u32,
9734}
9735
9736#[repr(C)]
9738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9739pub struct ImageSubresource2 {
9740 pub s_type: StructureType,
9741 pub next: *mut c_void,
9742 pub image_subresource: ImageSubresource,
9743}
9744
9745impl Default for ImageSubresource2 {
9746 #[inline]
9747 fn default() -> Self {
9748 Self {
9749 s_type: StructureType::IMAGE_SUBRESOURCE_2,
9750 next: ptr::null_mut(),
9751 image_subresource: ImageSubresource::default(),
9752 }
9753 }
9754}
9755
9756unsafe impl Send for ImageSubresource2 {}
9757unsafe impl Sync for ImageSubresource2 {}
9758
9759#[repr(C)]
9761#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9762pub struct ImageSubresourceLayers {
9763 pub aspect_mask: ImageAspectFlags,
9764 pub mip_level: u32,
9765 pub base_array_layer: u32,
9766 pub layer_count: u32,
9767}
9768
9769#[repr(C)]
9771#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9772pub struct ImageSubresourceRange {
9773 pub aspect_mask: ImageAspectFlags,
9774 pub base_mip_level: u32,
9775 pub level_count: u32,
9776 pub base_array_layer: u32,
9777 pub layer_count: u32,
9778}
9779
9780#[repr(C)]
9782#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9783pub struct ImageSwapchainCreateInfoKHR {
9784 pub s_type: StructureType,
9785 pub next: *const c_void,
9786 pub swapchain: SwapchainKHR,
9787}
9788
9789impl Default for ImageSwapchainCreateInfoKHR {
9790 #[inline]
9791 fn default() -> Self {
9792 Self {
9793 s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
9794 next: ptr::null(),
9795 swapchain: SwapchainKHR::default(),
9796 }
9797 }
9798}
9799
9800unsafe impl Send for ImageSwapchainCreateInfoKHR {}
9801unsafe impl Sync for ImageSwapchainCreateInfoKHR {}
9802
9803#[repr(C)]
9805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9806pub struct ImageToMemoryCopy {
9807 pub s_type: StructureType,
9808 pub next: *const c_void,
9809 pub host_pointer: *mut c_void,
9810 pub memory_row_length: u32,
9811 pub memory_image_height: u32,
9812 pub image_subresource: ImageSubresourceLayers,
9813 pub image_offset: Offset3D,
9814 pub image_extent: Extent3D,
9815}
9816
9817impl Default for ImageToMemoryCopy {
9818 #[inline]
9819 fn default() -> Self {
9820 Self {
9821 s_type: StructureType::IMAGE_TO_MEMORY_COPY,
9822 next: ptr::null(),
9823 host_pointer: ptr::null_mut(),
9824 memory_row_length: u32::default(),
9825 memory_image_height: u32::default(),
9826 image_subresource: ImageSubresourceLayers::default(),
9827 image_offset: Offset3D::default(),
9828 image_extent: Extent3D::default(),
9829 }
9830 }
9831}
9832
9833unsafe impl Send for ImageToMemoryCopy {}
9834unsafe impl Sync for ImageToMemoryCopy {}
9835
9836#[repr(C)]
9838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9839pub struct ImageViewASTCDecodeModeEXT {
9840 pub s_type: StructureType,
9841 pub next: *const c_void,
9842 pub decode_mode: Format,
9843}
9844
9845impl Default for ImageViewASTCDecodeModeEXT {
9846 #[inline]
9847 fn default() -> Self {
9848 Self {
9849 s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
9850 next: ptr::null(),
9851 decode_mode: Format::default(),
9852 }
9853 }
9854}
9855
9856unsafe impl Send for ImageViewASTCDecodeModeEXT {}
9857unsafe impl Sync for ImageViewASTCDecodeModeEXT {}
9858
9859#[repr(C)]
9861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9862pub struct ImageViewAddressPropertiesNVX {
9863 pub s_type: StructureType,
9864 pub next: *mut c_void,
9865 pub device_address: DeviceAddress,
9866 pub size: DeviceSize,
9867}
9868
9869impl Default for ImageViewAddressPropertiesNVX {
9870 #[inline]
9871 fn default() -> Self {
9872 Self {
9873 s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
9874 next: ptr::null_mut(),
9875 device_address: DeviceAddress::default(),
9876 size: DeviceSize::default(),
9877 }
9878 }
9879}
9880
9881unsafe impl Send for ImageViewAddressPropertiesNVX {}
9882unsafe impl Sync for ImageViewAddressPropertiesNVX {}
9883
9884#[repr(C)]
9886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9887pub struct ImageViewCaptureDescriptorDataInfoEXT {
9888 pub s_type: StructureType,
9889 pub next: *const c_void,
9890 pub image_view: ImageView,
9891}
9892
9893impl Default for ImageViewCaptureDescriptorDataInfoEXT {
9894 #[inline]
9895 fn default() -> Self {
9896 Self {
9897 s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9898 next: ptr::null(),
9899 image_view: ImageView::default(),
9900 }
9901 }
9902}
9903
9904unsafe impl Send for ImageViewCaptureDescriptorDataInfoEXT {}
9905unsafe impl Sync for ImageViewCaptureDescriptorDataInfoEXT {}
9906
9907#[repr(C)]
9909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9910pub struct ImageViewCreateInfo {
9911 pub s_type: StructureType,
9912 pub next: *const c_void,
9913 pub flags: ImageViewCreateFlags,
9914 pub image: Image,
9915 pub view_type: ImageViewType,
9916 pub format: Format,
9917 pub components: ComponentMapping,
9918 pub subresource_range: ImageSubresourceRange,
9919}
9920
9921impl Default for ImageViewCreateInfo {
9922 #[inline]
9923 fn default() -> Self {
9924 Self {
9925 s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
9926 next: ptr::null(),
9927 flags: ImageViewCreateFlags::default(),
9928 image: Image::default(),
9929 view_type: ImageViewType::default(),
9930 format: Format::default(),
9931 components: ComponentMapping::default(),
9932 subresource_range: ImageSubresourceRange::default(),
9933 }
9934 }
9935}
9936
9937unsafe impl Send for ImageViewCreateInfo {}
9938unsafe impl Sync for ImageViewCreateInfo {}
9939
9940#[repr(C)]
9942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9943pub struct ImageViewHandleInfoNVX {
9944 pub s_type: StructureType,
9945 pub next: *const c_void,
9946 pub image_view: ImageView,
9947 pub descriptor_type: DescriptorType,
9948 pub sampler: Sampler,
9949}
9950
9951impl Default for ImageViewHandleInfoNVX {
9952 #[inline]
9953 fn default() -> Self {
9954 Self {
9955 s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
9956 next: ptr::null(),
9957 image_view: ImageView::default(),
9958 descriptor_type: DescriptorType::default(),
9959 sampler: Sampler::default(),
9960 }
9961 }
9962}
9963
9964unsafe impl Send for ImageViewHandleInfoNVX {}
9965unsafe impl Sync for ImageViewHandleInfoNVX {}
9966
9967#[repr(C)]
9969#[derive(Copy, Clone, Debug, PartialEq)]
9970pub struct ImageViewMinLodCreateInfoEXT {
9971 pub s_type: StructureType,
9972 pub next: *const c_void,
9973 pub min_lod: f32,
9974}
9975
9976impl Default for ImageViewMinLodCreateInfoEXT {
9977 #[inline]
9978 fn default() -> Self {
9979 Self {
9980 s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
9981 next: ptr::null(),
9982 min_lod: f32::default(),
9983 }
9984 }
9985}
9986
9987unsafe impl Send for ImageViewMinLodCreateInfoEXT {}
9988unsafe impl Sync for ImageViewMinLodCreateInfoEXT {}
9989
9990#[repr(C)]
9992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9993pub struct ImageViewSampleWeightCreateInfoQCOM {
9994 pub s_type: StructureType,
9995 pub next: *const c_void,
9996 pub filter_center: Offset2D,
9997 pub filter_size: Extent2D,
9998 pub num_phases: u32,
9999}
10000
10001impl Default for ImageViewSampleWeightCreateInfoQCOM {
10002 #[inline]
10003 fn default() -> Self {
10004 Self {
10005 s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
10006 next: ptr::null(),
10007 filter_center: Offset2D::default(),
10008 filter_size: Extent2D::default(),
10009 num_phases: u32::default(),
10010 }
10011 }
10012}
10013
10014unsafe impl Send for ImageViewSampleWeightCreateInfoQCOM {}
10015unsafe impl Sync for ImageViewSampleWeightCreateInfoQCOM {}
10016
10017#[repr(C)]
10019#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10020pub struct ImageViewSlicedCreateInfoEXT {
10021 pub s_type: StructureType,
10022 pub next: *const c_void,
10023 pub slice_offset: u32,
10024 pub slice_count: u32,
10025}
10026
10027impl Default for ImageViewSlicedCreateInfoEXT {
10028 #[inline]
10029 fn default() -> Self {
10030 Self {
10031 s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
10032 next: ptr::null(),
10033 slice_offset: u32::default(),
10034 slice_count: u32::default(),
10035 }
10036 }
10037}
10038
10039unsafe impl Send for ImageViewSlicedCreateInfoEXT {}
10040unsafe impl Sync for ImageViewSlicedCreateInfoEXT {}
10041
10042#[repr(C)]
10044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10045pub struct ImageViewUsageCreateInfo {
10046 pub s_type: StructureType,
10047 pub next: *const c_void,
10048 pub usage: ImageUsageFlags,
10049}
10050
10051impl Default for ImageViewUsageCreateInfo {
10052 #[inline]
10053 fn default() -> Self {
10054 Self {
10055 s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
10056 next: ptr::null(),
10057 usage: ImageUsageFlags::default(),
10058 }
10059 }
10060}
10061
10062unsafe impl Send for ImageViewUsageCreateInfo {}
10063unsafe impl Sync for ImageViewUsageCreateInfo {}
10064
10065#[repr(C)]
10067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10068pub struct ImportAndroidHardwareBufferInfoANDROID {
10069 pub s_type: StructureType,
10070 pub next: *const c_void,
10071 pub buffer: *mut AHardwareBuffer,
10072}
10073
10074impl Default for ImportAndroidHardwareBufferInfoANDROID {
10075 #[inline]
10076 fn default() -> Self {
10077 Self {
10078 s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
10079 next: ptr::null(),
10080 buffer: ptr::null_mut(),
10081 }
10082 }
10083}
10084
10085unsafe impl Send for ImportAndroidHardwareBufferInfoANDROID {}
10086unsafe impl Sync for ImportAndroidHardwareBufferInfoANDROID {}
10087
10088#[repr(C)]
10090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10091pub struct ImportFenceFdInfoKHR {
10092 pub s_type: StructureType,
10093 pub next: *const c_void,
10094 pub fence: Fence,
10095 pub flags: FenceImportFlags,
10096 pub handle_type: ExternalFenceHandleTypeFlags,
10097 pub fd: c_int,
10098}
10099
10100impl Default for ImportFenceFdInfoKHR {
10101 #[inline]
10102 fn default() -> Self {
10103 Self {
10104 s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
10105 next: ptr::null(),
10106 fence: Fence::default(),
10107 flags: FenceImportFlags::default(),
10108 handle_type: ExternalFenceHandleTypeFlags::default(),
10109 fd: c_int::default(),
10110 }
10111 }
10112}
10113
10114unsafe impl Send for ImportFenceFdInfoKHR {}
10115unsafe impl Sync for ImportFenceFdInfoKHR {}
10116
10117#[repr(C)]
10119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10120pub struct ImportFenceSciSyncInfoNV {
10121 pub s_type: StructureType,
10122 pub next: *const c_void,
10123 pub fence: Fence,
10124 pub handle_type: ExternalFenceHandleTypeFlags,
10125 pub handle: *mut c_void,
10126}
10127
10128impl Default for ImportFenceSciSyncInfoNV {
10129 #[inline]
10130 fn default() -> Self {
10131 Self {
10132 s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
10133 next: ptr::null(),
10134 fence: Fence::default(),
10135 handle_type: ExternalFenceHandleTypeFlags::default(),
10136 handle: ptr::null_mut(),
10137 }
10138 }
10139}
10140
10141unsafe impl Send for ImportFenceSciSyncInfoNV {}
10142unsafe impl Sync for ImportFenceSciSyncInfoNV {}
10143
10144#[repr(C)]
10146#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10147pub struct ImportFenceWin32HandleInfoKHR {
10148 pub s_type: StructureType,
10149 pub next: *const c_void,
10150 pub fence: Fence,
10151 pub flags: FenceImportFlags,
10152 pub handle_type: ExternalFenceHandleTypeFlags,
10153 pub handle: HANDLE,
10154 pub name: LPCWSTR,
10155}
10156
10157impl Default for ImportFenceWin32HandleInfoKHR {
10158 #[inline]
10159 fn default() -> Self {
10160 Self {
10161 s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
10162 next: ptr::null(),
10163 fence: Fence::default(),
10164 flags: FenceImportFlags::default(),
10165 handle_type: ExternalFenceHandleTypeFlags::default(),
10166 handle: ptr::null_mut(),
10167 name: ptr::null_mut(),
10168 }
10169 }
10170}
10171
10172unsafe impl Send for ImportFenceWin32HandleInfoKHR {}
10173unsafe impl Sync for ImportFenceWin32HandleInfoKHR {}
10174
10175#[repr(C)]
10177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10178pub struct ImportMemoryBufferCollectionFUCHSIA {
10179 pub s_type: StructureType,
10180 pub next: *const c_void,
10181 pub collection: BufferCollectionFUCHSIA,
10182 pub index: u32,
10183}
10184
10185impl Default for ImportMemoryBufferCollectionFUCHSIA {
10186 #[inline]
10187 fn default() -> Self {
10188 Self {
10189 s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
10190 next: ptr::null(),
10191 collection: BufferCollectionFUCHSIA::default(),
10192 index: u32::default(),
10193 }
10194 }
10195}
10196
10197unsafe impl Send for ImportMemoryBufferCollectionFUCHSIA {}
10198unsafe impl Sync for ImportMemoryBufferCollectionFUCHSIA {}
10199
10200#[repr(C)]
10202#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10203pub struct ImportMemoryFdInfoKHR {
10204 pub s_type: StructureType,
10205 pub next: *const c_void,
10206 pub handle_type: ExternalMemoryHandleTypeFlags,
10207 pub fd: c_int,
10208}
10209
10210impl Default for ImportMemoryFdInfoKHR {
10211 #[inline]
10212 fn default() -> Self {
10213 Self {
10214 s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
10215 next: ptr::null(),
10216 handle_type: ExternalMemoryHandleTypeFlags::default(),
10217 fd: c_int::default(),
10218 }
10219 }
10220}
10221
10222unsafe impl Send for ImportMemoryFdInfoKHR {}
10223unsafe impl Sync for ImportMemoryFdInfoKHR {}
10224
10225#[repr(C)]
10227#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10228pub struct ImportMemoryHostPointerInfoEXT {
10229 pub s_type: StructureType,
10230 pub next: *const c_void,
10231 pub handle_type: ExternalMemoryHandleTypeFlags,
10232 pub host_pointer: *mut c_void,
10233}
10234
10235impl Default for ImportMemoryHostPointerInfoEXT {
10236 #[inline]
10237 fn default() -> Self {
10238 Self {
10239 s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
10240 next: ptr::null(),
10241 handle_type: ExternalMemoryHandleTypeFlags::default(),
10242 host_pointer: ptr::null_mut(),
10243 }
10244 }
10245}
10246
10247unsafe impl Send for ImportMemoryHostPointerInfoEXT {}
10248unsafe impl Sync for ImportMemoryHostPointerInfoEXT {}
10249
10250#[repr(C)]
10252#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10253pub struct ImportMemoryMetalHandleInfoEXT {
10254 pub s_type: StructureType,
10255 pub next: *const c_void,
10256 pub handle_type: ExternalMemoryHandleTypeFlags,
10257 pub handle: *mut c_void,
10258}
10259
10260impl Default for ImportMemoryMetalHandleInfoEXT {
10261 #[inline]
10262 fn default() -> Self {
10263 Self {
10264 s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
10265 next: ptr::null(),
10266 handle_type: ExternalMemoryHandleTypeFlags::default(),
10267 handle: ptr::null_mut(),
10268 }
10269 }
10270}
10271
10272unsafe impl Send for ImportMemoryMetalHandleInfoEXT {}
10273unsafe impl Sync for ImportMemoryMetalHandleInfoEXT {}
10274
10275#[repr(C)]
10277#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10278pub struct ImportMemorySciBufInfoNV {
10279 pub s_type: StructureType,
10280 pub next: *const c_void,
10281 pub handle_type: ExternalMemoryHandleTypeFlags,
10282 pub handle: NvSciBufObj,
10283}
10284
10285impl Default for ImportMemorySciBufInfoNV {
10286 #[inline]
10287 fn default() -> Self {
10288 Self {
10289 s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
10290 next: ptr::null(),
10291 handle_type: ExternalMemoryHandleTypeFlags::default(),
10292 handle: ptr::null_mut(),
10293 }
10294 }
10295}
10296
10297unsafe impl Send for ImportMemorySciBufInfoNV {}
10298unsafe impl Sync for ImportMemorySciBufInfoNV {}
10299
10300#[repr(C)]
10302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10303pub struct ImportMemoryWin32HandleInfoKHR {
10304 pub s_type: StructureType,
10305 pub next: *const c_void,
10306 pub handle_type: ExternalMemoryHandleTypeFlags,
10307 pub handle: HANDLE,
10308 pub name: LPCWSTR,
10309}
10310
10311impl Default for ImportMemoryWin32HandleInfoKHR {
10312 #[inline]
10313 fn default() -> Self {
10314 Self {
10315 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
10316 next: ptr::null(),
10317 handle_type: ExternalMemoryHandleTypeFlags::default(),
10318 handle: ptr::null_mut(),
10319 name: ptr::null_mut(),
10320 }
10321 }
10322}
10323
10324unsafe impl Send for ImportMemoryWin32HandleInfoKHR {}
10325unsafe impl Sync for ImportMemoryWin32HandleInfoKHR {}
10326
10327#[repr(C)]
10329#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10330pub struct ImportMemoryWin32HandleInfoNV {
10331 pub s_type: StructureType,
10332 pub next: *const c_void,
10333 pub handle_type: ExternalMemoryHandleTypeFlagsNV,
10334 pub handle: HANDLE,
10335}
10336
10337impl Default for ImportMemoryWin32HandleInfoNV {
10338 #[inline]
10339 fn default() -> Self {
10340 Self {
10341 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
10342 next: ptr::null(),
10343 handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
10344 handle: ptr::null_mut(),
10345 }
10346 }
10347}
10348
10349unsafe impl Send for ImportMemoryWin32HandleInfoNV {}
10350unsafe impl Sync for ImportMemoryWin32HandleInfoNV {}
10351
10352#[repr(C)]
10354#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10355pub struct ImportMemoryZirconHandleInfoFUCHSIA {
10356 pub s_type: StructureType,
10357 pub next: *const c_void,
10358 pub handle_type: ExternalMemoryHandleTypeFlags,
10359 pub handle: zx_handle_t,
10360}
10361
10362impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
10363 #[inline]
10364 fn default() -> Self {
10365 Self {
10366 s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
10367 next: ptr::null(),
10368 handle_type: ExternalMemoryHandleTypeFlags::default(),
10369 handle: zx_handle_t::default(),
10370 }
10371 }
10372}
10373
10374unsafe impl Send for ImportMemoryZirconHandleInfoFUCHSIA {}
10375unsafe impl Sync for ImportMemoryZirconHandleInfoFUCHSIA {}
10376
10377#[repr(C)]
10379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10380pub struct ImportMetalBufferInfoEXT {
10381 pub s_type: StructureType,
10382 pub next: *const c_void,
10383 pub mtl_buffer: MTLBuffer_id,
10384}
10385
10386impl Default for ImportMetalBufferInfoEXT {
10387 #[inline]
10388 fn default() -> Self {
10389 Self {
10390 s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
10391 next: ptr::null(),
10392 mtl_buffer: ptr::null_mut(),
10393 }
10394 }
10395}
10396
10397unsafe impl Send for ImportMetalBufferInfoEXT {}
10398unsafe impl Sync for ImportMetalBufferInfoEXT {}
10399
10400#[repr(C)]
10402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10403pub struct ImportMetalIOSurfaceInfoEXT {
10404 pub s_type: StructureType,
10405 pub next: *const c_void,
10406 pub io_surface: IOSurfaceRef,
10407}
10408
10409impl Default for ImportMetalIOSurfaceInfoEXT {
10410 #[inline]
10411 fn default() -> Self {
10412 Self {
10413 s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
10414 next: ptr::null(),
10415 io_surface: ptr::null_mut(),
10416 }
10417 }
10418}
10419
10420unsafe impl Send for ImportMetalIOSurfaceInfoEXT {}
10421unsafe impl Sync for ImportMetalIOSurfaceInfoEXT {}
10422
10423#[repr(C)]
10425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10426pub struct ImportMetalSharedEventInfoEXT {
10427 pub s_type: StructureType,
10428 pub next: *const c_void,
10429 pub mtl_shared_event: MTLSharedEvent_id,
10430}
10431
10432impl Default for ImportMetalSharedEventInfoEXT {
10433 #[inline]
10434 fn default() -> Self {
10435 Self {
10436 s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
10437 next: ptr::null(),
10438 mtl_shared_event: ptr::null_mut(),
10439 }
10440 }
10441}
10442
10443unsafe impl Send for ImportMetalSharedEventInfoEXT {}
10444unsafe impl Sync for ImportMetalSharedEventInfoEXT {}
10445
10446#[repr(C)]
10448#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10449pub struct ImportMetalTextureInfoEXT {
10450 pub s_type: StructureType,
10451 pub next: *const c_void,
10452 pub plane: ImageAspectFlags,
10453 pub mtl_texture: MTLTexture_id,
10454}
10455
10456impl Default for ImportMetalTextureInfoEXT {
10457 #[inline]
10458 fn default() -> Self {
10459 Self {
10460 s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
10461 next: ptr::null(),
10462 plane: ImageAspectFlags::default(),
10463 mtl_texture: ptr::null_mut(),
10464 }
10465 }
10466}
10467
10468unsafe impl Send for ImportMetalTextureInfoEXT {}
10469unsafe impl Sync for ImportMetalTextureInfoEXT {}
10470
10471#[repr(C)]
10473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10474pub struct ImportNativeBufferInfoOHOS {
10475 pub s_type: StructureType,
10476 pub next: *const c_void,
10477 pub buffer: *mut OH_NativeBuffer,
10478}
10479
10480impl Default for ImportNativeBufferInfoOHOS {
10481 #[inline]
10482 fn default() -> Self {
10483 Self {
10484 s_type: StructureType::IMPORT_NATIVE_BUFFER_INFO_OHOS,
10485 next: ptr::null(),
10486 buffer: ptr::null_mut(),
10487 }
10488 }
10489}
10490
10491unsafe impl Send for ImportNativeBufferInfoOHOS {}
10492unsafe impl Sync for ImportNativeBufferInfoOHOS {}
10493
10494#[repr(C)]
10496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10497pub struct ImportScreenBufferInfoQNX {
10498 pub s_type: StructureType,
10499 pub next: *const c_void,
10500 pub buffer: *mut _screen_buffer,
10501}
10502
10503impl Default for ImportScreenBufferInfoQNX {
10504 #[inline]
10505 fn default() -> Self {
10506 Self {
10507 s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
10508 next: ptr::null(),
10509 buffer: ptr::null_mut(),
10510 }
10511 }
10512}
10513
10514unsafe impl Send for ImportScreenBufferInfoQNX {}
10515unsafe impl Sync for ImportScreenBufferInfoQNX {}
10516
10517#[repr(C)]
10519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10520pub struct ImportSemaphoreFdInfoKHR {
10521 pub s_type: StructureType,
10522 pub next: *const c_void,
10523 pub semaphore: Semaphore,
10524 pub flags: SemaphoreImportFlags,
10525 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10526 pub fd: c_int,
10527}
10528
10529impl Default for ImportSemaphoreFdInfoKHR {
10530 #[inline]
10531 fn default() -> Self {
10532 Self {
10533 s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
10534 next: ptr::null(),
10535 semaphore: Semaphore::default(),
10536 flags: SemaphoreImportFlags::default(),
10537 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10538 fd: c_int::default(),
10539 }
10540 }
10541}
10542
10543unsafe impl Send for ImportSemaphoreFdInfoKHR {}
10544unsafe impl Sync for ImportSemaphoreFdInfoKHR {}
10545
10546#[repr(C)]
10548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10549pub struct ImportSemaphoreSciSyncInfoNV {
10550 pub s_type: StructureType,
10551 pub next: *const c_void,
10552 pub semaphore: Semaphore,
10553 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10554 pub handle: *mut c_void,
10555}
10556
10557impl Default for ImportSemaphoreSciSyncInfoNV {
10558 #[inline]
10559 fn default() -> Self {
10560 Self {
10561 s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
10562 next: ptr::null(),
10563 semaphore: Semaphore::default(),
10564 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10565 handle: ptr::null_mut(),
10566 }
10567 }
10568}
10569
10570unsafe impl Send for ImportSemaphoreSciSyncInfoNV {}
10571unsafe impl Sync for ImportSemaphoreSciSyncInfoNV {}
10572
10573#[repr(C)]
10575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10576pub struct ImportSemaphoreWin32HandleInfoKHR {
10577 pub s_type: StructureType,
10578 pub next: *const c_void,
10579 pub semaphore: Semaphore,
10580 pub flags: SemaphoreImportFlags,
10581 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10582 pub handle: HANDLE,
10583 pub name: LPCWSTR,
10584}
10585
10586impl Default for ImportSemaphoreWin32HandleInfoKHR {
10587 #[inline]
10588 fn default() -> Self {
10589 Self {
10590 s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
10591 next: ptr::null(),
10592 semaphore: Semaphore::default(),
10593 flags: SemaphoreImportFlags::default(),
10594 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10595 handle: ptr::null_mut(),
10596 name: ptr::null_mut(),
10597 }
10598 }
10599}
10600
10601unsafe impl Send for ImportSemaphoreWin32HandleInfoKHR {}
10602unsafe impl Sync for ImportSemaphoreWin32HandleInfoKHR {}
10603
10604#[repr(C)]
10606#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10607pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
10608 pub s_type: StructureType,
10609 pub next: *const c_void,
10610 pub semaphore: Semaphore,
10611 pub flags: SemaphoreImportFlags,
10612 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10613 pub zircon_handle: zx_handle_t,
10614}
10615
10616impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
10617 #[inline]
10618 fn default() -> Self {
10619 Self {
10620 s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
10621 next: ptr::null(),
10622 semaphore: Semaphore::default(),
10623 flags: SemaphoreImportFlags::default(),
10624 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10625 zircon_handle: zx_handle_t::default(),
10626 }
10627 }
10628}
10629
10630unsafe impl Send for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10631unsafe impl Sync for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10632
10633#[repr(C)]
10635#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10636pub struct IndirectCommandsExecutionSetTokenEXT {
10637 pub type_: IndirectExecutionSetInfoTypeEXT,
10638 pub shader_stages: ShaderStageFlags,
10639}
10640
10641#[repr(C)]
10643#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10644pub struct IndirectCommandsIndexBufferTokenEXT {
10645 pub mode: IndirectCommandsInputModeFlagsEXT,
10646}
10647
10648#[repr(C)]
10650#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10651pub struct IndirectCommandsLayoutCreateInfoEXT {
10652 pub s_type: StructureType,
10653 pub next: *const c_void,
10654 pub flags: IndirectCommandsLayoutUsageFlagsEXT,
10655 pub shader_stages: ShaderStageFlags,
10656 pub indirect_stride: u32,
10657 pub pipeline_layout: PipelineLayout,
10658 pub token_count: u32,
10659 pub tokens: *const IndirectCommandsLayoutTokenEXT,
10660}
10661
10662impl Default for IndirectCommandsLayoutCreateInfoEXT {
10663 #[inline]
10664 fn default() -> Self {
10665 Self {
10666 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
10667 next: ptr::null(),
10668 flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
10669 shader_stages: ShaderStageFlags::default(),
10670 indirect_stride: u32::default(),
10671 pipeline_layout: PipelineLayout::default(),
10672 token_count: u32::default(),
10673 tokens: ptr::null(),
10674 }
10675 }
10676}
10677
10678unsafe impl Send for IndirectCommandsLayoutCreateInfoEXT {}
10679unsafe impl Sync for IndirectCommandsLayoutCreateInfoEXT {}
10680
10681#[repr(C)]
10683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10684pub struct IndirectCommandsLayoutCreateInfoNV {
10685 pub s_type: StructureType,
10686 pub next: *const c_void,
10687 pub flags: IndirectCommandsLayoutUsageFlagsNV,
10688 pub pipeline_bind_point: PipelineBindPoint,
10689 pub token_count: u32,
10690 pub tokens: *const IndirectCommandsLayoutTokenNV,
10691 pub stream_count: u32,
10692 pub stream_strides: *const u32,
10693}
10694
10695impl Default for IndirectCommandsLayoutCreateInfoNV {
10696 #[inline]
10697 fn default() -> Self {
10698 Self {
10699 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
10700 next: ptr::null(),
10701 flags: IndirectCommandsLayoutUsageFlagsNV::default(),
10702 pipeline_bind_point: PipelineBindPoint::default(),
10703 token_count: u32::default(),
10704 tokens: ptr::null(),
10705 stream_count: u32::default(),
10706 stream_strides: ptr::null(),
10707 }
10708 }
10709}
10710
10711unsafe impl Send for IndirectCommandsLayoutCreateInfoNV {}
10712unsafe impl Sync for IndirectCommandsLayoutCreateInfoNV {}
10713
10714#[repr(C)]
10716#[derive(Copy, Clone, Debug)]
10717pub struct IndirectCommandsLayoutTokenEXT {
10718 pub s_type: StructureType,
10719 pub next: *const c_void,
10720 pub type_: IndirectCommandsTokenTypeEXT,
10721 pub data: IndirectCommandsTokenDataEXT,
10722 pub offset: u32,
10723}
10724
10725impl Default for IndirectCommandsLayoutTokenEXT {
10726 #[inline]
10727 fn default() -> Self {
10728 Self {
10729 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
10730 next: ptr::null(),
10731 type_: IndirectCommandsTokenTypeEXT::default(),
10732 data: IndirectCommandsTokenDataEXT::default(),
10733 offset: u32::default(),
10734 }
10735 }
10736}
10737
10738unsafe impl Send for IndirectCommandsLayoutTokenEXT {}
10739unsafe impl Sync for IndirectCommandsLayoutTokenEXT {}
10740
10741#[repr(C)]
10743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10744pub struct IndirectCommandsLayoutTokenNV {
10745 pub s_type: StructureType,
10746 pub next: *const c_void,
10747 pub token_type: IndirectCommandsTokenTypeNV,
10748 pub stream: u32,
10749 pub offset: u32,
10750 pub vertex_binding_unit: u32,
10751 pub vertex_dynamic_stride: Bool32,
10752 pub pushconstant_pipeline_layout: PipelineLayout,
10753 pub pushconstant_shader_stage_flags: ShaderStageFlags,
10754 pub pushconstant_offset: u32,
10755 pub pushconstant_size: u32,
10756 pub indirect_state_flags: IndirectStateFlagsNV,
10757 pub index_type_count: u32,
10758 pub index_types: *const IndexType,
10759 pub index_type_values: *const u32,
10760}
10761
10762impl Default for IndirectCommandsLayoutTokenNV {
10763 #[inline]
10764 fn default() -> Self {
10765 Self {
10766 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
10767 next: ptr::null(),
10768 token_type: IndirectCommandsTokenTypeNV::default(),
10769 stream: u32::default(),
10770 offset: u32::default(),
10771 vertex_binding_unit: u32::default(),
10772 vertex_dynamic_stride: Bool32::default(),
10773 pushconstant_pipeline_layout: PipelineLayout::default(),
10774 pushconstant_shader_stage_flags: ShaderStageFlags::default(),
10775 pushconstant_offset: u32::default(),
10776 pushconstant_size: u32::default(),
10777 indirect_state_flags: IndirectStateFlagsNV::default(),
10778 index_type_count: u32::default(),
10779 index_types: ptr::null(),
10780 index_type_values: ptr::null(),
10781 }
10782 }
10783}
10784
10785unsafe impl Send for IndirectCommandsLayoutTokenNV {}
10786unsafe impl Sync for IndirectCommandsLayoutTokenNV {}
10787
10788#[repr(C)]
10790#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10791pub struct IndirectCommandsPushConstantTokenEXT {
10792 pub update_range: PushConstantRange,
10793}
10794
10795#[repr(C)]
10797#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10798pub struct IndirectCommandsStreamNV {
10799 pub buffer: Buffer,
10800 pub offset: DeviceSize,
10801}
10802
10803#[repr(C)]
10805#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10806pub struct IndirectCommandsVertexBufferTokenEXT {
10807 pub vertex_binding_unit: u32,
10808}
10809
10810#[repr(C)]
10812#[derive(Copy, Clone, Debug)]
10813pub struct IndirectExecutionSetCreateInfoEXT {
10814 pub s_type: StructureType,
10815 pub next: *const c_void,
10816 pub type_: IndirectExecutionSetInfoTypeEXT,
10817 pub info: IndirectExecutionSetInfoEXT,
10818}
10819
10820impl Default for IndirectExecutionSetCreateInfoEXT {
10821 #[inline]
10822 fn default() -> Self {
10823 Self {
10824 s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
10825 next: ptr::null(),
10826 type_: IndirectExecutionSetInfoTypeEXT::default(),
10827 info: IndirectExecutionSetInfoEXT::default(),
10828 }
10829 }
10830}
10831
10832unsafe impl Send for IndirectExecutionSetCreateInfoEXT {}
10833unsafe impl Sync for IndirectExecutionSetCreateInfoEXT {}
10834
10835#[repr(C)]
10837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10838pub struct IndirectExecutionSetPipelineInfoEXT {
10839 pub s_type: StructureType,
10840 pub next: *const c_void,
10841 pub initial_pipeline: Pipeline,
10842 pub max_pipeline_count: u32,
10843}
10844
10845impl Default for IndirectExecutionSetPipelineInfoEXT {
10846 #[inline]
10847 fn default() -> Self {
10848 Self {
10849 s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
10850 next: ptr::null(),
10851 initial_pipeline: Pipeline::default(),
10852 max_pipeline_count: u32::default(),
10853 }
10854 }
10855}
10856
10857unsafe impl Send for IndirectExecutionSetPipelineInfoEXT {}
10858unsafe impl Sync for IndirectExecutionSetPipelineInfoEXT {}
10859
10860#[repr(C)]
10862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10863pub struct IndirectExecutionSetShaderInfoEXT {
10864 pub s_type: StructureType,
10865 pub next: *const c_void,
10866 pub shader_count: u32,
10867 pub initial_shaders: *const ShaderEXT,
10868 pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
10869 pub max_shader_count: u32,
10870 pub push_constant_range_count: u32,
10871 pub push_constant_ranges: *const PushConstantRange,
10872}
10873
10874impl Default for IndirectExecutionSetShaderInfoEXT {
10875 #[inline]
10876 fn default() -> Self {
10877 Self {
10878 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
10879 next: ptr::null(),
10880 shader_count: u32::default(),
10881 initial_shaders: ptr::null(),
10882 set_layout_infos: ptr::null(),
10883 max_shader_count: u32::default(),
10884 push_constant_range_count: u32::default(),
10885 push_constant_ranges: ptr::null(),
10886 }
10887 }
10888}
10889
10890unsafe impl Send for IndirectExecutionSetShaderInfoEXT {}
10891unsafe impl Sync for IndirectExecutionSetShaderInfoEXT {}
10892
10893#[repr(C)]
10895#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10896pub struct IndirectExecutionSetShaderLayoutInfoEXT {
10897 pub s_type: StructureType,
10898 pub next: *const c_void,
10899 pub set_layout_count: u32,
10900 pub set_layouts: *const DescriptorSetLayout,
10901}
10902
10903impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
10904 #[inline]
10905 fn default() -> Self {
10906 Self {
10907 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
10908 next: ptr::null(),
10909 set_layout_count: u32::default(),
10910 set_layouts: ptr::null(),
10911 }
10912 }
10913}
10914
10915unsafe impl Send for IndirectExecutionSetShaderLayoutInfoEXT {}
10916unsafe impl Sync for IndirectExecutionSetShaderLayoutInfoEXT {}
10917
10918#[repr(C)]
10920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10921pub struct InitializePerformanceApiInfoINTEL {
10922 pub s_type: StructureType,
10923 pub next: *const c_void,
10924 pub user_data: *mut c_void,
10925}
10926
10927impl Default for InitializePerformanceApiInfoINTEL {
10928 #[inline]
10929 fn default() -> Self {
10930 Self {
10931 s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
10932 next: ptr::null(),
10933 user_data: ptr::null_mut(),
10934 }
10935 }
10936}
10937
10938unsafe impl Send for InitializePerformanceApiInfoINTEL {}
10939unsafe impl Sync for InitializePerformanceApiInfoINTEL {}
10940
10941#[repr(C)]
10943#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10944pub struct InputAttachmentAspectReference {
10945 pub subpass: u32,
10946 pub input_attachment_index: u32,
10947 pub aspect_mask: ImageAspectFlags,
10948}
10949
10950#[repr(C)]
10952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10953pub struct InstanceCreateInfo {
10954 pub s_type: StructureType,
10955 pub next: *const c_void,
10956 pub flags: InstanceCreateFlags,
10957 pub application_info: *const ApplicationInfo,
10958 pub enabled_layer_count: u32,
10959 pub enabled_layer_names: *const *const c_char,
10960 pub enabled_extension_count: u32,
10961 pub enabled_extension_names: *const *const c_char,
10962}
10963
10964impl Default for InstanceCreateInfo {
10965 #[inline]
10966 fn default() -> Self {
10967 Self {
10968 s_type: StructureType::INSTANCE_CREATE_INFO,
10969 next: ptr::null(),
10970 flags: InstanceCreateFlags::default(),
10971 application_info: ptr::null(),
10972 enabled_layer_count: u32::default(),
10973 enabled_layer_names: ptr::null(),
10974 enabled_extension_count: u32::default(),
10975 enabled_extension_names: ptr::null(),
10976 }
10977 }
10978}
10979
10980unsafe impl Send for InstanceCreateInfo {}
10981unsafe impl Sync for InstanceCreateInfo {}
10982
10983#[repr(C)]
10985#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10986pub struct LatencySleepInfoNV {
10987 pub s_type: StructureType,
10988 pub next: *const c_void,
10989 pub signal_semaphore: Semaphore,
10990 pub value: u64,
10991}
10992
10993impl Default for LatencySleepInfoNV {
10994 #[inline]
10995 fn default() -> Self {
10996 Self {
10997 s_type: StructureType::LATENCY_SLEEP_INFO_NV,
10998 next: ptr::null(),
10999 signal_semaphore: Semaphore::default(),
11000 value: u64::default(),
11001 }
11002 }
11003}
11004
11005unsafe impl Send for LatencySleepInfoNV {}
11006unsafe impl Sync for LatencySleepInfoNV {}
11007
11008#[repr(C)]
11010#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11011pub struct LatencySleepModeInfoNV {
11012 pub s_type: StructureType,
11013 pub next: *const c_void,
11014 pub low_latency_mode: Bool32,
11015 pub low_latency_boost: Bool32,
11016 pub minimum_interval_us: u32,
11017}
11018
11019impl Default for LatencySleepModeInfoNV {
11020 #[inline]
11021 fn default() -> Self {
11022 Self {
11023 s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
11024 next: ptr::null(),
11025 low_latency_mode: Bool32::default(),
11026 low_latency_boost: Bool32::default(),
11027 minimum_interval_us: u32::default(),
11028 }
11029 }
11030}
11031
11032unsafe impl Send for LatencySleepModeInfoNV {}
11033unsafe impl Sync for LatencySleepModeInfoNV {}
11034
11035#[repr(C)]
11037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11038pub struct LatencySubmissionPresentIdNV {
11039 pub s_type: StructureType,
11040 pub next: *const c_void,
11041 pub present_id: u64,
11042}
11043
11044impl Default for LatencySubmissionPresentIdNV {
11045 #[inline]
11046 fn default() -> Self {
11047 Self {
11048 s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
11049 next: ptr::null(),
11050 present_id: u64::default(),
11051 }
11052 }
11053}
11054
11055unsafe impl Send for LatencySubmissionPresentIdNV {}
11056unsafe impl Sync for LatencySubmissionPresentIdNV {}
11057
11058#[repr(C)]
11060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11061pub struct LatencySurfaceCapabilitiesNV {
11062 pub s_type: StructureType,
11063 pub next: *const c_void,
11064 pub present_mode_count: u32,
11065 pub present_modes: *mut PresentModeKHR,
11066}
11067
11068impl Default for LatencySurfaceCapabilitiesNV {
11069 #[inline]
11070 fn default() -> Self {
11071 Self {
11072 s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
11073 next: ptr::null(),
11074 present_mode_count: u32::default(),
11075 present_modes: ptr::null_mut(),
11076 }
11077 }
11078}
11079
11080unsafe impl Send for LatencySurfaceCapabilitiesNV {}
11081unsafe impl Sync for LatencySurfaceCapabilitiesNV {}
11082
11083#[repr(C)]
11085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11086pub struct LatencyTimingsFrameReportNV {
11087 pub s_type: StructureType,
11088 pub next: *const c_void,
11089 pub present_id: u64,
11090 pub input_sample_time_us: u64,
11091 pub sim_start_time_us: u64,
11092 pub sim_end_time_us: u64,
11093 pub render_submit_start_time_us: u64,
11094 pub render_submit_end_time_us: u64,
11095 pub present_start_time_us: u64,
11096 pub present_end_time_us: u64,
11097 pub driver_start_time_us: u64,
11098 pub driver_end_time_us: u64,
11099 pub os_render_queue_start_time_us: u64,
11100 pub os_render_queue_end_time_us: u64,
11101 pub gpu_render_start_time_us: u64,
11102 pub gpu_render_end_time_us: u64,
11103}
11104
11105impl Default for LatencyTimingsFrameReportNV {
11106 #[inline]
11107 fn default() -> Self {
11108 Self {
11109 s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
11110 next: ptr::null(),
11111 present_id: u64::default(),
11112 input_sample_time_us: u64::default(),
11113 sim_start_time_us: u64::default(),
11114 sim_end_time_us: u64::default(),
11115 render_submit_start_time_us: u64::default(),
11116 render_submit_end_time_us: u64::default(),
11117 present_start_time_us: u64::default(),
11118 present_end_time_us: u64::default(),
11119 driver_start_time_us: u64::default(),
11120 driver_end_time_us: u64::default(),
11121 os_render_queue_start_time_us: u64::default(),
11122 os_render_queue_end_time_us: u64::default(),
11123 gpu_render_start_time_us: u64::default(),
11124 gpu_render_end_time_us: u64::default(),
11125 }
11126 }
11127}
11128
11129unsafe impl Send for LatencyTimingsFrameReportNV {}
11130unsafe impl Sync for LatencyTimingsFrameReportNV {}
11131
11132#[repr(C)]
11134#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11135pub struct LayerProperties {
11136 pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
11137 pub spec_version: u32,
11138 pub implementation_version: u32,
11139 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
11140}
11141
11142#[repr(C)]
11144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11145pub struct LayerSettingEXT {
11146 pub layer_name: *const c_char,
11147 pub setting_name: *const c_char,
11148 pub type_: LayerSettingTypeEXT,
11149 pub value_count: u32,
11150 pub values: *const c_void,
11151}
11152
11153impl Default for LayerSettingEXT {
11154 #[inline]
11155 fn default() -> Self {
11156 Self {
11157 layer_name: ptr::null(),
11158 setting_name: ptr::null(),
11159 type_: LayerSettingTypeEXT::default(),
11160 value_count: u32::default(),
11161 values: ptr::null(),
11162 }
11163 }
11164}
11165
11166unsafe impl Send for LayerSettingEXT {}
11167unsafe impl Sync for LayerSettingEXT {}
11168
11169#[repr(C)]
11171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11172pub struct LayerSettingsCreateInfoEXT {
11173 pub s_type: StructureType,
11174 pub next: *const c_void,
11175 pub setting_count: u32,
11176 pub settings: *const LayerSettingEXT,
11177}
11178
11179impl Default for LayerSettingsCreateInfoEXT {
11180 #[inline]
11181 fn default() -> Self {
11182 Self {
11183 s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
11184 next: ptr::null(),
11185 setting_count: u32::default(),
11186 settings: ptr::null(),
11187 }
11188 }
11189}
11190
11191unsafe impl Send for LayerSettingsCreateInfoEXT {}
11192unsafe impl Sync for LayerSettingsCreateInfoEXT {}
11193
11194#[repr(C)]
11196#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11197pub struct MacOSSurfaceCreateInfoMVK {
11198 pub s_type: StructureType,
11199 pub next: *const c_void,
11200 pub flags: MacOSSurfaceCreateFlagsMVK,
11201 pub view: *const c_void,
11202}
11203
11204impl Default for MacOSSurfaceCreateInfoMVK {
11205 #[inline]
11206 fn default() -> Self {
11207 Self {
11208 s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
11209 next: ptr::null(),
11210 flags: MacOSSurfaceCreateFlagsMVK::default(),
11211 view: ptr::null(),
11212 }
11213 }
11214}
11215
11216unsafe impl Send for MacOSSurfaceCreateInfoMVK {}
11217unsafe impl Sync for MacOSSurfaceCreateInfoMVK {}
11218
11219#[repr(C)]
11221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11222pub struct MappedMemoryRange {
11223 pub s_type: StructureType,
11224 pub next: *const c_void,
11225 pub memory: DeviceMemory,
11226 pub offset: DeviceSize,
11227 pub size: DeviceSize,
11228}
11229
11230impl Default for MappedMemoryRange {
11231 #[inline]
11232 fn default() -> Self {
11233 Self {
11234 s_type: StructureType::MAPPED_MEMORY_RANGE,
11235 next: ptr::null(),
11236 memory: DeviceMemory::default(),
11237 offset: DeviceSize::default(),
11238 size: DeviceSize::default(),
11239 }
11240 }
11241}
11242
11243unsafe impl Send for MappedMemoryRange {}
11244unsafe impl Sync for MappedMemoryRange {}
11245
11246#[repr(C)]
11248#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11249pub struct MemoryAllocateFlagsInfo {
11250 pub s_type: StructureType,
11251 pub next: *const c_void,
11252 pub flags: MemoryAllocateFlags,
11253 pub device_mask: u32,
11254}
11255
11256impl Default for MemoryAllocateFlagsInfo {
11257 #[inline]
11258 fn default() -> Self {
11259 Self {
11260 s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
11261 next: ptr::null(),
11262 flags: MemoryAllocateFlags::default(),
11263 device_mask: u32::default(),
11264 }
11265 }
11266}
11267
11268unsafe impl Send for MemoryAllocateFlagsInfo {}
11269unsafe impl Sync for MemoryAllocateFlagsInfo {}
11270
11271#[repr(C)]
11273#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11274pub struct MemoryAllocateInfo {
11275 pub s_type: StructureType,
11276 pub next: *const c_void,
11277 pub allocation_size: DeviceSize,
11278 pub memory_type_index: u32,
11279}
11280
11281impl Default for MemoryAllocateInfo {
11282 #[inline]
11283 fn default() -> Self {
11284 Self {
11285 s_type: StructureType::MEMORY_ALLOCATE_INFO,
11286 next: ptr::null(),
11287 allocation_size: DeviceSize::default(),
11288 memory_type_index: u32::default(),
11289 }
11290 }
11291}
11292
11293unsafe impl Send for MemoryAllocateInfo {}
11294unsafe impl Sync for MemoryAllocateInfo {}
11295
11296#[repr(C)]
11298#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11299pub struct MemoryBarrier {
11300 pub s_type: StructureType,
11301 pub next: *const c_void,
11302 pub src_access_mask: AccessFlags,
11303 pub dst_access_mask: AccessFlags,
11304}
11305
11306impl Default for MemoryBarrier {
11307 #[inline]
11308 fn default() -> Self {
11309 Self {
11310 s_type: StructureType::MEMORY_BARRIER,
11311 next: ptr::null(),
11312 src_access_mask: AccessFlags::default(),
11313 dst_access_mask: AccessFlags::default(),
11314 }
11315 }
11316}
11317
11318unsafe impl Send for MemoryBarrier {}
11319unsafe impl Sync for MemoryBarrier {}
11320
11321#[repr(C)]
11323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11324pub struct MemoryBarrier2 {
11325 pub s_type: StructureType,
11326 pub next: *const c_void,
11327 pub src_stage_mask: PipelineStageFlags2,
11328 pub src_access_mask: AccessFlags2,
11329 pub dst_stage_mask: PipelineStageFlags2,
11330 pub dst_access_mask: AccessFlags2,
11331}
11332
11333impl Default for MemoryBarrier2 {
11334 #[inline]
11335 fn default() -> Self {
11336 Self {
11337 s_type: StructureType::MEMORY_BARRIER_2,
11338 next: ptr::null(),
11339 src_stage_mask: PipelineStageFlags2::default(),
11340 src_access_mask: AccessFlags2::default(),
11341 dst_stage_mask: PipelineStageFlags2::default(),
11342 dst_access_mask: AccessFlags2::default(),
11343 }
11344 }
11345}
11346
11347unsafe impl Send for MemoryBarrier2 {}
11348unsafe impl Sync for MemoryBarrier2 {}
11349
11350#[repr(C)]
11352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11353pub struct MemoryBarrierAccessFlags3KHR {
11354 pub s_type: StructureType,
11355 pub next: *const c_void,
11356 pub src_access_mask3: AccessFlags3KHR,
11357 pub dst_access_mask3: AccessFlags3KHR,
11358}
11359
11360impl Default for MemoryBarrierAccessFlags3KHR {
11361 #[inline]
11362 fn default() -> Self {
11363 Self {
11364 s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
11365 next: ptr::null(),
11366 src_access_mask3: AccessFlags3KHR::default(),
11367 dst_access_mask3: AccessFlags3KHR::default(),
11368 }
11369 }
11370}
11371
11372unsafe impl Send for MemoryBarrierAccessFlags3KHR {}
11373unsafe impl Sync for MemoryBarrierAccessFlags3KHR {}
11374
11375#[repr(C)]
11377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11378pub struct MemoryDedicatedAllocateInfo {
11379 pub s_type: StructureType,
11380 pub next: *const c_void,
11381 pub image: Image,
11382 pub buffer: Buffer,
11383}
11384
11385impl Default for MemoryDedicatedAllocateInfo {
11386 #[inline]
11387 fn default() -> Self {
11388 Self {
11389 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
11390 next: ptr::null(),
11391 image: Image::default(),
11392 buffer: Buffer::default(),
11393 }
11394 }
11395}
11396
11397unsafe impl Send for MemoryDedicatedAllocateInfo {}
11398unsafe impl Sync for MemoryDedicatedAllocateInfo {}
11399
11400#[repr(C)]
11402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11403pub struct MemoryDedicatedAllocateInfoTensorARM {
11404 pub s_type: StructureType,
11405 pub next: *const c_void,
11406 pub tensor: TensorARM,
11407}
11408
11409impl Default for MemoryDedicatedAllocateInfoTensorARM {
11410 #[inline]
11411 fn default() -> Self {
11412 Self {
11413 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
11414 next: ptr::null(),
11415 tensor: TensorARM::default(),
11416 }
11417 }
11418}
11419
11420unsafe impl Send for MemoryDedicatedAllocateInfoTensorARM {}
11421unsafe impl Sync for MemoryDedicatedAllocateInfoTensorARM {}
11422
11423#[repr(C)]
11425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11426pub struct MemoryDedicatedRequirements {
11427 pub s_type: StructureType,
11428 pub next: *mut c_void,
11429 pub prefers_dedicated_allocation: Bool32,
11430 pub requires_dedicated_allocation: Bool32,
11431}
11432
11433impl Default for MemoryDedicatedRequirements {
11434 #[inline]
11435 fn default() -> Self {
11436 Self {
11437 s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
11438 next: ptr::null_mut(),
11439 prefers_dedicated_allocation: Bool32::default(),
11440 requires_dedicated_allocation: Bool32::default(),
11441 }
11442 }
11443}
11444
11445unsafe impl Send for MemoryDedicatedRequirements {}
11446unsafe impl Sync for MemoryDedicatedRequirements {}
11447
11448#[repr(C)]
11450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11451pub struct MemoryFdPropertiesKHR {
11452 pub s_type: StructureType,
11453 pub next: *mut c_void,
11454 pub memory_type_bits: u32,
11455}
11456
11457impl Default for MemoryFdPropertiesKHR {
11458 #[inline]
11459 fn default() -> Self {
11460 Self {
11461 s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
11462 next: ptr::null_mut(),
11463 memory_type_bits: u32::default(),
11464 }
11465 }
11466}
11467
11468unsafe impl Send for MemoryFdPropertiesKHR {}
11469unsafe impl Sync for MemoryFdPropertiesKHR {}
11470
11471#[repr(C)]
11473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11474pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
11475 pub s_type: StructureType,
11476 pub next: *const c_void,
11477 pub memory: DeviceMemory,
11478}
11479
11480impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
11481 #[inline]
11482 fn default() -> Self {
11483 Self {
11484 s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
11485 next: ptr::null(),
11486 memory: DeviceMemory::default(),
11487 }
11488 }
11489}
11490
11491unsafe impl Send for MemoryGetAndroidHardwareBufferInfoANDROID {}
11492unsafe impl Sync for MemoryGetAndroidHardwareBufferInfoANDROID {}
11493
11494#[repr(C)]
11496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11497pub struct MemoryGetFdInfoKHR {
11498 pub s_type: StructureType,
11499 pub next: *const c_void,
11500 pub memory: DeviceMemory,
11501 pub handle_type: ExternalMemoryHandleTypeFlags,
11502}
11503
11504impl Default for MemoryGetFdInfoKHR {
11505 #[inline]
11506 fn default() -> Self {
11507 Self {
11508 s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
11509 next: ptr::null(),
11510 memory: DeviceMemory::default(),
11511 handle_type: ExternalMemoryHandleTypeFlags::default(),
11512 }
11513 }
11514}
11515
11516unsafe impl Send for MemoryGetFdInfoKHR {}
11517unsafe impl Sync for MemoryGetFdInfoKHR {}
11518
11519#[repr(C)]
11521#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11522pub struct MemoryGetMetalHandleInfoEXT {
11523 pub s_type: StructureType,
11524 pub next: *const c_void,
11525 pub memory: DeviceMemory,
11526 pub handle_type: ExternalMemoryHandleTypeFlags,
11527}
11528
11529impl Default for MemoryGetMetalHandleInfoEXT {
11530 #[inline]
11531 fn default() -> Self {
11532 Self {
11533 s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
11534 next: ptr::null(),
11535 memory: DeviceMemory::default(),
11536 handle_type: ExternalMemoryHandleTypeFlags::default(),
11537 }
11538 }
11539}
11540
11541unsafe impl Send for MemoryGetMetalHandleInfoEXT {}
11542unsafe impl Sync for MemoryGetMetalHandleInfoEXT {}
11543
11544#[repr(C)]
11546#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11547pub struct MemoryGetNativeBufferInfoOHOS {
11548 pub s_type: StructureType,
11549 pub next: *const c_void,
11550 pub memory: DeviceMemory,
11551}
11552
11553impl Default for MemoryGetNativeBufferInfoOHOS {
11554 #[inline]
11555 fn default() -> Self {
11556 Self {
11557 s_type: StructureType::MEMORY_GET_NATIVE_BUFFER_INFO_OHOS,
11558 next: ptr::null(),
11559 memory: DeviceMemory::default(),
11560 }
11561 }
11562}
11563
11564unsafe impl Send for MemoryGetNativeBufferInfoOHOS {}
11565unsafe impl Sync for MemoryGetNativeBufferInfoOHOS {}
11566
11567#[repr(C)]
11569#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11570pub struct MemoryGetRemoteAddressInfoNV {
11571 pub s_type: StructureType,
11572 pub next: *const c_void,
11573 pub memory: DeviceMemory,
11574 pub handle_type: ExternalMemoryHandleTypeFlags,
11575}
11576
11577impl Default for MemoryGetRemoteAddressInfoNV {
11578 #[inline]
11579 fn default() -> Self {
11580 Self {
11581 s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
11582 next: ptr::null(),
11583 memory: DeviceMemory::default(),
11584 handle_type: ExternalMemoryHandleTypeFlags::default(),
11585 }
11586 }
11587}
11588
11589unsafe impl Send for MemoryGetRemoteAddressInfoNV {}
11590unsafe impl Sync for MemoryGetRemoteAddressInfoNV {}
11591
11592#[repr(C)]
11594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11595pub struct MemoryGetSciBufInfoNV {
11596 pub s_type: StructureType,
11597 pub next: *const c_void,
11598 pub memory: DeviceMemory,
11599 pub handle_type: ExternalMemoryHandleTypeFlags,
11600}
11601
11602impl Default for MemoryGetSciBufInfoNV {
11603 #[inline]
11604 fn default() -> Self {
11605 Self {
11606 s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
11607 next: ptr::null(),
11608 memory: DeviceMemory::default(),
11609 handle_type: ExternalMemoryHandleTypeFlags::default(),
11610 }
11611 }
11612}
11613
11614unsafe impl Send for MemoryGetSciBufInfoNV {}
11615unsafe impl Sync for MemoryGetSciBufInfoNV {}
11616
11617#[repr(C)]
11619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11620pub struct MemoryGetWin32HandleInfoKHR {
11621 pub s_type: StructureType,
11622 pub next: *const c_void,
11623 pub memory: DeviceMemory,
11624 pub handle_type: ExternalMemoryHandleTypeFlags,
11625}
11626
11627impl Default for MemoryGetWin32HandleInfoKHR {
11628 #[inline]
11629 fn default() -> Self {
11630 Self {
11631 s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
11632 next: ptr::null(),
11633 memory: DeviceMemory::default(),
11634 handle_type: ExternalMemoryHandleTypeFlags::default(),
11635 }
11636 }
11637}
11638
11639unsafe impl Send for MemoryGetWin32HandleInfoKHR {}
11640unsafe impl Sync for MemoryGetWin32HandleInfoKHR {}
11641
11642#[repr(C)]
11644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11645pub struct MemoryGetZirconHandleInfoFUCHSIA {
11646 pub s_type: StructureType,
11647 pub next: *const c_void,
11648 pub memory: DeviceMemory,
11649 pub handle_type: ExternalMemoryHandleTypeFlags,
11650}
11651
11652impl Default for MemoryGetZirconHandleInfoFUCHSIA {
11653 #[inline]
11654 fn default() -> Self {
11655 Self {
11656 s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
11657 next: ptr::null(),
11658 memory: DeviceMemory::default(),
11659 handle_type: ExternalMemoryHandleTypeFlags::default(),
11660 }
11661 }
11662}
11663
11664unsafe impl Send for MemoryGetZirconHandleInfoFUCHSIA {}
11665unsafe impl Sync for MemoryGetZirconHandleInfoFUCHSIA {}
11666
11667#[repr(C)]
11669#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11670pub struct MemoryHeap {
11671 pub size: DeviceSize,
11672 pub flags: MemoryHeapFlags,
11673}
11674
11675#[repr(C)]
11677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11678pub struct MemoryHostPointerPropertiesEXT {
11679 pub s_type: StructureType,
11680 pub next: *mut c_void,
11681 pub memory_type_bits: u32,
11682}
11683
11684impl Default for MemoryHostPointerPropertiesEXT {
11685 #[inline]
11686 fn default() -> Self {
11687 Self {
11688 s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
11689 next: ptr::null_mut(),
11690 memory_type_bits: u32::default(),
11691 }
11692 }
11693}
11694
11695unsafe impl Send for MemoryHostPointerPropertiesEXT {}
11696unsafe impl Sync for MemoryHostPointerPropertiesEXT {}
11697
11698#[repr(C)]
11700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11701pub struct MemoryMapInfo {
11702 pub s_type: StructureType,
11703 pub next: *const c_void,
11704 pub flags: MemoryMapFlags,
11705 pub memory: DeviceMemory,
11706 pub offset: DeviceSize,
11707 pub size: DeviceSize,
11708}
11709
11710impl Default for MemoryMapInfo {
11711 #[inline]
11712 fn default() -> Self {
11713 Self {
11714 s_type: StructureType::MEMORY_MAP_INFO,
11715 next: ptr::null(),
11716 flags: MemoryMapFlags::default(),
11717 memory: DeviceMemory::default(),
11718 offset: DeviceSize::default(),
11719 size: DeviceSize::default(),
11720 }
11721 }
11722}
11723
11724unsafe impl Send for MemoryMapInfo {}
11725unsafe impl Sync for MemoryMapInfo {}
11726
11727#[repr(C)]
11729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11730pub struct MemoryMapPlacedInfoEXT {
11731 pub s_type: StructureType,
11732 pub next: *const c_void,
11733 pub placed_address: *mut c_void,
11734}
11735
11736impl Default for MemoryMapPlacedInfoEXT {
11737 #[inline]
11738 fn default() -> Self {
11739 Self {
11740 s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
11741 next: ptr::null(),
11742 placed_address: ptr::null_mut(),
11743 }
11744 }
11745}
11746
11747unsafe impl Send for MemoryMapPlacedInfoEXT {}
11748unsafe impl Sync for MemoryMapPlacedInfoEXT {}
11749
11750#[repr(C)]
11752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11753pub struct MemoryMetalHandlePropertiesEXT {
11754 pub s_type: StructureType,
11755 pub next: *mut c_void,
11756 pub memory_type_bits: u32,
11757}
11758
11759impl Default for MemoryMetalHandlePropertiesEXT {
11760 #[inline]
11761 fn default() -> Self {
11762 Self {
11763 s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
11764 next: ptr::null_mut(),
11765 memory_type_bits: u32::default(),
11766 }
11767 }
11768}
11769
11770unsafe impl Send for MemoryMetalHandlePropertiesEXT {}
11771unsafe impl Sync for MemoryMetalHandlePropertiesEXT {}
11772
11773#[repr(C)]
11775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11776pub struct MemoryOpaqueCaptureAddressAllocateInfo {
11777 pub s_type: StructureType,
11778 pub next: *const c_void,
11779 pub opaque_capture_address: u64,
11780}
11781
11782impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
11783 #[inline]
11784 fn default() -> Self {
11785 Self {
11786 s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
11787 next: ptr::null(),
11788 opaque_capture_address: u64::default(),
11789 }
11790 }
11791}
11792
11793unsafe impl Send for MemoryOpaqueCaptureAddressAllocateInfo {}
11794unsafe impl Sync for MemoryOpaqueCaptureAddressAllocateInfo {}
11795
11796#[repr(C)]
11798#[derive(Copy, Clone, Debug, PartialEq)]
11799pub struct MemoryPriorityAllocateInfoEXT {
11800 pub s_type: StructureType,
11801 pub next: *const c_void,
11802 pub priority: f32,
11803}
11804
11805impl Default for MemoryPriorityAllocateInfoEXT {
11806 #[inline]
11807 fn default() -> Self {
11808 Self {
11809 s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
11810 next: ptr::null(),
11811 priority: f32::default(),
11812 }
11813 }
11814}
11815
11816unsafe impl Send for MemoryPriorityAllocateInfoEXT {}
11817unsafe impl Sync for MemoryPriorityAllocateInfoEXT {}
11818
11819#[repr(C)]
11821#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11822pub struct MemoryRequirements {
11823 pub size: DeviceSize,
11824 pub alignment: DeviceSize,
11825 pub memory_type_bits: u32,
11826}
11827
11828#[repr(C)]
11830#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11831pub struct MemoryRequirements2 {
11832 pub s_type: StructureType,
11833 pub next: *mut c_void,
11834 pub memory_requirements: MemoryRequirements,
11835}
11836
11837impl Default for MemoryRequirements2 {
11838 #[inline]
11839 fn default() -> Self {
11840 Self {
11841 s_type: StructureType::MEMORY_REQUIREMENTS_2,
11842 next: ptr::null_mut(),
11843 memory_requirements: MemoryRequirements::default(),
11844 }
11845 }
11846}
11847
11848unsafe impl Send for MemoryRequirements2 {}
11849unsafe impl Sync for MemoryRequirements2 {}
11850
11851#[repr(C)]
11853#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11854pub struct MemorySciBufPropertiesNV {
11855 pub s_type: StructureType,
11856 pub next: *const c_void,
11857 pub memory_type_bits: u32,
11858}
11859
11860impl Default for MemorySciBufPropertiesNV {
11861 #[inline]
11862 fn default() -> Self {
11863 Self {
11864 s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
11865 next: ptr::null(),
11866 memory_type_bits: u32::default(),
11867 }
11868 }
11869}
11870
11871unsafe impl Send for MemorySciBufPropertiesNV {}
11872unsafe impl Sync for MemorySciBufPropertiesNV {}
11873
11874#[repr(C)]
11876#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11877pub struct MemoryToImageCopy {
11878 pub s_type: StructureType,
11879 pub next: *const c_void,
11880 pub host_pointer: *const c_void,
11881 pub memory_row_length: u32,
11882 pub memory_image_height: u32,
11883 pub image_subresource: ImageSubresourceLayers,
11884 pub image_offset: Offset3D,
11885 pub image_extent: Extent3D,
11886}
11887
11888impl Default for MemoryToImageCopy {
11889 #[inline]
11890 fn default() -> Self {
11891 Self {
11892 s_type: StructureType::MEMORY_TO_IMAGE_COPY,
11893 next: ptr::null(),
11894 host_pointer: ptr::null(),
11895 memory_row_length: u32::default(),
11896 memory_image_height: u32::default(),
11897 image_subresource: ImageSubresourceLayers::default(),
11898 image_offset: Offset3D::default(),
11899 image_extent: Extent3D::default(),
11900 }
11901 }
11902}
11903
11904unsafe impl Send for MemoryToImageCopy {}
11905unsafe impl Sync for MemoryToImageCopy {}
11906
11907#[repr(C)]
11909#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11910pub struct MemoryType {
11911 pub property_flags: MemoryPropertyFlags,
11912 pub heap_index: u32,
11913}
11914
11915#[repr(C)]
11917#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11918pub struct MemoryUnmapInfo {
11919 pub s_type: StructureType,
11920 pub next: *const c_void,
11921 pub flags: MemoryUnmapFlags,
11922 pub memory: DeviceMemory,
11923}
11924
11925impl Default for MemoryUnmapInfo {
11926 #[inline]
11927 fn default() -> Self {
11928 Self {
11929 s_type: StructureType::MEMORY_UNMAP_INFO,
11930 next: ptr::null(),
11931 flags: MemoryUnmapFlags::default(),
11932 memory: DeviceMemory::default(),
11933 }
11934 }
11935}
11936
11937unsafe impl Send for MemoryUnmapInfo {}
11938unsafe impl Sync for MemoryUnmapInfo {}
11939
11940#[repr(C)]
11942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11943pub struct MemoryWin32HandlePropertiesKHR {
11944 pub s_type: StructureType,
11945 pub next: *mut c_void,
11946 pub memory_type_bits: u32,
11947}
11948
11949impl Default for MemoryWin32HandlePropertiesKHR {
11950 #[inline]
11951 fn default() -> Self {
11952 Self {
11953 s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
11954 next: ptr::null_mut(),
11955 memory_type_bits: u32::default(),
11956 }
11957 }
11958}
11959
11960unsafe impl Send for MemoryWin32HandlePropertiesKHR {}
11961unsafe impl Sync for MemoryWin32HandlePropertiesKHR {}
11962
11963#[repr(C)]
11965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11966pub struct MemoryZirconHandlePropertiesFUCHSIA {
11967 pub s_type: StructureType,
11968 pub next: *mut c_void,
11969 pub memory_type_bits: u32,
11970}
11971
11972impl Default for MemoryZirconHandlePropertiesFUCHSIA {
11973 #[inline]
11974 fn default() -> Self {
11975 Self {
11976 s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
11977 next: ptr::null_mut(),
11978 memory_type_bits: u32::default(),
11979 }
11980 }
11981}
11982
11983unsafe impl Send for MemoryZirconHandlePropertiesFUCHSIA {}
11984unsafe impl Sync for MemoryZirconHandlePropertiesFUCHSIA {}
11985
11986#[repr(C)]
11988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11989pub struct MetalSurfaceCreateInfoEXT {
11990 pub s_type: StructureType,
11991 pub next: *const c_void,
11992 pub flags: MetalSurfaceCreateFlagsEXT,
11993 pub layer: *const CAMetalLayer,
11994}
11995
11996impl Default for MetalSurfaceCreateInfoEXT {
11997 #[inline]
11998 fn default() -> Self {
11999 Self {
12000 s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
12001 next: ptr::null(),
12002 flags: MetalSurfaceCreateFlagsEXT::default(),
12003 layer: ptr::null(),
12004 }
12005 }
12006}
12007
12008unsafe impl Send for MetalSurfaceCreateInfoEXT {}
12009unsafe impl Sync for MetalSurfaceCreateInfoEXT {}
12010
12011#[repr(C)]
12013#[derive(Copy, Clone, Debug)]
12014pub struct MicromapBuildInfoEXT {
12015 pub s_type: StructureType,
12016 pub next: *const c_void,
12017 pub type_: MicromapTypeEXT,
12018 pub flags: BuildMicromapFlagsEXT,
12019 pub mode: BuildMicromapModeEXT,
12020 pub dst_micromap: MicromapEXT,
12021 pub usage_counts_count: u32,
12022 pub usage_counts: *const MicromapUsageEXT,
12023 pub pointer_usage_counts: *const *const MicromapUsageEXT,
12024 pub data: DeviceOrHostAddressConstKHR,
12025 pub scratch_data: DeviceOrHostAddressKHR,
12026 pub triangle_array: DeviceOrHostAddressConstKHR,
12027 pub triangle_array_stride: DeviceSize,
12028}
12029
12030impl Default for MicromapBuildInfoEXT {
12031 #[inline]
12032 fn default() -> Self {
12033 Self {
12034 s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
12035 next: ptr::null(),
12036 type_: MicromapTypeEXT::default(),
12037 flags: BuildMicromapFlagsEXT::default(),
12038 mode: BuildMicromapModeEXT::default(),
12039 dst_micromap: MicromapEXT::default(),
12040 usage_counts_count: u32::default(),
12041 usage_counts: ptr::null(),
12042 pointer_usage_counts: ptr::null(),
12043 data: DeviceOrHostAddressConstKHR::default(),
12044 scratch_data: DeviceOrHostAddressKHR::default(),
12045 triangle_array: DeviceOrHostAddressConstKHR::default(),
12046 triangle_array_stride: DeviceSize::default(),
12047 }
12048 }
12049}
12050
12051unsafe impl Send for MicromapBuildInfoEXT {}
12052unsafe impl Sync for MicromapBuildInfoEXT {}
12053
12054#[repr(C)]
12056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12057pub struct MicromapBuildSizesInfoEXT {
12058 pub s_type: StructureType,
12059 pub next: *const c_void,
12060 pub micromap_size: DeviceSize,
12061 pub build_scratch_size: DeviceSize,
12062 pub discardable: Bool32,
12063}
12064
12065impl Default for MicromapBuildSizesInfoEXT {
12066 #[inline]
12067 fn default() -> Self {
12068 Self {
12069 s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
12070 next: ptr::null(),
12071 micromap_size: DeviceSize::default(),
12072 build_scratch_size: DeviceSize::default(),
12073 discardable: Bool32::default(),
12074 }
12075 }
12076}
12077
12078unsafe impl Send for MicromapBuildSizesInfoEXT {}
12079unsafe impl Sync for MicromapBuildSizesInfoEXT {}
12080
12081#[repr(C)]
12083#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12084pub struct MicromapCreateInfoEXT {
12085 pub s_type: StructureType,
12086 pub next: *const c_void,
12087 pub create_flags: MicromapCreateFlagsEXT,
12088 pub buffer: Buffer,
12089 pub offset: DeviceSize,
12090 pub size: DeviceSize,
12091 pub type_: MicromapTypeEXT,
12092 pub device_address: DeviceAddress,
12093}
12094
12095impl Default for MicromapCreateInfoEXT {
12096 #[inline]
12097 fn default() -> Self {
12098 Self {
12099 s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
12100 next: ptr::null(),
12101 create_flags: MicromapCreateFlagsEXT::default(),
12102 buffer: Buffer::default(),
12103 offset: DeviceSize::default(),
12104 size: DeviceSize::default(),
12105 type_: MicromapTypeEXT::default(),
12106 device_address: DeviceAddress::default(),
12107 }
12108 }
12109}
12110
12111unsafe impl Send for MicromapCreateInfoEXT {}
12112unsafe impl Sync for MicromapCreateInfoEXT {}
12113
12114#[repr(C)]
12116#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12117pub struct MicromapTriangleEXT {
12118 pub data_offset: u32,
12119 pub subdivision_level: u16,
12120 pub format: u16,
12121}
12122
12123#[repr(C)]
12125#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12126pub struct MicromapUsageEXT {
12127 pub count: u32,
12128 pub subdivision_level: u32,
12129 pub format: u32,
12130}
12131
12132#[repr(C)]
12134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12135pub struct MicromapVersionInfoEXT {
12136 pub s_type: StructureType,
12137 pub next: *const c_void,
12138 pub version_data: *const u8,
12139}
12140
12141impl Default for MicromapVersionInfoEXT {
12142 #[inline]
12143 fn default() -> Self {
12144 Self {
12145 s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
12146 next: ptr::null(),
12147 version_data: ptr::null(),
12148 }
12149 }
12150}
12151
12152unsafe impl Send for MicromapVersionInfoEXT {}
12153unsafe impl Sync for MicromapVersionInfoEXT {}
12154
12155#[repr(C)]
12157#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12158pub struct MultiDrawIndexedInfoEXT {
12159 pub first_index: u32,
12160 pub index_count: u32,
12161 pub vertex_offset: i32,
12162}
12163
12164#[repr(C)]
12166#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12167pub struct MultiDrawInfoEXT {
12168 pub first_vertex: u32,
12169 pub vertex_count: u32,
12170}
12171
12172#[repr(C)]
12174#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12175pub struct MultisamplePropertiesEXT {
12176 pub s_type: StructureType,
12177 pub next: *mut c_void,
12178 pub max_sample_location_grid_size: Extent2D,
12179}
12180
12181impl Default for MultisamplePropertiesEXT {
12182 #[inline]
12183 fn default() -> Self {
12184 Self {
12185 s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
12186 next: ptr::null_mut(),
12187 max_sample_location_grid_size: Extent2D::default(),
12188 }
12189 }
12190}
12191
12192unsafe impl Send for MultisamplePropertiesEXT {}
12193unsafe impl Sync for MultisamplePropertiesEXT {}
12194
12195#[repr(C)]
12197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12198pub struct MultisampledRenderToSingleSampledInfoEXT {
12199 pub s_type: StructureType,
12200 pub next: *const c_void,
12201 pub multisampled_render_to_single_sampled_enable: Bool32,
12202 pub rasterization_samples: SampleCountFlags,
12203}
12204
12205impl Default for MultisampledRenderToSingleSampledInfoEXT {
12206 #[inline]
12207 fn default() -> Self {
12208 Self {
12209 s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
12210 next: ptr::null(),
12211 multisampled_render_to_single_sampled_enable: Bool32::default(),
12212 rasterization_samples: SampleCountFlags::default(),
12213 }
12214 }
12215}
12216
12217unsafe impl Send for MultisampledRenderToSingleSampledInfoEXT {}
12218unsafe impl Sync for MultisampledRenderToSingleSampledInfoEXT {}
12219
12220#[repr(C)]
12222#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12223pub struct MultiviewPerViewAttributesInfoNVX {
12224 pub s_type: StructureType,
12225 pub next: *const c_void,
12226 pub per_view_attributes: Bool32,
12227 pub per_view_attributes_position_x_only: Bool32,
12228}
12229
12230impl Default for MultiviewPerViewAttributesInfoNVX {
12231 #[inline]
12232 fn default() -> Self {
12233 Self {
12234 s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
12235 next: ptr::null(),
12236 per_view_attributes: Bool32::default(),
12237 per_view_attributes_position_x_only: Bool32::default(),
12238 }
12239 }
12240}
12241
12242unsafe impl Send for MultiviewPerViewAttributesInfoNVX {}
12243unsafe impl Sync for MultiviewPerViewAttributesInfoNVX {}
12244
12245#[repr(C)]
12247#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12248pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12249 pub s_type: StructureType,
12250 pub next: *const c_void,
12251 pub per_view_render_area_count: u32,
12252 pub per_view_render_areas: *const Rect2D,
12253}
12254
12255impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12256 #[inline]
12257 fn default() -> Self {
12258 Self {
12259 s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
12260 next: ptr::null(),
12261 per_view_render_area_count: u32::default(),
12262 per_view_render_areas: ptr::null(),
12263 }
12264 }
12265}
12266
12267unsafe impl Send for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12268unsafe impl Sync for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12269
12270#[repr(C)]
12272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12273pub struct MutableDescriptorTypeCreateInfoEXT {
12274 pub s_type: StructureType,
12275 pub next: *const c_void,
12276 pub mutable_descriptor_type_list_count: u32,
12277 pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
12278}
12279
12280impl Default for MutableDescriptorTypeCreateInfoEXT {
12281 #[inline]
12282 fn default() -> Self {
12283 Self {
12284 s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
12285 next: ptr::null(),
12286 mutable_descriptor_type_list_count: u32::default(),
12287 mutable_descriptor_type_lists: ptr::null(),
12288 }
12289 }
12290}
12291
12292unsafe impl Send for MutableDescriptorTypeCreateInfoEXT {}
12293unsafe impl Sync for MutableDescriptorTypeCreateInfoEXT {}
12294
12295#[repr(C)]
12297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12298pub struct MutableDescriptorTypeListEXT {
12299 pub descriptor_type_count: u32,
12300 pub descriptor_types: *const DescriptorType,
12301}
12302
12303impl Default for MutableDescriptorTypeListEXT {
12304 #[inline]
12305 fn default() -> Self {
12306 Self {
12307 descriptor_type_count: u32::default(),
12308 descriptor_types: ptr::null(),
12309 }
12310 }
12311}
12312
12313unsafe impl Send for MutableDescriptorTypeListEXT {}
12314unsafe impl Sync for MutableDescriptorTypeListEXT {}
12315
12316#[repr(C)]
12318#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12319pub struct NativeBufferFormatPropertiesOHOS {
12320 pub s_type: StructureType,
12321 pub next: *mut c_void,
12322 pub format: Format,
12323 pub external_format: u64,
12324 pub format_features: FormatFeatureFlags,
12325 pub sampler_ycbcr_conversion_components: ComponentMapping,
12326 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
12327 pub suggested_ycbcr_range: SamplerYcbcrRange,
12328 pub suggested_x_chroma_offset: ChromaLocation,
12329 pub suggested_y_chroma_offset: ChromaLocation,
12330}
12331
12332impl Default for NativeBufferFormatPropertiesOHOS {
12333 #[inline]
12334 fn default() -> Self {
12335 Self {
12336 s_type: StructureType::NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS,
12337 next: ptr::null_mut(),
12338 format: Format::default(),
12339 external_format: u64::default(),
12340 format_features: FormatFeatureFlags::default(),
12341 sampler_ycbcr_conversion_components: ComponentMapping::default(),
12342 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
12343 suggested_ycbcr_range: SamplerYcbcrRange::default(),
12344 suggested_x_chroma_offset: ChromaLocation::default(),
12345 suggested_y_chroma_offset: ChromaLocation::default(),
12346 }
12347 }
12348}
12349
12350unsafe impl Send for NativeBufferFormatPropertiesOHOS {}
12351unsafe impl Sync for NativeBufferFormatPropertiesOHOS {}
12352
12353#[repr(C)]
12355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12356pub struct NativeBufferOHOS {
12357 pub s_type: StructureType,
12358 pub next: *const c_void,
12359 pub handle: *mut OHBufferHandle,
12360}
12361
12362impl Default for NativeBufferOHOS {
12363 #[inline]
12364 fn default() -> Self {
12365 Self {
12366 s_type: StructureType::NATIVE_BUFFER_OHOS,
12367 next: ptr::null(),
12368 handle: ptr::null_mut(),
12369 }
12370 }
12371}
12372
12373unsafe impl Send for NativeBufferOHOS {}
12374unsafe impl Sync for NativeBufferOHOS {}
12375
12376#[repr(C)]
12378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12379pub struct NativeBufferPropertiesOHOS {
12380 pub s_type: StructureType,
12381 pub next: *mut c_void,
12382 pub allocation_size: DeviceSize,
12383 pub memory_type_bits: u32,
12384}
12385
12386impl Default for NativeBufferPropertiesOHOS {
12387 #[inline]
12388 fn default() -> Self {
12389 Self {
12390 s_type: StructureType::NATIVE_BUFFER_PROPERTIES_OHOS,
12391 next: ptr::null_mut(),
12392 allocation_size: DeviceSize::default(),
12393 memory_type_bits: u32::default(),
12394 }
12395 }
12396}
12397
12398unsafe impl Send for NativeBufferPropertiesOHOS {}
12399unsafe impl Sync for NativeBufferPropertiesOHOS {}
12400
12401#[repr(C)]
12403#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12404pub struct NativeBufferUsageOHOS {
12405 pub s_type: StructureType,
12406 pub next: *mut c_void,
12407 pub ohos_native_buffer_usage: u64,
12408}
12409
12410impl Default for NativeBufferUsageOHOS {
12411 #[inline]
12412 fn default() -> Self {
12413 Self {
12414 s_type: StructureType::NATIVE_BUFFER_USAGE_OHOS,
12415 next: ptr::null_mut(),
12416 ohos_native_buffer_usage: u64::default(),
12417 }
12418 }
12419}
12420
12421unsafe impl Send for NativeBufferUsageOHOS {}
12422unsafe impl Sync for NativeBufferUsageOHOS {}
12423
12424#[repr(C)]
12426#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12427pub struct Offset2D {
12428 pub x: i32,
12429 pub y: i32,
12430}
12431
12432#[repr(C)]
12434#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12435pub struct Offset3D {
12436 pub x: i32,
12437 pub y: i32,
12438 pub z: i32,
12439}
12440
12441#[repr(C)]
12443#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12444pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
12445 pub s_type: StructureType,
12446 pub next: *const c_void,
12447 pub opaque_capture_descriptor_data: *const c_void,
12448}
12449
12450impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
12451 #[inline]
12452 fn default() -> Self {
12453 Self {
12454 s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
12455 next: ptr::null(),
12456 opaque_capture_descriptor_data: ptr::null(),
12457 }
12458 }
12459}
12460
12461unsafe impl Send for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12462unsafe impl Sync for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12463
12464#[repr(C)]
12466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12467pub struct OpticalFlowExecuteInfoNV {
12468 pub s_type: StructureType,
12469 pub next: *mut c_void,
12470 pub flags: OpticalFlowExecuteFlagsNV,
12471 pub region_count: u32,
12472 pub regions: *const Rect2D,
12473}
12474
12475impl Default for OpticalFlowExecuteInfoNV {
12476 #[inline]
12477 fn default() -> Self {
12478 Self {
12479 s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
12480 next: ptr::null_mut(),
12481 flags: OpticalFlowExecuteFlagsNV::default(),
12482 region_count: u32::default(),
12483 regions: ptr::null(),
12484 }
12485 }
12486}
12487
12488unsafe impl Send for OpticalFlowExecuteInfoNV {}
12489unsafe impl Sync for OpticalFlowExecuteInfoNV {}
12490
12491#[repr(C)]
12493#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12494pub struct OpticalFlowImageFormatInfoNV {
12495 pub s_type: StructureType,
12496 pub next: *const c_void,
12497 pub usage: OpticalFlowUsageFlagsNV,
12498}
12499
12500impl Default for OpticalFlowImageFormatInfoNV {
12501 #[inline]
12502 fn default() -> Self {
12503 Self {
12504 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
12505 next: ptr::null(),
12506 usage: OpticalFlowUsageFlagsNV::default(),
12507 }
12508 }
12509}
12510
12511unsafe impl Send for OpticalFlowImageFormatInfoNV {}
12512unsafe impl Sync for OpticalFlowImageFormatInfoNV {}
12513
12514#[repr(C)]
12516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12517pub struct OpticalFlowImageFormatPropertiesNV {
12518 pub s_type: StructureType,
12519 pub next: *const c_void,
12520 pub format: Format,
12521}
12522
12523impl Default for OpticalFlowImageFormatPropertiesNV {
12524 #[inline]
12525 fn default() -> Self {
12526 Self {
12527 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
12528 next: ptr::null(),
12529 format: Format::default(),
12530 }
12531 }
12532}
12533
12534unsafe impl Send for OpticalFlowImageFormatPropertiesNV {}
12535unsafe impl Sync for OpticalFlowImageFormatPropertiesNV {}
12536
12537#[repr(C)]
12539#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12540pub struct OpticalFlowSessionCreateInfoNV {
12541 pub s_type: StructureType,
12542 pub next: *mut c_void,
12543 pub width: u32,
12544 pub height: u32,
12545 pub image_format: Format,
12546 pub flow_vector_format: Format,
12547 pub cost_format: Format,
12548 pub output_grid_size: OpticalFlowGridSizeFlagsNV,
12549 pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
12550 pub performance_level: OpticalFlowPerformanceLevelNV,
12551 pub flags: OpticalFlowSessionCreateFlagsNV,
12552}
12553
12554impl Default for OpticalFlowSessionCreateInfoNV {
12555 #[inline]
12556 fn default() -> Self {
12557 Self {
12558 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
12559 next: ptr::null_mut(),
12560 width: u32::default(),
12561 height: u32::default(),
12562 image_format: Format::default(),
12563 flow_vector_format: Format::default(),
12564 cost_format: Format::default(),
12565 output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12566 hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12567 performance_level: OpticalFlowPerformanceLevelNV::default(),
12568 flags: OpticalFlowSessionCreateFlagsNV::default(),
12569 }
12570 }
12571}
12572
12573unsafe impl Send for OpticalFlowSessionCreateInfoNV {}
12574unsafe impl Sync for OpticalFlowSessionCreateInfoNV {}
12575
12576#[repr(C)]
12578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12579pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
12580 pub s_type: StructureType,
12581 pub next: *mut c_void,
12582 pub id: u32,
12583 pub size: u32,
12584 pub private_data: *const c_void,
12585}
12586
12587impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
12588 #[inline]
12589 fn default() -> Self {
12590 Self {
12591 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
12592 next: ptr::null_mut(),
12593 id: u32::default(),
12594 size: u32::default(),
12595 private_data: ptr::null(),
12596 }
12597 }
12598}
12599
12600unsafe impl Send for OpticalFlowSessionCreatePrivateDataInfoNV {}
12601unsafe impl Sync for OpticalFlowSessionCreatePrivateDataInfoNV {}
12602
12603#[repr(C)]
12605#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12606pub struct OutOfBandQueueTypeInfoNV {
12607 pub s_type: StructureType,
12608 pub next: *const c_void,
12609 pub queue_type: OutOfBandQueueTypeNV,
12610}
12611
12612impl Default for OutOfBandQueueTypeInfoNV {
12613 #[inline]
12614 fn default() -> Self {
12615 Self {
12616 s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
12617 next: ptr::null(),
12618 queue_type: OutOfBandQueueTypeNV::default(),
12619 }
12620 }
12621}
12622
12623unsafe impl Send for OutOfBandQueueTypeInfoNV {}
12624unsafe impl Sync for OutOfBandQueueTypeInfoNV {}
12625
12626#[repr(C)]
12628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12629pub struct PartitionedAccelerationStructureFlagsNV {
12630 pub s_type: StructureType,
12631 pub next: *mut c_void,
12632 pub enable_partition_translation: Bool32,
12633}
12634
12635impl Default for PartitionedAccelerationStructureFlagsNV {
12636 #[inline]
12637 fn default() -> Self {
12638 Self {
12639 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
12640 next: ptr::null_mut(),
12641 enable_partition_translation: Bool32::default(),
12642 }
12643 }
12644}
12645
12646unsafe impl Send for PartitionedAccelerationStructureFlagsNV {}
12647unsafe impl Sync for PartitionedAccelerationStructureFlagsNV {}
12648
12649#[repr(C)]
12651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12652pub struct PartitionedAccelerationStructureInstancesInputNV {
12653 pub s_type: StructureType,
12654 pub next: *mut c_void,
12655 pub flags: BuildAccelerationStructureFlagsKHR,
12656 pub instance_count: u32,
12657 pub max_instance_per_partition_count: u32,
12658 pub partition_count: u32,
12659 pub max_instance_in_global_partition_count: u32,
12660}
12661
12662impl Default for PartitionedAccelerationStructureInstancesInputNV {
12663 #[inline]
12664 fn default() -> Self {
12665 Self {
12666 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
12667 next: ptr::null_mut(),
12668 flags: BuildAccelerationStructureFlagsKHR::default(),
12669 instance_count: u32::default(),
12670 max_instance_per_partition_count: u32::default(),
12671 partition_count: u32::default(),
12672 max_instance_in_global_partition_count: u32::default(),
12673 }
12674 }
12675}
12676
12677unsafe impl Send for PartitionedAccelerationStructureInstancesInputNV {}
12678unsafe impl Sync for PartitionedAccelerationStructureInstancesInputNV {}
12679
12680#[repr(C)]
12682#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12683pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
12684 pub instance_index: u32,
12685 pub instance_contribution_to_hit_group_index: u32,
12686 pub acceleration_structure: DeviceAddress,
12687}
12688
12689#[repr(C)]
12691#[derive(Copy, Clone, Default, Debug, PartialEq)]
12692pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
12693 pub transform: TransformMatrixKHR,
12694 pub explicit_aabb: [f32; 6],
12695 pub instance_id: u32,
12696 pub instance_mask: u32,
12697 pub instance_contribution_to_hit_group_index: u32,
12698 pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
12699 pub instance_index: u32,
12700 pub partition_index: u32,
12701 pub acceleration_structure: DeviceAddress,
12702}
12703
12704#[repr(C)]
12706#[derive(Copy, Clone, Default, Debug, PartialEq)]
12707pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
12708 pub partition_index: u32,
12709 pub partition_translation: [f32; 3],
12710}
12711
12712#[repr(C)]
12714#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12715pub struct PastPresentationTimingGOOGLE {
12716 pub present_id: u32,
12717 pub desired_present_time: u64,
12718 pub actual_present_time: u64,
12719 pub earliest_present_time: u64,
12720 pub present_margin: u64,
12721}
12722
12723#[repr(C)]
12725#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12726pub struct PerTileBeginInfoQCOM {
12727 pub s_type: StructureType,
12728 pub next: *const c_void,
12729}
12730
12731impl Default for PerTileBeginInfoQCOM {
12732 #[inline]
12733 fn default() -> Self {
12734 Self {
12735 s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
12736 next: ptr::null(),
12737 }
12738 }
12739}
12740
12741unsafe impl Send for PerTileBeginInfoQCOM {}
12742unsafe impl Sync for PerTileBeginInfoQCOM {}
12743
12744#[repr(C)]
12746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12747pub struct PerTileEndInfoQCOM {
12748 pub s_type: StructureType,
12749 pub next: *const c_void,
12750}
12751
12752impl Default for PerTileEndInfoQCOM {
12753 #[inline]
12754 fn default() -> Self {
12755 Self {
12756 s_type: StructureType::PER_TILE_END_INFO_QCOM,
12757 next: ptr::null(),
12758 }
12759 }
12760}
12761
12762unsafe impl Send for PerTileEndInfoQCOM {}
12763unsafe impl Sync for PerTileEndInfoQCOM {}
12764
12765#[repr(C)]
12767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12768pub struct PerformanceConfigurationAcquireInfoINTEL {
12769 pub s_type: StructureType,
12770 pub next: *const c_void,
12771 pub type_: PerformanceConfigurationTypeINTEL,
12772}
12773
12774impl Default for PerformanceConfigurationAcquireInfoINTEL {
12775 #[inline]
12776 fn default() -> Self {
12777 Self {
12778 s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
12779 next: ptr::null(),
12780 type_: PerformanceConfigurationTypeINTEL::default(),
12781 }
12782 }
12783}
12784
12785unsafe impl Send for PerformanceConfigurationAcquireInfoINTEL {}
12786unsafe impl Sync for PerformanceConfigurationAcquireInfoINTEL {}
12787
12788#[repr(C)]
12790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12791pub struct PerformanceCounterARM {
12792 pub s_type: StructureType,
12793 pub next: *mut c_void,
12794 pub counter_id: u32,
12795}
12796
12797impl Default for PerformanceCounterARM {
12798 #[inline]
12799 fn default() -> Self {
12800 Self {
12801 s_type: StructureType::PERFORMANCE_COUNTER_ARM,
12802 next: ptr::null_mut(),
12803 counter_id: u32::default(),
12804 }
12805 }
12806}
12807
12808unsafe impl Send for PerformanceCounterARM {}
12809unsafe impl Sync for PerformanceCounterARM {}
12810
12811#[repr(C)]
12813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12814pub struct PerformanceCounterDescriptionARM {
12815 pub s_type: StructureType,
12816 pub next: *mut c_void,
12817 pub flags: PerformanceCounterDescriptionFlagsARM,
12818 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
12819}
12820
12821impl Default for PerformanceCounterDescriptionARM {
12822 #[inline]
12823 fn default() -> Self {
12824 Self {
12825 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_ARM,
12826 next: ptr::null_mut(),
12827 flags: PerformanceCounterDescriptionFlagsARM::default(),
12828 name: StringArray::default(),
12829 }
12830 }
12831}
12832
12833unsafe impl Send for PerformanceCounterDescriptionARM {}
12834unsafe impl Sync for PerformanceCounterDescriptionARM {}
12835
12836#[repr(C)]
12838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12839pub struct PerformanceCounterDescriptionKHR {
12840 pub s_type: StructureType,
12841 pub next: *mut c_void,
12842 pub flags: PerformanceCounterDescriptionFlagsKHR,
12843 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
12844 pub category: StringArray<MAX_DESCRIPTION_SIZE>,
12845 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
12846}
12847
12848impl Default for PerformanceCounterDescriptionKHR {
12849 #[inline]
12850 fn default() -> Self {
12851 Self {
12852 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
12853 next: ptr::null_mut(),
12854 flags: PerformanceCounterDescriptionFlagsKHR::default(),
12855 name: StringArray::default(),
12856 category: StringArray::default(),
12857 description: StringArray::default(),
12858 }
12859 }
12860}
12861
12862unsafe impl Send for PerformanceCounterDescriptionKHR {}
12863unsafe impl Sync for PerformanceCounterDescriptionKHR {}
12864
12865#[repr(C)]
12867#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12868pub struct PerformanceCounterKHR {
12869 pub s_type: StructureType,
12870 pub next: *mut c_void,
12871 pub unit: PerformanceCounterUnitKHR,
12872 pub scope: PerformanceCounterScopeKHR,
12873 pub storage: PerformanceCounterStorageKHR,
12874 pub uuid: ByteArray<UUID_SIZE>,
12875}
12876
12877impl Default for PerformanceCounterKHR {
12878 #[inline]
12879 fn default() -> Self {
12880 Self {
12881 s_type: StructureType::PERFORMANCE_COUNTER_KHR,
12882 next: ptr::null_mut(),
12883 unit: PerformanceCounterUnitKHR::default(),
12884 scope: PerformanceCounterScopeKHR::default(),
12885 storage: PerformanceCounterStorageKHR::default(),
12886 uuid: ByteArray::default(),
12887 }
12888 }
12889}
12890
12891unsafe impl Send for PerformanceCounterKHR {}
12892unsafe impl Sync for PerformanceCounterKHR {}
12893
12894#[repr(C)]
12896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12897pub struct PerformanceMarkerInfoINTEL {
12898 pub s_type: StructureType,
12899 pub next: *const c_void,
12900 pub marker: u64,
12901}
12902
12903impl Default for PerformanceMarkerInfoINTEL {
12904 #[inline]
12905 fn default() -> Self {
12906 Self {
12907 s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
12908 next: ptr::null(),
12909 marker: u64::default(),
12910 }
12911 }
12912}
12913
12914unsafe impl Send for PerformanceMarkerInfoINTEL {}
12915unsafe impl Sync for PerformanceMarkerInfoINTEL {}
12916
12917#[repr(C)]
12919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12920pub struct PerformanceOverrideInfoINTEL {
12921 pub s_type: StructureType,
12922 pub next: *const c_void,
12923 pub type_: PerformanceOverrideTypeINTEL,
12924 pub enable: Bool32,
12925 pub parameter: u64,
12926}
12927
12928impl Default for PerformanceOverrideInfoINTEL {
12929 #[inline]
12930 fn default() -> Self {
12931 Self {
12932 s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
12933 next: ptr::null(),
12934 type_: PerformanceOverrideTypeINTEL::default(),
12935 enable: Bool32::default(),
12936 parameter: u64::default(),
12937 }
12938 }
12939}
12940
12941unsafe impl Send for PerformanceOverrideInfoINTEL {}
12942unsafe impl Sync for PerformanceOverrideInfoINTEL {}
12943
12944#[repr(C)]
12946#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12947pub struct PerformanceQueryReservationInfoKHR {
12948 pub s_type: StructureType,
12949 pub next: *const c_void,
12950 pub max_performance_queries_per_pool: u32,
12951}
12952
12953impl Default for PerformanceQueryReservationInfoKHR {
12954 #[inline]
12955 fn default() -> Self {
12956 Self {
12957 s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
12958 next: ptr::null(),
12959 max_performance_queries_per_pool: u32::default(),
12960 }
12961 }
12962}
12963
12964unsafe impl Send for PerformanceQueryReservationInfoKHR {}
12965unsafe impl Sync for PerformanceQueryReservationInfoKHR {}
12966
12967#[repr(C)]
12969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12970pub struct PerformanceQuerySubmitInfoKHR {
12971 pub s_type: StructureType,
12972 pub next: *const c_void,
12973 pub counter_pass_index: u32,
12974}
12975
12976impl Default for PerformanceQuerySubmitInfoKHR {
12977 #[inline]
12978 fn default() -> Self {
12979 Self {
12980 s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
12981 next: ptr::null(),
12982 counter_pass_index: u32::default(),
12983 }
12984 }
12985}
12986
12987unsafe impl Send for PerformanceQuerySubmitInfoKHR {}
12988unsafe impl Sync for PerformanceQuerySubmitInfoKHR {}
12989
12990#[repr(C)]
12992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12993pub struct PerformanceStreamMarkerInfoINTEL {
12994 pub s_type: StructureType,
12995 pub next: *const c_void,
12996 pub marker: u32,
12997}
12998
12999impl Default for PerformanceStreamMarkerInfoINTEL {
13000 #[inline]
13001 fn default() -> Self {
13002 Self {
13003 s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
13004 next: ptr::null(),
13005 marker: u32::default(),
13006 }
13007 }
13008}
13009
13010unsafe impl Send for PerformanceStreamMarkerInfoINTEL {}
13011unsafe impl Sync for PerformanceStreamMarkerInfoINTEL {}
13012
13013#[repr(C)]
13015#[derive(Copy, Clone, Default, Debug)]
13016pub struct PerformanceValueINTEL {
13017 pub type_: PerformanceValueTypeINTEL,
13018 pub data: PerformanceValueDataINTEL,
13019}
13020
13021#[repr(C)]
13023#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13024pub struct PhysicalDevice16BitStorageFeatures {
13025 pub s_type: StructureType,
13026 pub next: *mut c_void,
13027 pub storage_buffer_16bit_access: Bool32,
13028 pub uniform_and_storage_buffer_16bit_access: Bool32,
13029 pub storage_push_constant16: Bool32,
13030 pub storage_input_output16: Bool32,
13031}
13032
13033impl Default for PhysicalDevice16BitStorageFeatures {
13034 #[inline]
13035 fn default() -> Self {
13036 Self {
13037 s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
13038 next: ptr::null_mut(),
13039 storage_buffer_16bit_access: Bool32::default(),
13040 uniform_and_storage_buffer_16bit_access: Bool32::default(),
13041 storage_push_constant16: Bool32::default(),
13042 storage_input_output16: Bool32::default(),
13043 }
13044 }
13045}
13046
13047unsafe impl Send for PhysicalDevice16BitStorageFeatures {}
13048unsafe impl Sync for PhysicalDevice16BitStorageFeatures {}
13049
13050#[repr(C)]
13052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13053pub struct PhysicalDevice4444FormatsFeaturesEXT {
13054 pub s_type: StructureType,
13055 pub next: *mut c_void,
13056 pub format_a4_r4_g4_b4: Bool32,
13057 pub format_a4_b4_g4_r4: Bool32,
13058}
13059
13060impl Default for PhysicalDevice4444FormatsFeaturesEXT {
13061 #[inline]
13062 fn default() -> Self {
13063 Self {
13064 s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
13065 next: ptr::null_mut(),
13066 format_a4_r4_g4_b4: Bool32::default(),
13067 format_a4_b4_g4_r4: Bool32::default(),
13068 }
13069 }
13070}
13071
13072unsafe impl Send for PhysicalDevice4444FormatsFeaturesEXT {}
13073unsafe impl Sync for PhysicalDevice4444FormatsFeaturesEXT {}
13074
13075#[repr(C)]
13077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13078pub struct PhysicalDevice8BitStorageFeatures {
13079 pub s_type: StructureType,
13080 pub next: *mut c_void,
13081 pub storage_buffer_8bit_access: Bool32,
13082 pub uniform_and_storage_buffer_8bit_access: Bool32,
13083 pub storage_push_constant8: Bool32,
13084}
13085
13086impl Default for PhysicalDevice8BitStorageFeatures {
13087 #[inline]
13088 fn default() -> Self {
13089 Self {
13090 s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
13091 next: ptr::null_mut(),
13092 storage_buffer_8bit_access: Bool32::default(),
13093 uniform_and_storage_buffer_8bit_access: Bool32::default(),
13094 storage_push_constant8: Bool32::default(),
13095 }
13096 }
13097}
13098
13099unsafe impl Send for PhysicalDevice8BitStorageFeatures {}
13100unsafe impl Sync for PhysicalDevice8BitStorageFeatures {}
13101
13102#[repr(C)]
13104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13105pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
13106 pub s_type: StructureType,
13107 pub next: *mut c_void,
13108 pub decode_mode_shared_exponent: Bool32,
13109}
13110
13111impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
13112 #[inline]
13113 fn default() -> Self {
13114 Self {
13115 s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
13116 next: ptr::null_mut(),
13117 decode_mode_shared_exponent: Bool32::default(),
13118 }
13119 }
13120}
13121
13122unsafe impl Send for PhysicalDeviceASTCDecodeFeaturesEXT {}
13123unsafe impl Sync for PhysicalDeviceASTCDecodeFeaturesEXT {}
13124
13125#[repr(C)]
13127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13128pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
13129 pub s_type: StructureType,
13130 pub next: *mut c_void,
13131 pub acceleration_structure: Bool32,
13132 pub acceleration_structure_capture_replay: Bool32,
13133 pub acceleration_structure_indirect_build: Bool32,
13134 pub acceleration_structure_host_commands: Bool32,
13135 pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
13136}
13137
13138impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
13139 #[inline]
13140 fn default() -> Self {
13141 Self {
13142 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
13143 next: ptr::null_mut(),
13144 acceleration_structure: Bool32::default(),
13145 acceleration_structure_capture_replay: Bool32::default(),
13146 acceleration_structure_indirect_build: Bool32::default(),
13147 acceleration_structure_host_commands: Bool32::default(),
13148 descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
13149 }
13150 }
13151}
13152
13153unsafe impl Send for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13154unsafe impl Sync for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13155
13156#[repr(C)]
13158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13159pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
13160 pub s_type: StructureType,
13161 pub next: *mut c_void,
13162 pub max_geometry_count: u64,
13163 pub max_instance_count: u64,
13164 pub max_primitive_count: u64,
13165 pub max_per_stage_descriptor_acceleration_structures: u32,
13166 pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
13167 pub max_descriptor_set_acceleration_structures: u32,
13168 pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
13169 pub min_acceleration_structure_scratch_offset_alignment: u32,
13170}
13171
13172impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
13173 #[inline]
13174 fn default() -> Self {
13175 Self {
13176 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
13177 next: ptr::null_mut(),
13178 max_geometry_count: u64::default(),
13179 max_instance_count: u64::default(),
13180 max_primitive_count: u64::default(),
13181 max_per_stage_descriptor_acceleration_structures: u32::default(),
13182 max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
13183 max_descriptor_set_acceleration_structures: u32::default(),
13184 max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
13185 min_acceleration_structure_scratch_offset_alignment: u32::default(),
13186 }
13187 }
13188}
13189
13190unsafe impl Send for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13191unsafe impl Sync for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13192
13193#[repr(C)]
13195#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13196pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
13197 pub s_type: StructureType,
13198 pub next: *mut c_void,
13199 pub report_address_binding: Bool32,
13200}
13201
13202impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
13203 #[inline]
13204 fn default() -> Self {
13205 Self {
13206 s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
13207 next: ptr::null_mut(),
13208 report_address_binding: Bool32::default(),
13209 }
13210 }
13211}
13212
13213unsafe impl Send for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13214unsafe impl Sync for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13215
13216#[repr(C)]
13218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13219pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
13220 pub s_type: StructureType,
13221 pub next: *mut c_void,
13222 pub amigo_profiling: Bool32,
13223}
13224
13225impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
13226 #[inline]
13227 fn default() -> Self {
13228 Self {
13229 s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
13230 next: ptr::null_mut(),
13231 amigo_profiling: Bool32::default(),
13232 }
13233 }
13234}
13235
13236unsafe impl Send for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13237unsafe impl Sync for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13238
13239#[repr(C)]
13241#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13242pub struct PhysicalDeviceAntiLagFeaturesAMD {
13243 pub s_type: StructureType,
13244 pub next: *mut c_void,
13245 pub anti_lag: Bool32,
13246}
13247
13248impl Default for PhysicalDeviceAntiLagFeaturesAMD {
13249 #[inline]
13250 fn default() -> Self {
13251 Self {
13252 s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
13253 next: ptr::null_mut(),
13254 anti_lag: Bool32::default(),
13255 }
13256 }
13257}
13258
13259unsafe impl Send for PhysicalDeviceAntiLagFeaturesAMD {}
13260unsafe impl Sync for PhysicalDeviceAntiLagFeaturesAMD {}
13261
13262#[repr(C)]
13264#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13265pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13266 pub s_type: StructureType,
13267 pub next: *mut c_void,
13268 pub attachment_feedback_loop_dynamic_state: Bool32,
13269}
13270
13271impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13272 #[inline]
13273 fn default() -> Self {
13274 Self {
13275 s_type:
13276 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
13277 next: ptr::null_mut(),
13278 attachment_feedback_loop_dynamic_state: Bool32::default(),
13279 }
13280 }
13281}
13282
13283unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13284unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13285
13286#[repr(C)]
13288#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13289pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13290 pub s_type: StructureType,
13291 pub next: *mut c_void,
13292 pub attachment_feedback_loop_layout: Bool32,
13293}
13294
13295impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13296 #[inline]
13297 fn default() -> Self {
13298 Self {
13299 s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
13300 next: ptr::null_mut(),
13301 attachment_feedback_loop_layout: Bool32::default(),
13302 }
13303 }
13304}
13305
13306unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13307unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13308
13309#[repr(C)]
13311#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13312pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13313 pub s_type: StructureType,
13314 pub next: *mut c_void,
13315 pub advanced_blend_coherent_operations: Bool32,
13316}
13317
13318impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13319 #[inline]
13320 fn default() -> Self {
13321 Self {
13322 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
13323 next: ptr::null_mut(),
13324 advanced_blend_coherent_operations: Bool32::default(),
13325 }
13326 }
13327}
13328
13329unsafe impl Send for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13330unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13331
13332#[repr(C)]
13334#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13335pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13336 pub s_type: StructureType,
13337 pub next: *mut c_void,
13338 pub advanced_blend_max_color_attachments: u32,
13339 pub advanced_blend_independent_blend: Bool32,
13340 pub advanced_blend_non_premultiplied_src_color: Bool32,
13341 pub advanced_blend_non_premultiplied_dst_color: Bool32,
13342 pub advanced_blend_correlated_overlap: Bool32,
13343 pub advanced_blend_all_operations: Bool32,
13344}
13345
13346impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13347 #[inline]
13348 fn default() -> Self {
13349 Self {
13350 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
13351 next: ptr::null_mut(),
13352 advanced_blend_max_color_attachments: u32::default(),
13353 advanced_blend_independent_blend: Bool32::default(),
13354 advanced_blend_non_premultiplied_src_color: Bool32::default(),
13355 advanced_blend_non_premultiplied_dst_color: Bool32::default(),
13356 advanced_blend_correlated_overlap: Bool32::default(),
13357 advanced_blend_all_operations: Bool32::default(),
13358 }
13359 }
13360}
13361
13362unsafe impl Send for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13363unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13364
13365#[repr(C)]
13367#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13368pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13369 pub s_type: StructureType,
13370 pub next: *mut c_void,
13371 pub border_color_swizzle: Bool32,
13372 pub border_color_swizzle_from_image: Bool32,
13373}
13374
13375impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13376 #[inline]
13377 fn default() -> Self {
13378 Self {
13379 s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
13380 next: ptr::null_mut(),
13381 border_color_swizzle: Bool32::default(),
13382 border_color_swizzle_from_image: Bool32::default(),
13383 }
13384 }
13385}
13386
13387unsafe impl Send for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13388unsafe impl Sync for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13389
13390#[repr(C)]
13392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13393pub struct PhysicalDeviceBufferDeviceAddressFeatures {
13394 pub s_type: StructureType,
13395 pub next: *mut c_void,
13396 pub buffer_device_address: Bool32,
13397 pub buffer_device_address_capture_replay: Bool32,
13398 pub buffer_device_address_multi_device: Bool32,
13399}
13400
13401impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
13402 #[inline]
13403 fn default() -> Self {
13404 Self {
13405 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
13406 next: ptr::null_mut(),
13407 buffer_device_address: Bool32::default(),
13408 buffer_device_address_capture_replay: Bool32::default(),
13409 buffer_device_address_multi_device: Bool32::default(),
13410 }
13411 }
13412}
13413
13414unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeatures {}
13415unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeatures {}
13416
13417#[repr(C)]
13419#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13420pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13421 pub s_type: StructureType,
13422 pub next: *mut c_void,
13423 pub buffer_device_address: Bool32,
13424 pub buffer_device_address_capture_replay: Bool32,
13425 pub buffer_device_address_multi_device: Bool32,
13426}
13427
13428impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13429 #[inline]
13430 fn default() -> Self {
13431 Self {
13432 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
13433 next: ptr::null_mut(),
13434 buffer_device_address: Bool32::default(),
13435 buffer_device_address_capture_replay: Bool32::default(),
13436 buffer_device_address_multi_device: Bool32::default(),
13437 }
13438 }
13439}
13440
13441unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13442unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13443
13444#[repr(C)]
13446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13447pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13448 pub s_type: StructureType,
13449 pub next: *mut c_void,
13450 pub cluster_acceleration_structure: Bool32,
13451}
13452
13453impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13454 #[inline]
13455 fn default() -> Self {
13456 Self {
13457 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
13458 next: ptr::null_mut(),
13459 cluster_acceleration_structure: Bool32::default(),
13460 }
13461 }
13462}
13463
13464unsafe impl Send for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13465unsafe impl Sync for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13466
13467#[repr(C)]
13469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13470pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13471 pub s_type: StructureType,
13472 pub next: *mut c_void,
13473 pub max_vertices_per_cluster: u32,
13474 pub max_triangles_per_cluster: u32,
13475 pub cluster_scratch_byte_alignment: u32,
13476 pub cluster_byte_alignment: u32,
13477 pub cluster_template_byte_alignment: u32,
13478 pub cluster_bottom_level_byte_alignment: u32,
13479 pub cluster_template_bounds_byte_alignment: u32,
13480 pub max_cluster_geometry_index: u32,
13481}
13482
13483impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13484 #[inline]
13485 fn default() -> Self {
13486 Self {
13487 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
13488 next: ptr::null_mut(),
13489 max_vertices_per_cluster: u32::default(),
13490 max_triangles_per_cluster: u32::default(),
13491 cluster_scratch_byte_alignment: u32::default(),
13492 cluster_byte_alignment: u32::default(),
13493 cluster_template_byte_alignment: u32::default(),
13494 cluster_bottom_level_byte_alignment: u32::default(),
13495 cluster_template_bounds_byte_alignment: u32::default(),
13496 max_cluster_geometry_index: u32::default(),
13497 }
13498 }
13499}
13500
13501unsafe impl Send for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13502unsafe impl Sync for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13503
13504#[repr(C)]
13506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13507pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13508 pub s_type: StructureType,
13509 pub next: *mut c_void,
13510 pub clusterculling_shader: Bool32,
13511 pub multiview_cluster_culling_shader: Bool32,
13512}
13513
13514impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13515 #[inline]
13516 fn default() -> Self {
13517 Self {
13518 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
13519 next: ptr::null_mut(),
13520 clusterculling_shader: Bool32::default(),
13521 multiview_cluster_culling_shader: Bool32::default(),
13522 }
13523 }
13524}
13525
13526unsafe impl Send for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13527unsafe impl Sync for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13528
13529#[repr(C)]
13531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13532pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13533 pub s_type: StructureType,
13534 pub next: *mut c_void,
13535 pub max_work_group_count: [u32; 3],
13536 pub max_work_group_size: [u32; 3],
13537 pub max_output_cluster_count: u32,
13538 pub indirect_buffer_offset_alignment: DeviceSize,
13539}
13540
13541impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13542 #[inline]
13543 fn default() -> Self {
13544 Self {
13545 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
13546 next: ptr::null_mut(),
13547 max_work_group_count: [u32::default(); 3],
13548 max_work_group_size: [u32::default(); 3],
13549 max_output_cluster_count: u32::default(),
13550 indirect_buffer_offset_alignment: DeviceSize::default(),
13551 }
13552 }
13553}
13554
13555unsafe impl Send for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13556unsafe impl Sync for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13557
13558#[repr(C)]
13560#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13561pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13562 pub s_type: StructureType,
13563 pub next: *mut c_void,
13564 pub cluster_shading_rate: Bool32,
13565}
13566
13567impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13568 #[inline]
13569 fn default() -> Self {
13570 Self {
13571 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
13572 next: ptr::null_mut(),
13573 cluster_shading_rate: Bool32::default(),
13574 }
13575 }
13576}
13577
13578unsafe impl Send for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13579unsafe impl Sync for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13580
13581#[repr(C)]
13583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13584pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
13585 pub s_type: StructureType,
13586 pub next: *mut c_void,
13587 pub device_coherent_memory: Bool32,
13588}
13589
13590impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
13591 #[inline]
13592 fn default() -> Self {
13593 Self {
13594 s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
13595 next: ptr::null_mut(),
13596 device_coherent_memory: Bool32::default(),
13597 }
13598 }
13599}
13600
13601unsafe impl Send for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13602unsafe impl Sync for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13603
13604#[repr(C)]
13606#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13607pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
13608 pub s_type: StructureType,
13609 pub next: *mut c_void,
13610 pub color_write_enable: Bool32,
13611}
13612
13613impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
13614 #[inline]
13615 fn default() -> Self {
13616 Self {
13617 s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
13618 next: ptr::null_mut(),
13619 color_write_enable: Bool32::default(),
13620 }
13621 }
13622}
13623
13624unsafe impl Send for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13625unsafe impl Sync for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13626
13627#[repr(C)]
13629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13630pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13631 pub s_type: StructureType,
13632 pub next: *mut c_void,
13633 pub command_buffer_inheritance: Bool32,
13634}
13635
13636impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13637 #[inline]
13638 fn default() -> Self {
13639 Self {
13640 s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
13641 next: ptr::null_mut(),
13642 command_buffer_inheritance: Bool32::default(),
13643 }
13644 }
13645}
13646
13647unsafe impl Send for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13648unsafe impl Sync for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13649
13650#[repr(C)]
13652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13653pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13654 pub s_type: StructureType,
13655 pub next: *mut c_void,
13656 pub compute_derivative_group_quads: Bool32,
13657 pub compute_derivative_group_linear: Bool32,
13658}
13659
13660impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13661 #[inline]
13662 fn default() -> Self {
13663 Self {
13664 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
13665 next: ptr::null_mut(),
13666 compute_derivative_group_quads: Bool32::default(),
13667 compute_derivative_group_linear: Bool32::default(),
13668 }
13669 }
13670}
13671
13672unsafe impl Send for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13673unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13674
13675#[repr(C)]
13677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13678pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13679 pub s_type: StructureType,
13680 pub next: *mut c_void,
13681 pub mesh_and_task_shader_derivatives: Bool32,
13682}
13683
13684impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13685 #[inline]
13686 fn default() -> Self {
13687 Self {
13688 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
13689 next: ptr::null_mut(),
13690 mesh_and_task_shader_derivatives: Bool32::default(),
13691 }
13692 }
13693}
13694
13695unsafe impl Send for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13696unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13697
13698#[repr(C)]
13700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13701pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
13702 pub s_type: StructureType,
13703 pub next: *mut c_void,
13704 pub conditional_rendering: Bool32,
13705 pub inherited_conditional_rendering: Bool32,
13706}
13707
13708impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
13709 #[inline]
13710 fn default() -> Self {
13711 Self {
13712 s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
13713 next: ptr::null_mut(),
13714 conditional_rendering: Bool32::default(),
13715 inherited_conditional_rendering: Bool32::default(),
13716 }
13717 }
13718}
13719
13720unsafe impl Send for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13721unsafe impl Sync for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13722
13723#[repr(C)]
13725#[derive(Copy, Clone, Debug, PartialEq)]
13726pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
13727 pub s_type: StructureType,
13728 pub next: *mut c_void,
13729 pub primitive_overestimation_size: f32,
13730 pub max_extra_primitive_overestimation_size: f32,
13731 pub extra_primitive_overestimation_size_granularity: f32,
13732 pub primitive_underestimation: Bool32,
13733 pub conservative_point_and_line_rasterization: Bool32,
13734 pub degenerate_triangles_rasterized: Bool32,
13735 pub degenerate_lines_rasterized: Bool32,
13736 pub fully_covered_fragment_shader_input_variable: Bool32,
13737 pub conservative_rasterization_post_depth_coverage: Bool32,
13738}
13739
13740impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
13741 #[inline]
13742 fn default() -> Self {
13743 Self {
13744 s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
13745 next: ptr::null_mut(),
13746 primitive_overestimation_size: f32::default(),
13747 max_extra_primitive_overestimation_size: f32::default(),
13748 extra_primitive_overestimation_size_granularity: f32::default(),
13749 primitive_underestimation: Bool32::default(),
13750 conservative_point_and_line_rasterization: Bool32::default(),
13751 degenerate_triangles_rasterized: Bool32::default(),
13752 degenerate_lines_rasterized: Bool32::default(),
13753 fully_covered_fragment_shader_input_variable: Bool32::default(),
13754 conservative_rasterization_post_depth_coverage: Bool32::default(),
13755 }
13756 }
13757}
13758
13759unsafe impl Send for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13760unsafe impl Sync for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13761
13762#[repr(C)]
13764#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13765pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
13766 pub s_type: StructureType,
13767 pub next: *mut c_void,
13768 pub cooperative_matrix_workgroup_scope: Bool32,
13769 pub cooperative_matrix_flexible_dimensions: Bool32,
13770 pub cooperative_matrix_reductions: Bool32,
13771 pub cooperative_matrix_conversions: Bool32,
13772 pub cooperative_matrix_per_element_operations: Bool32,
13773 pub cooperative_matrix_tensor_addressing: Bool32,
13774 pub cooperative_matrix_block_loads: Bool32,
13775}
13776
13777impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
13778 #[inline]
13779 fn default() -> Self {
13780 Self {
13781 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
13782 next: ptr::null_mut(),
13783 cooperative_matrix_workgroup_scope: Bool32::default(),
13784 cooperative_matrix_flexible_dimensions: Bool32::default(),
13785 cooperative_matrix_reductions: Bool32::default(),
13786 cooperative_matrix_conversions: Bool32::default(),
13787 cooperative_matrix_per_element_operations: Bool32::default(),
13788 cooperative_matrix_tensor_addressing: Bool32::default(),
13789 cooperative_matrix_block_loads: Bool32::default(),
13790 }
13791 }
13792}
13793
13794unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13795unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13796
13797#[repr(C)]
13799#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13800pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
13801 pub s_type: StructureType,
13802 pub next: *mut c_void,
13803 pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
13804 pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
13805 pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
13806}
13807
13808impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
13809 #[inline]
13810 fn default() -> Self {
13811 Self {
13812 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
13813 next: ptr::null_mut(),
13814 cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
13815 cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
13816 cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
13817 }
13818 }
13819}
13820
13821unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
13822unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
13823
13824#[repr(C)]
13826#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13827pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
13828 pub s_type: StructureType,
13829 pub next: *mut c_void,
13830 pub cooperative_matrix: Bool32,
13831 pub cooperative_matrix_robust_buffer_access: Bool32,
13832}
13833
13834impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
13835 #[inline]
13836 fn default() -> Self {
13837 Self {
13838 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
13839 next: ptr::null_mut(),
13840 cooperative_matrix: Bool32::default(),
13841 cooperative_matrix_robust_buffer_access: Bool32::default(),
13842 }
13843 }
13844}
13845
13846unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
13847unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
13848
13849#[repr(C)]
13851#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13852pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
13853 pub s_type: StructureType,
13854 pub next: *mut c_void,
13855 pub cooperative_matrix: Bool32,
13856 pub cooperative_matrix_robust_buffer_access: Bool32,
13857}
13858
13859impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
13860 #[inline]
13861 fn default() -> Self {
13862 Self {
13863 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
13864 next: ptr::null_mut(),
13865 cooperative_matrix: Bool32::default(),
13866 cooperative_matrix_robust_buffer_access: Bool32::default(),
13867 }
13868 }
13869}
13870
13871unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesNV {}
13872unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesNV {}
13873
13874#[repr(C)]
13876#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13877pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
13878 pub s_type: StructureType,
13879 pub next: *mut c_void,
13880 pub cooperative_matrix_supported_stages: ShaderStageFlags,
13881}
13882
13883impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
13884 #[inline]
13885 fn default() -> Self {
13886 Self {
13887 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
13888 next: ptr::null_mut(),
13889 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
13890 }
13891 }
13892}
13893
13894unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
13895unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
13896
13897#[repr(C)]
13899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13900pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
13901 pub s_type: StructureType,
13902 pub next: *mut c_void,
13903 pub cooperative_matrix_supported_stages: ShaderStageFlags,
13904}
13905
13906impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
13907 #[inline]
13908 fn default() -> Self {
13909 Self {
13910 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
13911 next: ptr::null_mut(),
13912 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
13913 }
13914 }
13915}
13916
13917unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesNV {}
13918unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesNV {}
13919
13920#[repr(C)]
13922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13923pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
13924 pub s_type: StructureType,
13925 pub next: *mut c_void,
13926 pub cooperative_vector: Bool32,
13927 pub cooperative_vector_training: Bool32,
13928}
13929
13930impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
13931 #[inline]
13932 fn default() -> Self {
13933 Self {
13934 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
13935 next: ptr::null_mut(),
13936 cooperative_vector: Bool32::default(),
13937 cooperative_vector_training: Bool32::default(),
13938 }
13939 }
13940}
13941
13942unsafe impl Send for PhysicalDeviceCooperativeVectorFeaturesNV {}
13943unsafe impl Sync for PhysicalDeviceCooperativeVectorFeaturesNV {}
13944
13945#[repr(C)]
13947#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13948pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
13949 pub s_type: StructureType,
13950 pub next: *mut c_void,
13951 pub cooperative_vector_supported_stages: ShaderStageFlags,
13952 pub cooperative_vector_training_float16_accumulation: Bool32,
13953 pub cooperative_vector_training_float32_accumulation: Bool32,
13954 pub max_cooperative_vector_components: u32,
13955}
13956
13957impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
13958 #[inline]
13959 fn default() -> Self {
13960 Self {
13961 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
13962 next: ptr::null_mut(),
13963 cooperative_vector_supported_stages: ShaderStageFlags::default(),
13964 cooperative_vector_training_float16_accumulation: Bool32::default(),
13965 cooperative_vector_training_float32_accumulation: Bool32::default(),
13966 max_cooperative_vector_components: u32::default(),
13967 }
13968 }
13969}
13970
13971unsafe impl Send for PhysicalDeviceCooperativeVectorPropertiesNV {}
13972unsafe impl Sync for PhysicalDeviceCooperativeVectorPropertiesNV {}
13973
13974#[repr(C)]
13976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13977pub struct PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
13978 pub s_type: StructureType,
13979 pub next: *mut c_void,
13980 pub indirect_memory_copy: Bool32,
13981 pub indirect_memory_to_image_copy: Bool32,
13982}
13983
13984impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
13985 #[inline]
13986 fn default() -> Self {
13987 Self {
13988 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
13989 next: ptr::null_mut(),
13990 indirect_memory_copy: Bool32::default(),
13991 indirect_memory_to_image_copy: Bool32::default(),
13992 }
13993 }
13994}
13995
13996unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
13997unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
13998
13999#[repr(C)]
14001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14002pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14003 pub s_type: StructureType,
14004 pub next: *mut c_void,
14005 pub indirect_copy: Bool32,
14006}
14007
14008impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14009 #[inline]
14010 fn default() -> Self {
14011 Self {
14012 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
14013 next: ptr::null_mut(),
14014 indirect_copy: Bool32::default(),
14015 }
14016 }
14017}
14018
14019unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14020unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14021
14022#[repr(C)]
14024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14025pub struct PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14026 pub s_type: StructureType,
14027 pub next: *mut c_void,
14028 pub supported_queues: QueueFlags,
14029}
14030
14031impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14032 #[inline]
14033 fn default() -> Self {
14034 Self {
14035 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
14036 next: ptr::null_mut(),
14037 supported_queues: QueueFlags::default(),
14038 }
14039 }
14040}
14041
14042unsafe impl Send for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14043unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14044
14045#[repr(C)]
14047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14048pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
14049 pub s_type: StructureType,
14050 pub next: *mut c_void,
14051 pub corner_sampled_image: Bool32,
14052}
14053
14054impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
14055 #[inline]
14056 fn default() -> Self {
14057 Self {
14058 s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
14059 next: ptr::null_mut(),
14060 corner_sampled_image: Bool32::default(),
14061 }
14062 }
14063}
14064
14065unsafe impl Send for PhysicalDeviceCornerSampledImageFeaturesNV {}
14066unsafe impl Sync for PhysicalDeviceCornerSampledImageFeaturesNV {}
14067
14068#[repr(C)]
14070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14071pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
14072 pub s_type: StructureType,
14073 pub next: *mut c_void,
14074 pub coverage_reduction_mode: Bool32,
14075}
14076
14077impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
14078 #[inline]
14079 fn default() -> Self {
14080 Self {
14081 s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
14082 next: ptr::null_mut(),
14083 coverage_reduction_mode: Bool32::default(),
14084 }
14085 }
14086}
14087
14088unsafe impl Send for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14089unsafe impl Sync for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14090
14091#[repr(C)]
14093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14094pub struct PhysicalDeviceCubicClampFeaturesQCOM {
14095 pub s_type: StructureType,
14096 pub next: *mut c_void,
14097 pub cubic_range_clamp: Bool32,
14098}
14099
14100impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
14101 #[inline]
14102 fn default() -> Self {
14103 Self {
14104 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
14105 next: ptr::null_mut(),
14106 cubic_range_clamp: Bool32::default(),
14107 }
14108 }
14109}
14110
14111unsafe impl Send for PhysicalDeviceCubicClampFeaturesQCOM {}
14112unsafe impl Sync for PhysicalDeviceCubicClampFeaturesQCOM {}
14113
14114#[repr(C)]
14116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14117pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
14118 pub s_type: StructureType,
14119 pub next: *mut c_void,
14120 pub selectable_cubic_weights: Bool32,
14121}
14122
14123impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
14124 #[inline]
14125 fn default() -> Self {
14126 Self {
14127 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
14128 next: ptr::null_mut(),
14129 selectable_cubic_weights: Bool32::default(),
14130 }
14131 }
14132}
14133
14134unsafe impl Send for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14135unsafe impl Sync for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14136
14137#[repr(C)]
14139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14140pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
14141 pub s_type: StructureType,
14142 pub next: *mut c_void,
14143 pub cuda_kernel_launch_features: Bool32,
14144}
14145
14146impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
14147 #[inline]
14148 fn default() -> Self {
14149 Self {
14150 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
14151 next: ptr::null_mut(),
14152 cuda_kernel_launch_features: Bool32::default(),
14153 }
14154 }
14155}
14156
14157unsafe impl Send for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14158unsafe impl Sync for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14159
14160#[repr(C)]
14162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14163pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
14164 pub s_type: StructureType,
14165 pub next: *mut c_void,
14166 pub compute_capability_minor: u32,
14167 pub compute_capability_major: u32,
14168}
14169
14170impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
14171 #[inline]
14172 fn default() -> Self {
14173 Self {
14174 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
14175 next: ptr::null_mut(),
14176 compute_capability_minor: u32::default(),
14177 compute_capability_major: u32::default(),
14178 }
14179 }
14180}
14181
14182unsafe impl Send for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14183unsafe impl Sync for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14184
14185#[repr(C)]
14187#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14188pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
14189 pub s_type: StructureType,
14190 pub next: *mut c_void,
14191 pub custom_border_colors: Bool32,
14192 pub custom_border_color_without_format: Bool32,
14193}
14194
14195impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
14196 #[inline]
14197 fn default() -> Self {
14198 Self {
14199 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
14200 next: ptr::null_mut(),
14201 custom_border_colors: Bool32::default(),
14202 custom_border_color_without_format: Bool32::default(),
14203 }
14204 }
14205}
14206
14207unsafe impl Send for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14208unsafe impl Sync for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14209
14210#[repr(C)]
14212#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14213pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
14214 pub s_type: StructureType,
14215 pub next: *mut c_void,
14216 pub max_custom_border_color_samplers: u32,
14217}
14218
14219impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
14220 #[inline]
14221 fn default() -> Self {
14222 Self {
14223 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
14224 next: ptr::null_mut(),
14225 max_custom_border_color_samplers: u32::default(),
14226 }
14227 }
14228}
14229
14230unsafe impl Send for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14231unsafe impl Sync for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14232
14233#[repr(C)]
14235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14236pub struct PhysicalDeviceDataGraphFeaturesARM {
14237 pub s_type: StructureType,
14238 pub next: *mut c_void,
14239 pub data_graph: Bool32,
14240 pub data_graph_update_after_bind: Bool32,
14241 pub data_graph_specialization_constants: Bool32,
14242 pub data_graph_descriptor_buffer: Bool32,
14243 pub data_graph_shader_module: Bool32,
14244}
14245
14246impl Default for PhysicalDeviceDataGraphFeaturesARM {
14247 #[inline]
14248 fn default() -> Self {
14249 Self {
14250 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
14251 next: ptr::null_mut(),
14252 data_graph: Bool32::default(),
14253 data_graph_update_after_bind: Bool32::default(),
14254 data_graph_specialization_constants: Bool32::default(),
14255 data_graph_descriptor_buffer: Bool32::default(),
14256 data_graph_shader_module: Bool32::default(),
14257 }
14258 }
14259}
14260
14261unsafe impl Send for PhysicalDeviceDataGraphFeaturesARM {}
14262unsafe impl Sync for PhysicalDeviceDataGraphFeaturesARM {}
14263
14264#[repr(C)]
14266#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14267pub struct PhysicalDeviceDataGraphOperationSupportARM {
14268 pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
14269 pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
14270 pub version: u32,
14271}
14272
14273#[repr(C)]
14275#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14276pub struct PhysicalDeviceDataGraphProcessingEngineARM {
14277 pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
14278 pub is_foreign: Bool32,
14279}
14280
14281#[repr(C)]
14283#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14284pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14285 pub s_type: StructureType,
14286 pub next: *mut c_void,
14287 pub dedicated_allocation_image_aliasing: Bool32,
14288}
14289
14290impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14291 #[inline]
14292 fn default() -> Self {
14293 Self {
14294 s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
14295 next: ptr::null_mut(),
14296 dedicated_allocation_image_aliasing: Bool32::default(),
14297 }
14298 }
14299}
14300
14301unsafe impl Send for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14302unsafe impl Sync for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14303
14304#[repr(C)]
14306#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14307pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14308 pub s_type: StructureType,
14309 pub next: *mut c_void,
14310 pub dense_geometry_format: Bool32,
14311}
14312
14313impl Default for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14314 #[inline]
14315 fn default() -> Self {
14316 Self {
14317 s_type: StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
14318 next: ptr::null_mut(),
14319 dense_geometry_format: Bool32::default(),
14320 }
14321 }
14322}
14323
14324unsafe impl Send for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14325unsafe impl Sync for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14326
14327#[repr(C)]
14329#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14330pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
14331 pub s_type: StructureType,
14332 pub next: *mut c_void,
14333 pub depth_bias_control: Bool32,
14334 pub least_representable_value_force_unorm_representation: Bool32,
14335 pub float_representation: Bool32,
14336 pub depth_bias_exact: Bool32,
14337}
14338
14339impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
14340 #[inline]
14341 fn default() -> Self {
14342 Self {
14343 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
14344 next: ptr::null_mut(),
14345 depth_bias_control: Bool32::default(),
14346 least_representable_value_force_unorm_representation: Bool32::default(),
14347 float_representation: Bool32::default(),
14348 depth_bias_exact: Bool32::default(),
14349 }
14350 }
14351}
14352
14353unsafe impl Send for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14354unsafe impl Sync for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14355
14356#[repr(C)]
14358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14359pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
14360 pub s_type: StructureType,
14361 pub next: *mut c_void,
14362 pub depth_clamp_control: Bool32,
14363}
14364
14365impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
14366 #[inline]
14367 fn default() -> Self {
14368 Self {
14369 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
14370 next: ptr::null_mut(),
14371 depth_clamp_control: Bool32::default(),
14372 }
14373 }
14374}
14375
14376unsafe impl Send for PhysicalDeviceDepthClampControlFeaturesEXT {}
14377unsafe impl Sync for PhysicalDeviceDepthClampControlFeaturesEXT {}
14378
14379#[repr(C)]
14381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14382pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14383 pub s_type: StructureType,
14384 pub next: *mut c_void,
14385 pub depth_clamp_zero_one: Bool32,
14386}
14387
14388impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14389 #[inline]
14390 fn default() -> Self {
14391 Self {
14392 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
14393 next: ptr::null_mut(),
14394 depth_clamp_zero_one: Bool32::default(),
14395 }
14396 }
14397}
14398
14399unsafe impl Send for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14400unsafe impl Sync for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14401
14402#[repr(C)]
14404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14405pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
14406 pub s_type: StructureType,
14407 pub next: *mut c_void,
14408 pub depth_clip_control: Bool32,
14409}
14410
14411impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
14412 #[inline]
14413 fn default() -> Self {
14414 Self {
14415 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
14416 next: ptr::null_mut(),
14417 depth_clip_control: Bool32::default(),
14418 }
14419 }
14420}
14421
14422unsafe impl Send for PhysicalDeviceDepthClipControlFeaturesEXT {}
14423unsafe impl Sync for PhysicalDeviceDepthClipControlFeaturesEXT {}
14424
14425#[repr(C)]
14427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14428pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
14429 pub s_type: StructureType,
14430 pub next: *mut c_void,
14431 pub depth_clip_enable: Bool32,
14432}
14433
14434impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
14435 #[inline]
14436 fn default() -> Self {
14437 Self {
14438 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
14439 next: ptr::null_mut(),
14440 depth_clip_enable: Bool32::default(),
14441 }
14442 }
14443}
14444
14445unsafe impl Send for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14446unsafe impl Sync for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14447
14448#[repr(C)]
14450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14451pub struct PhysicalDeviceDepthStencilResolveProperties {
14452 pub s_type: StructureType,
14453 pub next: *mut c_void,
14454 pub supported_depth_resolve_modes: ResolveModeFlags,
14455 pub supported_stencil_resolve_modes: ResolveModeFlags,
14456 pub independent_resolve_none: Bool32,
14457 pub independent_resolve: Bool32,
14458}
14459
14460impl Default for PhysicalDeviceDepthStencilResolveProperties {
14461 #[inline]
14462 fn default() -> Self {
14463 Self {
14464 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
14465 next: ptr::null_mut(),
14466 supported_depth_resolve_modes: ResolveModeFlags::default(),
14467 supported_stencil_resolve_modes: ResolveModeFlags::default(),
14468 independent_resolve_none: Bool32::default(),
14469 independent_resolve: Bool32::default(),
14470 }
14471 }
14472}
14473
14474unsafe impl Send for PhysicalDeviceDepthStencilResolveProperties {}
14475unsafe impl Sync for PhysicalDeviceDepthStencilResolveProperties {}
14476
14477#[repr(C)]
14479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14480pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14481 pub s_type: StructureType,
14482 pub next: *mut c_void,
14483 pub combined_image_sampler_density_map_descriptor_size: usize,
14484}
14485
14486impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14487 #[inline]
14488 fn default() -> Self {
14489 Self {
14490 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
14491 next: ptr::null_mut(),
14492 combined_image_sampler_density_map_descriptor_size: usize::default(),
14493 }
14494 }
14495}
14496
14497unsafe impl Send for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14498unsafe impl Sync for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14499
14500#[repr(C)]
14502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14503pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
14504 pub s_type: StructureType,
14505 pub next: *mut c_void,
14506 pub descriptor_buffer: Bool32,
14507 pub descriptor_buffer_capture_replay: Bool32,
14508 pub descriptor_buffer_image_layout_ignored: Bool32,
14509 pub descriptor_buffer_push_descriptors: Bool32,
14510}
14511
14512impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
14513 #[inline]
14514 fn default() -> Self {
14515 Self {
14516 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
14517 next: ptr::null_mut(),
14518 descriptor_buffer: Bool32::default(),
14519 descriptor_buffer_capture_replay: Bool32::default(),
14520 descriptor_buffer_image_layout_ignored: Bool32::default(),
14521 descriptor_buffer_push_descriptors: Bool32::default(),
14522 }
14523 }
14524}
14525
14526unsafe impl Send for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14527unsafe impl Sync for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14528
14529#[repr(C)]
14531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14532pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
14533 pub s_type: StructureType,
14534 pub next: *mut c_void,
14535 pub combined_image_sampler_descriptor_single_array: Bool32,
14536 pub bufferless_push_descriptors: Bool32,
14537 pub allow_sampler_image_view_post_submit_creation: Bool32,
14538 pub descriptor_buffer_offset_alignment: DeviceSize,
14539 pub max_descriptor_buffer_bindings: u32,
14540 pub max_resource_descriptor_buffer_bindings: u32,
14541 pub max_sampler_descriptor_buffer_bindings: u32,
14542 pub max_embedded_immutable_sampler_bindings: u32,
14543 pub max_embedded_immutable_samplers: u32,
14544 pub buffer_capture_replay_descriptor_data_size: usize,
14545 pub image_capture_replay_descriptor_data_size: usize,
14546 pub image_view_capture_replay_descriptor_data_size: usize,
14547 pub sampler_capture_replay_descriptor_data_size: usize,
14548 pub acceleration_structure_capture_replay_descriptor_data_size: usize,
14549 pub sampler_descriptor_size: usize,
14550 pub combined_image_sampler_descriptor_size: usize,
14551 pub sampled_image_descriptor_size: usize,
14552 pub storage_image_descriptor_size: usize,
14553 pub uniform_texel_buffer_descriptor_size: usize,
14554 pub robust_uniform_texel_buffer_descriptor_size: usize,
14555 pub storage_texel_buffer_descriptor_size: usize,
14556 pub robust_storage_texel_buffer_descriptor_size: usize,
14557 pub uniform_buffer_descriptor_size: usize,
14558 pub robust_uniform_buffer_descriptor_size: usize,
14559 pub storage_buffer_descriptor_size: usize,
14560 pub robust_storage_buffer_descriptor_size: usize,
14561 pub input_attachment_descriptor_size: usize,
14562 pub acceleration_structure_descriptor_size: usize,
14563 pub max_sampler_descriptor_buffer_range: DeviceSize,
14564 pub max_resource_descriptor_buffer_range: DeviceSize,
14565 pub sampler_descriptor_buffer_address_space_size: DeviceSize,
14566 pub resource_descriptor_buffer_address_space_size: DeviceSize,
14567 pub descriptor_buffer_address_space_size: DeviceSize,
14568}
14569
14570impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
14571 #[inline]
14572 fn default() -> Self {
14573 Self {
14574 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
14575 next: ptr::null_mut(),
14576 combined_image_sampler_descriptor_single_array: Bool32::default(),
14577 bufferless_push_descriptors: Bool32::default(),
14578 allow_sampler_image_view_post_submit_creation: Bool32::default(),
14579 descriptor_buffer_offset_alignment: DeviceSize::default(),
14580 max_descriptor_buffer_bindings: u32::default(),
14581 max_resource_descriptor_buffer_bindings: u32::default(),
14582 max_sampler_descriptor_buffer_bindings: u32::default(),
14583 max_embedded_immutable_sampler_bindings: u32::default(),
14584 max_embedded_immutable_samplers: u32::default(),
14585 buffer_capture_replay_descriptor_data_size: usize::default(),
14586 image_capture_replay_descriptor_data_size: usize::default(),
14587 image_view_capture_replay_descriptor_data_size: usize::default(),
14588 sampler_capture_replay_descriptor_data_size: usize::default(),
14589 acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
14590 sampler_descriptor_size: usize::default(),
14591 combined_image_sampler_descriptor_size: usize::default(),
14592 sampled_image_descriptor_size: usize::default(),
14593 storage_image_descriptor_size: usize::default(),
14594 uniform_texel_buffer_descriptor_size: usize::default(),
14595 robust_uniform_texel_buffer_descriptor_size: usize::default(),
14596 storage_texel_buffer_descriptor_size: usize::default(),
14597 robust_storage_texel_buffer_descriptor_size: usize::default(),
14598 uniform_buffer_descriptor_size: usize::default(),
14599 robust_uniform_buffer_descriptor_size: usize::default(),
14600 storage_buffer_descriptor_size: usize::default(),
14601 robust_storage_buffer_descriptor_size: usize::default(),
14602 input_attachment_descriptor_size: usize::default(),
14603 acceleration_structure_descriptor_size: usize::default(),
14604 max_sampler_descriptor_buffer_range: DeviceSize::default(),
14605 max_resource_descriptor_buffer_range: DeviceSize::default(),
14606 sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
14607 resource_descriptor_buffer_address_space_size: DeviceSize::default(),
14608 descriptor_buffer_address_space_size: DeviceSize::default(),
14609 }
14610 }
14611}
14612
14613unsafe impl Send for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14614unsafe impl Sync for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14615
14616#[repr(C)]
14618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14619pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14620 pub s_type: StructureType,
14621 pub next: *mut c_void,
14622 pub descriptor_buffer_tensor_descriptors: Bool32,
14623}
14624
14625impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14626 #[inline]
14627 fn default() -> Self {
14628 Self {
14629 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
14630 next: ptr::null_mut(),
14631 descriptor_buffer_tensor_descriptors: Bool32::default(),
14632 }
14633 }
14634}
14635
14636unsafe impl Send for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14637unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14638
14639#[repr(C)]
14641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14642pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14643 pub s_type: StructureType,
14644 pub next: *mut c_void,
14645 pub tensor_capture_replay_descriptor_data_size: usize,
14646 pub tensor_view_capture_replay_descriptor_data_size: usize,
14647 pub tensor_descriptor_size: usize,
14648}
14649
14650impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14651 #[inline]
14652 fn default() -> Self {
14653 Self {
14654 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
14655 next: ptr::null_mut(),
14656 tensor_capture_replay_descriptor_data_size: usize::default(),
14657 tensor_view_capture_replay_descriptor_data_size: usize::default(),
14658 tensor_descriptor_size: usize::default(),
14659 }
14660 }
14661}
14662
14663unsafe impl Send for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14664unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14665
14666#[repr(C)]
14668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14669pub struct PhysicalDeviceDescriptorIndexingFeatures {
14670 pub s_type: StructureType,
14671 pub next: *mut c_void,
14672 pub shader_input_attachment_array_dynamic_indexing: Bool32,
14673 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
14674 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
14675 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
14676 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
14677 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
14678 pub shader_storage_image_array_non_uniform_indexing: Bool32,
14679 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
14680 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
14681 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
14682 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
14683 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
14684 pub descriptor_binding_storage_image_update_after_bind: Bool32,
14685 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
14686 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
14687 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
14688 pub descriptor_binding_update_unused_while_pending: Bool32,
14689 pub descriptor_binding_partially_bound: Bool32,
14690 pub descriptor_binding_variable_descriptor_count: Bool32,
14691 pub runtime_descriptor_array: Bool32,
14692}
14693
14694impl Default for PhysicalDeviceDescriptorIndexingFeatures {
14695 #[inline]
14696 fn default() -> Self {
14697 Self {
14698 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
14699 next: ptr::null_mut(),
14700 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
14701 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
14702 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
14703 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
14704 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
14705 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
14706 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
14707 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
14708 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14709 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14710 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
14711 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
14712 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
14713 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
14714 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
14715 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
14716 descriptor_binding_update_unused_while_pending: Bool32::default(),
14717 descriptor_binding_partially_bound: Bool32::default(),
14718 descriptor_binding_variable_descriptor_count: Bool32::default(),
14719 runtime_descriptor_array: Bool32::default(),
14720 }
14721 }
14722}
14723
14724unsafe impl Send for PhysicalDeviceDescriptorIndexingFeatures {}
14725unsafe impl Sync for PhysicalDeviceDescriptorIndexingFeatures {}
14726
14727#[repr(C)]
14729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14730pub struct PhysicalDeviceDescriptorIndexingProperties {
14731 pub s_type: StructureType,
14732 pub next: *mut c_void,
14733 pub max_update_after_bind_descriptors_in_all_pools: u32,
14734 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
14735 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
14736 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
14737 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
14738 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
14739 pub robust_buffer_access_update_after_bind: Bool32,
14740 pub quad_divergent_implicit_lod: Bool32,
14741 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
14742 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
14743 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
14744 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
14745 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
14746 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
14747 pub max_per_stage_update_after_bind_resources: u32,
14748 pub max_descriptor_set_update_after_bind_samplers: u32,
14749 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
14750 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
14751 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
14752 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
14753 pub max_descriptor_set_update_after_bind_sampled_images: u32,
14754 pub max_descriptor_set_update_after_bind_storage_images: u32,
14755 pub max_descriptor_set_update_after_bind_input_attachments: u32,
14756}
14757
14758impl Default for PhysicalDeviceDescriptorIndexingProperties {
14759 #[inline]
14760 fn default() -> Self {
14761 Self {
14762 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
14763 next: ptr::null_mut(),
14764 max_update_after_bind_descriptors_in_all_pools: u32::default(),
14765 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
14766 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
14767 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
14768 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
14769 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
14770 robust_buffer_access_update_after_bind: Bool32::default(),
14771 quad_divergent_implicit_lod: Bool32::default(),
14772 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
14773 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
14774 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
14775 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
14776 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
14777 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
14778 max_per_stage_update_after_bind_resources: u32::default(),
14779 max_descriptor_set_update_after_bind_samplers: u32::default(),
14780 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
14781 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
14782 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
14783 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
14784 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
14785 max_descriptor_set_update_after_bind_storage_images: u32::default(),
14786 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
14787 }
14788 }
14789}
14790
14791unsafe impl Send for PhysicalDeviceDescriptorIndexingProperties {}
14792unsafe impl Sync for PhysicalDeviceDescriptorIndexingProperties {}
14793
14794#[repr(C)]
14796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14797pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
14798 pub s_type: StructureType,
14799 pub next: *mut c_void,
14800 pub descriptor_pool_overallocation: Bool32,
14801}
14802
14803impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
14804 #[inline]
14805 fn default() -> Self {
14806 Self {
14807 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
14808 next: ptr::null_mut(),
14809 descriptor_pool_overallocation: Bool32::default(),
14810 }
14811 }
14812}
14813
14814unsafe impl Send for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
14815unsafe impl Sync for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
14816
14817#[repr(C)]
14819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14820pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
14821 pub s_type: StructureType,
14822 pub next: *mut c_void,
14823 pub descriptor_set_host_mapping: Bool32,
14824}
14825
14826impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
14827 #[inline]
14828 fn default() -> Self {
14829 Self {
14830 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
14831 next: ptr::null_mut(),
14832 descriptor_set_host_mapping: Bool32::default(),
14833 }
14834 }
14835}
14836
14837unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
14838unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
14839
14840#[repr(C)]
14842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14843pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
14844 pub s_type: StructureType,
14845 pub next: *mut c_void,
14846 pub device_generated_compute: Bool32,
14847 pub device_generated_compute_pipelines: Bool32,
14848 pub device_generated_compute_capture_replay: Bool32,
14849}
14850
14851impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
14852 #[inline]
14853 fn default() -> Self {
14854 Self {
14855 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
14856 next: ptr::null_mut(),
14857 device_generated_compute: Bool32::default(),
14858 device_generated_compute_pipelines: Bool32::default(),
14859 device_generated_compute_capture_replay: Bool32::default(),
14860 }
14861 }
14862}
14863
14864unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
14865unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
14866
14867#[repr(C)]
14869#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14870pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
14871 pub s_type: StructureType,
14872 pub next: *mut c_void,
14873 pub device_generated_commands: Bool32,
14874 pub dynamic_generated_pipeline_layout: Bool32,
14875}
14876
14877impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
14878 #[inline]
14879 fn default() -> Self {
14880 Self {
14881 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
14882 next: ptr::null_mut(),
14883 device_generated_commands: Bool32::default(),
14884 dynamic_generated_pipeline_layout: Bool32::default(),
14885 }
14886 }
14887}
14888
14889unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
14890unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
14891
14892#[repr(C)]
14894#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14895pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14896 pub s_type: StructureType,
14897 pub next: *mut c_void,
14898 pub device_generated_commands: Bool32,
14899}
14900
14901impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14902 #[inline]
14903 fn default() -> Self {
14904 Self {
14905 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
14906 next: ptr::null_mut(),
14907 device_generated_commands: Bool32::default(),
14908 }
14909 }
14910}
14911
14912unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
14913unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
14914
14915#[repr(C)]
14917#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14918pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
14919 pub s_type: StructureType,
14920 pub next: *mut c_void,
14921 pub max_indirect_pipeline_count: u32,
14922 pub max_indirect_shader_object_count: u32,
14923 pub max_indirect_sequence_count: u32,
14924 pub max_indirect_commands_token_count: u32,
14925 pub max_indirect_commands_token_offset: u32,
14926 pub max_indirect_commands_indirect_stride: u32,
14927 pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
14928 pub supported_indirect_commands_shader_stages: ShaderStageFlags,
14929 pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
14930 pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
14931 pub device_generated_commands_transform_feedback: Bool32,
14932 pub device_generated_commands_multi_draw_indirect_count: Bool32,
14933}
14934
14935impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
14936 #[inline]
14937 fn default() -> Self {
14938 Self {
14939 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
14940 next: ptr::null_mut(),
14941 max_indirect_pipeline_count: u32::default(),
14942 max_indirect_shader_object_count: u32::default(),
14943 max_indirect_sequence_count: u32::default(),
14944 max_indirect_commands_token_count: u32::default(),
14945 max_indirect_commands_token_offset: u32::default(),
14946 max_indirect_commands_indirect_stride: u32::default(),
14947 supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
14948 supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
14949 supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
14950 supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
14951 device_generated_commands_transform_feedback: Bool32::default(),
14952 device_generated_commands_multi_draw_indirect_count: Bool32::default(),
14953 }
14954 }
14955}
14956
14957unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
14958unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
14959
14960#[repr(C)]
14962#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14963pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
14964 pub s_type: StructureType,
14965 pub next: *mut c_void,
14966 pub max_graphics_shader_group_count: u32,
14967 pub max_indirect_sequence_count: u32,
14968 pub max_indirect_commands_token_count: u32,
14969 pub max_indirect_commands_stream_count: u32,
14970 pub max_indirect_commands_token_offset: u32,
14971 pub max_indirect_commands_stream_stride: u32,
14972 pub min_sequences_count_buffer_offset_alignment: u32,
14973 pub min_sequences_index_buffer_offset_alignment: u32,
14974 pub min_indirect_commands_buffer_offset_alignment: u32,
14975}
14976
14977impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
14978 #[inline]
14979 fn default() -> Self {
14980 Self {
14981 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
14982 next: ptr::null_mut(),
14983 max_graphics_shader_group_count: u32::default(),
14984 max_indirect_sequence_count: u32::default(),
14985 max_indirect_commands_token_count: u32::default(),
14986 max_indirect_commands_stream_count: u32::default(),
14987 max_indirect_commands_token_offset: u32::default(),
14988 max_indirect_commands_stream_stride: u32::default(),
14989 min_sequences_count_buffer_offset_alignment: u32::default(),
14990 min_sequences_index_buffer_offset_alignment: u32::default(),
14991 min_indirect_commands_buffer_offset_alignment: u32::default(),
14992 }
14993 }
14994}
14995
14996unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
14997unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
14998
14999#[repr(C)]
15001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15002pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15003 pub s_type: StructureType,
15004 pub next: *mut c_void,
15005 pub device_memory_report: Bool32,
15006}
15007
15008impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15009 #[inline]
15010 fn default() -> Self {
15011 Self {
15012 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
15013 next: ptr::null_mut(),
15014 device_memory_report: Bool32::default(),
15015 }
15016 }
15017}
15018
15019unsafe impl Send for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15020unsafe impl Sync for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15021
15022#[repr(C)]
15024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15025pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
15026 pub s_type: StructureType,
15027 pub next: *mut c_void,
15028 pub diagnostics_config: Bool32,
15029}
15030
15031impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
15032 #[inline]
15033 fn default() -> Self {
15034 Self {
15035 s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
15036 next: ptr::null_mut(),
15037 diagnostics_config: Bool32::default(),
15038 }
15039 }
15040}
15041
15042unsafe impl Send for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15043unsafe impl Sync for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15044
15045#[repr(C)]
15047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15048pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
15049 pub s_type: StructureType,
15050 pub next: *mut c_void,
15051 pub max_discard_rectangles: u32,
15052}
15053
15054impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
15055 #[inline]
15056 fn default() -> Self {
15057 Self {
15058 s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
15059 next: ptr::null_mut(),
15060 max_discard_rectangles: u32::default(),
15061 }
15062 }
15063}
15064
15065unsafe impl Send for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15066unsafe impl Sync for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15067
15068#[repr(C)]
15070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15071pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
15072 pub s_type: StructureType,
15073 pub next: *mut c_void,
15074 pub displacement_micromap: Bool32,
15075}
15076
15077impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
15078 #[inline]
15079 fn default() -> Self {
15080 Self {
15081 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
15082 next: ptr::null_mut(),
15083 displacement_micromap: Bool32::default(),
15084 }
15085 }
15086}
15087
15088unsafe impl Send for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15089unsafe impl Sync for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15090
15091#[repr(C)]
15093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15094pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
15095 pub s_type: StructureType,
15096 pub next: *mut c_void,
15097 pub max_displacement_micromap_subdivision_level: u32,
15098}
15099
15100impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
15101 #[inline]
15102 fn default() -> Self {
15103 Self {
15104 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
15105 next: ptr::null_mut(),
15106 max_displacement_micromap_subdivision_level: u32::default(),
15107 }
15108 }
15109}
15110
15111unsafe impl Send for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15112unsafe impl Sync for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15113
15114#[repr(C)]
15116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15117pub struct PhysicalDeviceDriverProperties {
15118 pub s_type: StructureType,
15119 pub next: *mut c_void,
15120 pub driver_id: DriverId,
15121 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
15122 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
15123 pub conformance_version: ConformanceVersion,
15124}
15125
15126impl Default for PhysicalDeviceDriverProperties {
15127 #[inline]
15128 fn default() -> Self {
15129 Self {
15130 s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
15131 next: ptr::null_mut(),
15132 driver_id: DriverId::default(),
15133 driver_name: StringArray::default(),
15134 driver_info: StringArray::default(),
15135 conformance_version: ConformanceVersion::default(),
15136 }
15137 }
15138}
15139
15140unsafe impl Send for PhysicalDeviceDriverProperties {}
15141unsafe impl Sync for PhysicalDeviceDriverProperties {}
15142
15143#[repr(C)]
15145#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15146pub struct PhysicalDeviceDrmPropertiesEXT {
15147 pub s_type: StructureType,
15148 pub next: *mut c_void,
15149 pub has_primary: Bool32,
15150 pub has_render: Bool32,
15151 pub primary_major: i64,
15152 pub primary_minor: i64,
15153 pub render_major: i64,
15154 pub render_minor: i64,
15155}
15156
15157impl Default for PhysicalDeviceDrmPropertiesEXT {
15158 #[inline]
15159 fn default() -> Self {
15160 Self {
15161 s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
15162 next: ptr::null_mut(),
15163 has_primary: Bool32::default(),
15164 has_render: Bool32::default(),
15165 primary_major: i64::default(),
15166 primary_minor: i64::default(),
15167 render_major: i64::default(),
15168 render_minor: i64::default(),
15169 }
15170 }
15171}
15172
15173unsafe impl Send for PhysicalDeviceDrmPropertiesEXT {}
15174unsafe impl Sync for PhysicalDeviceDrmPropertiesEXT {}
15175
15176#[repr(C)]
15178#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15179pub struct PhysicalDeviceDynamicRenderingFeatures {
15180 pub s_type: StructureType,
15181 pub next: *mut c_void,
15182 pub dynamic_rendering: Bool32,
15183}
15184
15185impl Default for PhysicalDeviceDynamicRenderingFeatures {
15186 #[inline]
15187 fn default() -> Self {
15188 Self {
15189 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
15190 next: ptr::null_mut(),
15191 dynamic_rendering: Bool32::default(),
15192 }
15193 }
15194}
15195
15196unsafe impl Send for PhysicalDeviceDynamicRenderingFeatures {}
15197unsafe impl Sync for PhysicalDeviceDynamicRenderingFeatures {}
15198
15199#[repr(C)]
15201#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15202pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
15203 pub s_type: StructureType,
15204 pub next: *mut c_void,
15205 pub dynamic_rendering_local_read: Bool32,
15206}
15207
15208impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
15209 #[inline]
15210 fn default() -> Self {
15211 Self {
15212 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
15213 next: ptr::null_mut(),
15214 dynamic_rendering_local_read: Bool32::default(),
15215 }
15216 }
15217}
15218
15219unsafe impl Send for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15220unsafe impl Sync for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15221
15222#[repr(C)]
15224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15225pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15226 pub s_type: StructureType,
15227 pub next: *mut c_void,
15228 pub dynamic_rendering_unused_attachments: Bool32,
15229}
15230
15231impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15232 #[inline]
15233 fn default() -> Self {
15234 Self {
15235 s_type:
15236 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
15237 next: ptr::null_mut(),
15238 dynamic_rendering_unused_attachments: Bool32::default(),
15239 }
15240 }
15241}
15242
15243unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
15244unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
15245
15246#[repr(C)]
15248#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15249pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
15250 pub s_type: StructureType,
15251 pub next: *mut c_void,
15252 pub exclusive_scissor: Bool32,
15253}
15254
15255impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
15256 #[inline]
15257 fn default() -> Self {
15258 Self {
15259 s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
15260 next: ptr::null_mut(),
15261 exclusive_scissor: Bool32::default(),
15262 }
15263 }
15264}
15265
15266unsafe impl Send for PhysicalDeviceExclusiveScissorFeaturesNV {}
15267unsafe impl Sync for PhysicalDeviceExclusiveScissorFeaturesNV {}
15268
15269#[repr(C)]
15271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15272pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15273 pub s_type: StructureType,
15274 pub next: *mut c_void,
15275 pub extended_dynamic_state2: Bool32,
15276 pub extended_dynamic_state2_logic_op: Bool32,
15277 pub extended_dynamic_state2_patch_control_points: Bool32,
15278}
15279
15280impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15281 #[inline]
15282 fn default() -> Self {
15283 Self {
15284 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
15285 next: ptr::null_mut(),
15286 extended_dynamic_state2: Bool32::default(),
15287 extended_dynamic_state2_logic_op: Bool32::default(),
15288 extended_dynamic_state2_patch_control_points: Bool32::default(),
15289 }
15290 }
15291}
15292
15293unsafe impl Send for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15294unsafe impl Sync for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15295
15296#[repr(C)]
15298#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15299pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15300 pub s_type: StructureType,
15301 pub next: *mut c_void,
15302 pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
15303 pub extended_dynamic_state_3depth_clamp_enable: Bool32,
15304 pub extended_dynamic_state3_polygon_mode: Bool32,
15305 pub extended_dynamic_state3_rasterization_samples: Bool32,
15306 pub extended_dynamic_state3_sample_mask: Bool32,
15307 pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
15308 pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
15309 pub extended_dynamic_state3_logic_op_enable: Bool32,
15310 pub extended_dynamic_state3_color_blend_enable: Bool32,
15311 pub extended_dynamic_state3_color_blend_equation: Bool32,
15312 pub extended_dynamic_state3_color_write_mask: Bool32,
15313 pub extended_dynamic_state3_rasterization_stream: Bool32,
15314 pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
15315 pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
15316 pub extended_dynamic_state_3depth_clip_enable: Bool32,
15317 pub extended_dynamic_state3_sample_locations_enable: Bool32,
15318 pub extended_dynamic_state3_color_blend_advanced: Bool32,
15319 pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
15320 pub extended_dynamic_state3_line_rasterization_mode: Bool32,
15321 pub extended_dynamic_state3_line_stipple_enable: Bool32,
15322 pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
15323 pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
15324 pub extended_dynamic_state3_viewport_swizzle: Bool32,
15325 pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
15326 pub extended_dynamic_state3_coverage_to_color_location: Bool32,
15327 pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
15328 pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
15329 pub extended_dynamic_state3_coverage_modulation_table: Bool32,
15330 pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
15331 pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
15332 pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
15333}
15334
15335impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15336 #[inline]
15337 fn default() -> Self {
15338 Self {
15339 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
15340 next: ptr::null_mut(),
15341 extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
15342 extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
15343 extended_dynamic_state3_polygon_mode: Bool32::default(),
15344 extended_dynamic_state3_rasterization_samples: Bool32::default(),
15345 extended_dynamic_state3_sample_mask: Bool32::default(),
15346 extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
15347 extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
15348 extended_dynamic_state3_logic_op_enable: Bool32::default(),
15349 extended_dynamic_state3_color_blend_enable: Bool32::default(),
15350 extended_dynamic_state3_color_blend_equation: Bool32::default(),
15351 extended_dynamic_state3_color_write_mask: Bool32::default(),
15352 extended_dynamic_state3_rasterization_stream: Bool32::default(),
15353 extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
15354 extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
15355 extended_dynamic_state_3depth_clip_enable: Bool32::default(),
15356 extended_dynamic_state3_sample_locations_enable: Bool32::default(),
15357 extended_dynamic_state3_color_blend_advanced: Bool32::default(),
15358 extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
15359 extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
15360 extended_dynamic_state3_line_stipple_enable: Bool32::default(),
15361 extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
15362 extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
15363 extended_dynamic_state3_viewport_swizzle: Bool32::default(),
15364 extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
15365 extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
15366 extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
15367 extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
15368 extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
15369 extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
15370 extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
15371 extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
15372 }
15373 }
15374}
15375
15376unsafe impl Send for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15377unsafe impl Sync for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15378
15379#[repr(C)]
15381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15382pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15383 pub s_type: StructureType,
15384 pub next: *mut c_void,
15385 pub dynamic_primitive_topology_unrestricted: Bool32,
15386}
15387
15388impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15389 #[inline]
15390 fn default() -> Self {
15391 Self {
15392 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
15393 next: ptr::null_mut(),
15394 dynamic_primitive_topology_unrestricted: Bool32::default(),
15395 }
15396 }
15397}
15398
15399unsafe impl Send for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15400unsafe impl Sync for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15401
15402#[repr(C)]
15404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15405pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15406 pub s_type: StructureType,
15407 pub next: *mut c_void,
15408 pub extended_dynamic_state: Bool32,
15409}
15410
15411impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15412 #[inline]
15413 fn default() -> Self {
15414 Self {
15415 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
15416 next: ptr::null_mut(),
15417 extended_dynamic_state: Bool32::default(),
15418 }
15419 }
15420}
15421
15422unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15423unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15424
15425#[repr(C)]
15427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15428pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15429 pub s_type: StructureType,
15430 pub next: *mut c_void,
15431 pub extended_sparse_address_space: Bool32,
15432}
15433
15434impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15435 #[inline]
15436 fn default() -> Self {
15437 Self {
15438 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
15439 next: ptr::null_mut(),
15440 extended_sparse_address_space: Bool32::default(),
15441 }
15442 }
15443}
15444
15445unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15446unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15447
15448#[repr(C)]
15450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15451pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15452 pub s_type: StructureType,
15453 pub next: *mut c_void,
15454 pub extended_sparse_address_space_size: DeviceSize,
15455 pub extended_sparse_image_usage_flags: ImageUsageFlags,
15456 pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
15457}
15458
15459impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15460 #[inline]
15461 fn default() -> Self {
15462 Self {
15463 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
15464 next: ptr::null_mut(),
15465 extended_sparse_address_space_size: DeviceSize::default(),
15466 extended_sparse_image_usage_flags: ImageUsageFlags::default(),
15467 extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
15468 }
15469 }
15470}
15471
15472unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15473unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15474
15475#[repr(C)]
15477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15478pub struct PhysicalDeviceExternalBufferInfo {
15479 pub s_type: StructureType,
15480 pub next: *const c_void,
15481 pub flags: BufferCreateFlags,
15482 pub usage: BufferUsageFlags,
15483 pub handle_type: ExternalMemoryHandleTypeFlags,
15484}
15485
15486impl Default for PhysicalDeviceExternalBufferInfo {
15487 #[inline]
15488 fn default() -> Self {
15489 Self {
15490 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
15491 next: ptr::null(),
15492 flags: BufferCreateFlags::default(),
15493 usage: BufferUsageFlags::default(),
15494 handle_type: ExternalMemoryHandleTypeFlags::default(),
15495 }
15496 }
15497}
15498
15499unsafe impl Send for PhysicalDeviceExternalBufferInfo {}
15500unsafe impl Sync for PhysicalDeviceExternalBufferInfo {}
15501
15502#[repr(C)]
15504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15505pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
15506 pub s_type: StructureType,
15507 pub next: *mut c_void,
15508 pub external_data_size: u32,
15509 pub max_external_queues: u32,
15510}
15511
15512impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
15513 #[inline]
15514 fn default() -> Self {
15515 Self {
15516 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
15517 next: ptr::null_mut(),
15518 external_data_size: u32::default(),
15519 max_external_queues: u32::default(),
15520 }
15521 }
15522}
15523
15524unsafe impl Send for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15525unsafe impl Sync for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15526
15527#[repr(C)]
15529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15530pub struct PhysicalDeviceExternalFenceInfo {
15531 pub s_type: StructureType,
15532 pub next: *const c_void,
15533 pub handle_type: ExternalFenceHandleTypeFlags,
15534}
15535
15536impl Default for PhysicalDeviceExternalFenceInfo {
15537 #[inline]
15538 fn default() -> Self {
15539 Self {
15540 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
15541 next: ptr::null(),
15542 handle_type: ExternalFenceHandleTypeFlags::default(),
15543 }
15544 }
15545}
15546
15547unsafe impl Send for PhysicalDeviceExternalFenceInfo {}
15548unsafe impl Sync for PhysicalDeviceExternalFenceInfo {}
15549
15550#[repr(C)]
15552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15553pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15554 pub s_type: StructureType,
15555 pub next: *mut c_void,
15556 pub external_format_resolve: Bool32,
15557}
15558
15559impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15560 #[inline]
15561 fn default() -> Self {
15562 Self {
15563 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
15564 next: ptr::null_mut(),
15565 external_format_resolve: Bool32::default(),
15566 }
15567 }
15568}
15569
15570unsafe impl Send for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15571unsafe impl Sync for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15572
15573#[repr(C)]
15575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15576pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15577 pub s_type: StructureType,
15578 pub next: *mut c_void,
15579 pub null_color_attachment_with_external_format_resolve: Bool32,
15580 pub external_format_resolve_chroma_offset_x: ChromaLocation,
15581 pub external_format_resolve_chroma_offset_y: ChromaLocation,
15582}
15583
15584impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15585 #[inline]
15586 fn default() -> Self {
15587 Self {
15588 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
15589 next: ptr::null_mut(),
15590 null_color_attachment_with_external_format_resolve: Bool32::default(),
15591 external_format_resolve_chroma_offset_x: ChromaLocation::default(),
15592 external_format_resolve_chroma_offset_y: ChromaLocation::default(),
15593 }
15594 }
15595}
15596
15597unsafe impl Send for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15598unsafe impl Sync for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15599
15600#[repr(C)]
15602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15603pub struct PhysicalDeviceExternalImageFormatInfo {
15604 pub s_type: StructureType,
15605 pub next: *const c_void,
15606 pub handle_type: ExternalMemoryHandleTypeFlags,
15607}
15608
15609impl Default for PhysicalDeviceExternalImageFormatInfo {
15610 #[inline]
15611 fn default() -> Self {
15612 Self {
15613 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
15614 next: ptr::null(),
15615 handle_type: ExternalMemoryHandleTypeFlags::default(),
15616 }
15617 }
15618}
15619
15620unsafe impl Send for PhysicalDeviceExternalImageFormatInfo {}
15621unsafe impl Sync for PhysicalDeviceExternalImageFormatInfo {}
15622
15623#[repr(C)]
15625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15626pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
15627 pub s_type: StructureType,
15628 pub next: *mut c_void,
15629 pub min_imported_host_pointer_alignment: DeviceSize,
15630}
15631
15632impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
15633 #[inline]
15634 fn default() -> Self {
15635 Self {
15636 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
15637 next: ptr::null_mut(),
15638 min_imported_host_pointer_alignment: DeviceSize::default(),
15639 }
15640 }
15641}
15642
15643unsafe impl Send for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15644unsafe impl Sync for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15645
15646#[repr(C)]
15648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15649pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15650 pub s_type: StructureType,
15651 pub next: *mut c_void,
15652 pub external_memory_rdma: Bool32,
15653}
15654
15655impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15656 #[inline]
15657 fn default() -> Self {
15658 Self {
15659 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
15660 next: ptr::null_mut(),
15661 external_memory_rdma: Bool32::default(),
15662 }
15663 }
15664}
15665
15666unsafe impl Send for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15667unsafe impl Sync for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15668
15669#[repr(C)]
15671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15672pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
15673 pub s_type: StructureType,
15674 pub next: *mut c_void,
15675 pub sci_buf_import: Bool32,
15676 pub sci_buf_export: Bool32,
15677}
15678
15679impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
15680 #[inline]
15681 fn default() -> Self {
15682 Self {
15683 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
15684 next: ptr::null_mut(),
15685 sci_buf_import: Bool32::default(),
15686 sci_buf_export: Bool32::default(),
15687 }
15688 }
15689}
15690
15691unsafe impl Send for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15692unsafe impl Sync for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15693
15694#[repr(C)]
15696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15697pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15698 pub s_type: StructureType,
15699 pub next: *mut c_void,
15700 pub screen_buffer_import: Bool32,
15701}
15702
15703impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15704 #[inline]
15705 fn default() -> Self {
15706 Self {
15707 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
15708 next: ptr::null_mut(),
15709 screen_buffer_import: Bool32::default(),
15710 }
15711 }
15712}
15713
15714unsafe impl Send for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15715unsafe impl Sync for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15716
15717#[repr(C)]
15719#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15720pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
15721 pub s_type: StructureType,
15722 pub next: *mut c_void,
15723 pub sci_sync_fence: Bool32,
15724 pub sci_sync_semaphore2: Bool32,
15725 pub sci_sync_import: Bool32,
15726 pub sci_sync_export: Bool32,
15727}
15728
15729impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
15730 #[inline]
15731 fn default() -> Self {
15732 Self {
15733 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
15734 next: ptr::null_mut(),
15735 sci_sync_fence: Bool32::default(),
15736 sci_sync_semaphore2: Bool32::default(),
15737 sci_sync_import: Bool32::default(),
15738 sci_sync_export: Bool32::default(),
15739 }
15740 }
15741}
15742
15743unsafe impl Send for PhysicalDeviceExternalSciSync2FeaturesNV {}
15744unsafe impl Sync for PhysicalDeviceExternalSciSync2FeaturesNV {}
15745
15746#[repr(C)]
15748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15749pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
15750 pub s_type: StructureType,
15751 pub next: *mut c_void,
15752 pub sci_sync_fence: Bool32,
15753 pub sci_sync_semaphore: Bool32,
15754 pub sci_sync_import: Bool32,
15755 pub sci_sync_export: Bool32,
15756}
15757
15758impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
15759 #[inline]
15760 fn default() -> Self {
15761 Self {
15762 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
15763 next: ptr::null_mut(),
15764 sci_sync_fence: Bool32::default(),
15765 sci_sync_semaphore: Bool32::default(),
15766 sci_sync_import: Bool32::default(),
15767 sci_sync_export: Bool32::default(),
15768 }
15769 }
15770}
15771
15772unsafe impl Send for PhysicalDeviceExternalSciSyncFeaturesNV {}
15773unsafe impl Sync for PhysicalDeviceExternalSciSyncFeaturesNV {}
15774
15775#[repr(C)]
15777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15778pub struct PhysicalDeviceExternalSemaphoreInfo {
15779 pub s_type: StructureType,
15780 pub next: *const c_void,
15781 pub handle_type: ExternalSemaphoreHandleTypeFlags,
15782}
15783
15784impl Default for PhysicalDeviceExternalSemaphoreInfo {
15785 #[inline]
15786 fn default() -> Self {
15787 Self {
15788 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
15789 next: ptr::null(),
15790 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
15791 }
15792 }
15793}
15794
15795unsafe impl Send for PhysicalDeviceExternalSemaphoreInfo {}
15796unsafe impl Sync for PhysicalDeviceExternalSemaphoreInfo {}
15797
15798#[repr(C)]
15800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15801pub struct PhysicalDeviceExternalTensorInfoARM {
15802 pub s_type: StructureType,
15803 pub next: *const c_void,
15804 pub flags: TensorCreateFlagsARM,
15805 pub description: *const TensorDescriptionARM,
15806 pub handle_type: ExternalMemoryHandleTypeFlags,
15807}
15808
15809impl Default for PhysicalDeviceExternalTensorInfoARM {
15810 #[inline]
15811 fn default() -> Self {
15812 Self {
15813 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
15814 next: ptr::null(),
15815 flags: TensorCreateFlagsARM::default(),
15816 description: ptr::null(),
15817 handle_type: ExternalMemoryHandleTypeFlags::default(),
15818 }
15819 }
15820}
15821
15822unsafe impl Send for PhysicalDeviceExternalTensorInfoARM {}
15823unsafe impl Sync for PhysicalDeviceExternalTensorInfoARM {}
15824
15825#[repr(C)]
15827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15828pub struct PhysicalDeviceFaultFeaturesEXT {
15829 pub s_type: StructureType,
15830 pub next: *mut c_void,
15831 pub device_fault: Bool32,
15832 pub device_fault_vendor_binary: Bool32,
15833}
15834
15835impl Default for PhysicalDeviceFaultFeaturesEXT {
15836 #[inline]
15837 fn default() -> Self {
15838 Self {
15839 s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
15840 next: ptr::null_mut(),
15841 device_fault: Bool32::default(),
15842 device_fault_vendor_binary: Bool32::default(),
15843 }
15844 }
15845}
15846
15847unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {}
15848unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {}
15849
15850#[repr(C)]
15852#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
15853pub struct PhysicalDeviceFeatures {
15854 pub robust_buffer_access: Bool32,
15855 pub full_draw_index_uint32: Bool32,
15856 pub image_cube_array: Bool32,
15857 pub independent_blend: Bool32,
15858 pub geometry_shader: Bool32,
15859 pub tessellation_shader: Bool32,
15860 pub sample_rate_shading: Bool32,
15861 pub dual_src_blend: Bool32,
15862 pub logic_op: Bool32,
15863 pub multi_draw_indirect: Bool32,
15864 pub draw_indirect_first_instance: Bool32,
15865 pub depth_clamp: Bool32,
15866 pub depth_bias_clamp: Bool32,
15867 pub fill_mode_non_solid: Bool32,
15868 pub depth_bounds: Bool32,
15869 pub wide_lines: Bool32,
15870 pub large_points: Bool32,
15871 pub alpha_to_one: Bool32,
15872 pub multi_viewport: Bool32,
15873 pub sampler_anisotropy: Bool32,
15874 pub texture_compression_etc2: Bool32,
15875 pub texture_compression_astc_ldr: Bool32,
15876 pub texture_compression_bc: Bool32,
15877 pub occlusion_query_precise: Bool32,
15878 pub pipeline_statistics_query: Bool32,
15879 pub vertex_pipeline_stores_and_atomics: Bool32,
15880 pub fragment_stores_and_atomics: Bool32,
15881 pub shader_tessellation_and_geometry_point_size: Bool32,
15882 pub shader_image_gather_extended: Bool32,
15883 pub shader_storage_image_extended_formats: Bool32,
15884 pub shader_storage_image_multisample: Bool32,
15885 pub shader_storage_image_read_without_format: Bool32,
15886 pub shader_storage_image_write_without_format: Bool32,
15887 pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
15888 pub shader_sampled_image_array_dynamic_indexing: Bool32,
15889 pub shader_storage_buffer_array_dynamic_indexing: Bool32,
15890 pub shader_storage_image_array_dynamic_indexing: Bool32,
15891 pub shader_clip_distance: Bool32,
15892 pub shader_cull_distance: Bool32,
15893 pub shader_float64: Bool32,
15894 pub shader_int64: Bool32,
15895 pub shader_int16: Bool32,
15896 pub shader_resource_residency: Bool32,
15897 pub shader_resource_min_lod: Bool32,
15898 pub sparse_binding: Bool32,
15899 pub sparse_residency_buffer: Bool32,
15900 pub sparse_residency_image_2d: Bool32,
15901 pub sparse_residency_image_3d: Bool32,
15902 pub sparse_residency2_samples: Bool32,
15903 pub sparse_residency4_samples: Bool32,
15904 pub sparse_residency8_samples: Bool32,
15905 pub sparse_residency16_samples: Bool32,
15906 pub sparse_residency_aliased: Bool32,
15907 pub variable_multisample_rate: Bool32,
15908 pub inherited_queries: Bool32,
15909}
15910
15911#[repr(C)]
15913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15914pub struct PhysicalDeviceFeatures2 {
15915 pub s_type: StructureType,
15916 pub next: *mut c_void,
15917 pub features: PhysicalDeviceFeatures,
15918}
15919
15920impl Default for PhysicalDeviceFeatures2 {
15921 #[inline]
15922 fn default() -> Self {
15923 Self {
15924 s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
15925 next: ptr::null_mut(),
15926 features: PhysicalDeviceFeatures::default(),
15927 }
15928 }
15929}
15930
15931unsafe impl Send for PhysicalDeviceFeatures2 {}
15932unsafe impl Sync for PhysicalDeviceFeatures2 {}
15933
15934#[repr(C)]
15936#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15937pub struct PhysicalDeviceFloatControlsProperties {
15938 pub s_type: StructureType,
15939 pub next: *mut c_void,
15940 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
15941 pub rounding_mode_independence: ShaderFloatControlsIndependence,
15942 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
15943 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
15944 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
15945 pub shader_denorm_preserve_float16: Bool32,
15946 pub shader_denorm_preserve_float32: Bool32,
15947 pub shader_denorm_preserve_float64: Bool32,
15948 pub shader_denorm_flush_to_zero_float16: Bool32,
15949 pub shader_denorm_flush_to_zero_float32: Bool32,
15950 pub shader_denorm_flush_to_zero_float64: Bool32,
15951 pub shader_rounding_mode_rte_float16: Bool32,
15952 pub shader_rounding_mode_rte_float32: Bool32,
15953 pub shader_rounding_mode_rte_float64: Bool32,
15954 pub shader_rounding_mode_rtz_float16: Bool32,
15955 pub shader_rounding_mode_rtz_float32: Bool32,
15956 pub shader_rounding_mode_rtz_float64: Bool32,
15957}
15958
15959impl Default for PhysicalDeviceFloatControlsProperties {
15960 #[inline]
15961 fn default() -> Self {
15962 Self {
15963 s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
15964 next: ptr::null_mut(),
15965 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
15966 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
15967 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
15968 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
15969 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
15970 shader_denorm_preserve_float16: Bool32::default(),
15971 shader_denorm_preserve_float32: Bool32::default(),
15972 shader_denorm_preserve_float64: Bool32::default(),
15973 shader_denorm_flush_to_zero_float16: Bool32::default(),
15974 shader_denorm_flush_to_zero_float32: Bool32::default(),
15975 shader_denorm_flush_to_zero_float64: Bool32::default(),
15976 shader_rounding_mode_rte_float16: Bool32::default(),
15977 shader_rounding_mode_rte_float32: Bool32::default(),
15978 shader_rounding_mode_rte_float64: Bool32::default(),
15979 shader_rounding_mode_rtz_float16: Bool32::default(),
15980 shader_rounding_mode_rtz_float32: Bool32::default(),
15981 shader_rounding_mode_rtz_float64: Bool32::default(),
15982 }
15983 }
15984}
15985
15986unsafe impl Send for PhysicalDeviceFloatControlsProperties {}
15987unsafe impl Sync for PhysicalDeviceFloatControlsProperties {}
15988
15989#[repr(C)]
15991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15992pub struct PhysicalDeviceFormatPackFeaturesARM {
15993 pub s_type: StructureType,
15994 pub next: *mut c_void,
15995 pub format_pack: Bool32,
15996}
15997
15998impl Default for PhysicalDeviceFormatPackFeaturesARM {
15999 #[inline]
16000 fn default() -> Self {
16001 Self {
16002 s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
16003 next: ptr::null_mut(),
16004 format_pack: Bool32::default(),
16005 }
16006 }
16007}
16008
16009unsafe impl Send for PhysicalDeviceFormatPackFeaturesARM {}
16010unsafe impl Sync for PhysicalDeviceFormatPackFeaturesARM {}
16011
16012#[repr(C)]
16014#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16015pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16016 pub s_type: StructureType,
16017 pub next: *mut c_void,
16018 pub fragment_density_map_deferred: Bool32,
16019}
16020
16021impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16022 #[inline]
16023 fn default() -> Self {
16024 Self {
16025 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
16026 next: ptr::null_mut(),
16027 fragment_density_map_deferred: Bool32::default(),
16028 }
16029 }
16030}
16031
16032unsafe impl Send for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16033unsafe impl Sync for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16034
16035#[repr(C)]
16037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16038pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16039 pub s_type: StructureType,
16040 pub next: *mut c_void,
16041 pub subsampled_loads: Bool32,
16042 pub subsampled_coarse_reconstruction_early_access: Bool32,
16043 pub max_subsampled_array_layers: u32,
16044 pub max_descriptor_set_subsampled_samplers: u32,
16045}
16046
16047impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16048 #[inline]
16049 fn default() -> Self {
16050 Self {
16051 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
16052 next: ptr::null_mut(),
16053 subsampled_loads: Bool32::default(),
16054 subsampled_coarse_reconstruction_early_access: Bool32::default(),
16055 max_subsampled_array_layers: u32::default(),
16056 max_descriptor_set_subsampled_samplers: u32::default(),
16057 }
16058 }
16059}
16060
16061unsafe impl Send for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16062unsafe impl Sync for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16063
16064#[repr(C)]
16066#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16067pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
16068 pub s_type: StructureType,
16069 pub next: *mut c_void,
16070 pub fragment_density_map: Bool32,
16071 pub fragment_density_map_dynamic: Bool32,
16072 pub fragment_density_map_non_subsampled_images: Bool32,
16073}
16074
16075impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
16076 #[inline]
16077 fn default() -> Self {
16078 Self {
16079 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
16080 next: ptr::null_mut(),
16081 fragment_density_map: Bool32::default(),
16082 fragment_density_map_dynamic: Bool32::default(),
16083 fragment_density_map_non_subsampled_images: Bool32::default(),
16084 }
16085 }
16086}
16087
16088unsafe impl Send for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16089unsafe impl Sync for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16090
16091#[repr(C)]
16093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16094pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16095 pub s_type: StructureType,
16096 pub next: *mut c_void,
16097 pub fragment_density_map_layered: Bool32,
16098}
16099
16100impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16101 #[inline]
16102 fn default() -> Self {
16103 Self {
16104 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
16105 next: ptr::null_mut(),
16106 fragment_density_map_layered: Bool32::default(),
16107 }
16108 }
16109}
16110
16111unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16112unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16113
16114#[repr(C)]
16116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16117pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16118 pub s_type: StructureType,
16119 pub next: *mut c_void,
16120 pub max_fragment_density_map_layers: u32,
16121}
16122
16123impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16124 #[inline]
16125 fn default() -> Self {
16126 Self {
16127 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
16128 next: ptr::null_mut(),
16129 max_fragment_density_map_layers: u32::default(),
16130 }
16131 }
16132}
16133
16134unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16135unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16136
16137#[repr(C)]
16139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16140pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16141 pub s_type: StructureType,
16142 pub next: *mut c_void,
16143 pub fragment_density_map_offset: Bool32,
16144}
16145
16146impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16147 #[inline]
16148 fn default() -> Self {
16149 Self {
16150 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
16151 next: ptr::null_mut(),
16152 fragment_density_map_offset: Bool32::default(),
16153 }
16154 }
16155}
16156
16157unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16158unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16159
16160#[repr(C)]
16162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16163pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16164 pub s_type: StructureType,
16165 pub next: *mut c_void,
16166 pub fragment_density_offset_granularity: Extent2D,
16167}
16168
16169impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16170 #[inline]
16171 fn default() -> Self {
16172 Self {
16173 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
16174 next: ptr::null_mut(),
16175 fragment_density_offset_granularity: Extent2D::default(),
16176 }
16177 }
16178}
16179
16180unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16181unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16182
16183#[repr(C)]
16185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16186pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
16187 pub s_type: StructureType,
16188 pub next: *mut c_void,
16189 pub min_fragment_density_texel_size: Extent2D,
16190 pub max_fragment_density_texel_size: Extent2D,
16191 pub fragment_density_invocations: Bool32,
16192}
16193
16194impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
16195 #[inline]
16196 fn default() -> Self {
16197 Self {
16198 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
16199 next: ptr::null_mut(),
16200 min_fragment_density_texel_size: Extent2D::default(),
16201 max_fragment_density_texel_size: Extent2D::default(),
16202 fragment_density_invocations: Bool32::default(),
16203 }
16204 }
16205}
16206
16207unsafe impl Send for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16208unsafe impl Sync for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16209
16210#[repr(C)]
16212#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16213pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16214 pub s_type: StructureType,
16215 pub next: *mut c_void,
16216 pub fragment_shader_barycentric: Bool32,
16217}
16218
16219impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16220 #[inline]
16221 fn default() -> Self {
16222 Self {
16223 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
16224 next: ptr::null_mut(),
16225 fragment_shader_barycentric: Bool32::default(),
16226 }
16227 }
16228}
16229
16230unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
16231unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
16232
16233#[repr(C)]
16235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16236pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
16237 pub s_type: StructureType,
16238 pub next: *mut c_void,
16239 pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
16240}
16241
16242impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
16243 #[inline]
16244 fn default() -> Self {
16245 Self {
16246 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
16247 next: ptr::null_mut(),
16248 tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
16249 }
16250 }
16251}
16252
16253unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
16254unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
16255
16256#[repr(C)]
16258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16259pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16260 pub s_type: StructureType,
16261 pub next: *mut c_void,
16262 pub fragment_shader_sample_interlock: Bool32,
16263 pub fragment_shader_pixel_interlock: Bool32,
16264 pub fragment_shader_shading_rate_interlock: Bool32,
16265}
16266
16267impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16268 #[inline]
16269 fn default() -> Self {
16270 Self {
16271 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
16272 next: ptr::null_mut(),
16273 fragment_shader_sample_interlock: Bool32::default(),
16274 fragment_shader_pixel_interlock: Bool32::default(),
16275 fragment_shader_shading_rate_interlock: Bool32::default(),
16276 }
16277 }
16278}
16279
16280unsafe impl Send for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16281unsafe impl Sync for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16282
16283#[repr(C)]
16285#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16286pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16287 pub s_type: StructureType,
16288 pub next: *mut c_void,
16289 pub fragment_shading_rate_enums: Bool32,
16290 pub supersample_fragment_shading_rates: Bool32,
16291 pub no_invocation_fragment_shading_rates: Bool32,
16292}
16293
16294impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16295 #[inline]
16296 fn default() -> Self {
16297 Self {
16298 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
16299 next: ptr::null_mut(),
16300 fragment_shading_rate_enums: Bool32::default(),
16301 supersample_fragment_shading_rates: Bool32::default(),
16302 no_invocation_fragment_shading_rates: Bool32::default(),
16303 }
16304 }
16305}
16306
16307unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16308unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16309
16310#[repr(C)]
16312#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16313pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16314 pub s_type: StructureType,
16315 pub next: *mut c_void,
16316 pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
16317}
16318
16319impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16320 #[inline]
16321 fn default() -> Self {
16322 Self {
16323 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
16324 next: ptr::null_mut(),
16325 max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
16326 }
16327 }
16328}
16329
16330unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16331unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16332
16333#[repr(C)]
16335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16336pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
16337 pub s_type: StructureType,
16338 pub next: *mut c_void,
16339 pub pipeline_fragment_shading_rate: Bool32,
16340 pub primitive_fragment_shading_rate: Bool32,
16341 pub attachment_fragment_shading_rate: Bool32,
16342}
16343
16344impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
16345 #[inline]
16346 fn default() -> Self {
16347 Self {
16348 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
16349 next: ptr::null_mut(),
16350 pipeline_fragment_shading_rate: Bool32::default(),
16351 primitive_fragment_shading_rate: Bool32::default(),
16352 attachment_fragment_shading_rate: Bool32::default(),
16353 }
16354 }
16355}
16356
16357unsafe impl Send for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16358unsafe impl Sync for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16359
16360#[repr(C)]
16362#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16363pub struct PhysicalDeviceFragmentShadingRateKHR {
16364 pub s_type: StructureType,
16365 pub next: *mut c_void,
16366 pub sample_counts: SampleCountFlags,
16367 pub fragment_size: Extent2D,
16368}
16369
16370impl Default for PhysicalDeviceFragmentShadingRateKHR {
16371 #[inline]
16372 fn default() -> Self {
16373 Self {
16374 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
16375 next: ptr::null_mut(),
16376 sample_counts: SampleCountFlags::default(),
16377 fragment_size: Extent2D::default(),
16378 }
16379 }
16380}
16381
16382unsafe impl Send for PhysicalDeviceFragmentShadingRateKHR {}
16383unsafe impl Sync for PhysicalDeviceFragmentShadingRateKHR {}
16384
16385#[repr(C)]
16387#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16388pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
16389 pub s_type: StructureType,
16390 pub next: *mut c_void,
16391 pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
16392 pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
16393 pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
16394 pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
16395 pub layered_shading_rate_attachments: Bool32,
16396 pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
16397 pub max_fragment_size: Extent2D,
16398 pub max_fragment_size_aspect_ratio: u32,
16399 pub max_fragment_shading_rate_coverage_samples: u32,
16400 pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
16401 pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
16402 pub fragment_shading_rate_with_sample_mask: Bool32,
16403 pub fragment_shading_rate_with_shader_sample_mask: Bool32,
16404 pub fragment_shading_rate_with_conservative_rasterization: Bool32,
16405 pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
16406 pub fragment_shading_rate_with_custom_sample_locations: Bool32,
16407 pub fragment_shading_rate_strict_multiply_combiner: Bool32,
16408}
16409
16410impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
16411 #[inline]
16412 fn default() -> Self {
16413 Self {
16414 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
16415 next: ptr::null_mut(),
16416 min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16417 max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16418 max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
16419 primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
16420 layered_shading_rate_attachments: Bool32::default(),
16421 fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
16422 max_fragment_size: Extent2D::default(),
16423 max_fragment_size_aspect_ratio: u32::default(),
16424 max_fragment_shading_rate_coverage_samples: u32::default(),
16425 max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
16426 fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
16427 fragment_shading_rate_with_sample_mask: Bool32::default(),
16428 fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
16429 fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
16430 fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
16431 fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
16432 fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
16433 }
16434 }
16435}
16436
16437unsafe impl Send for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16438unsafe impl Sync for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16439
16440#[repr(C)]
16442#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16443pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
16444 pub s_type: StructureType,
16445 pub next: *mut c_void,
16446 pub frame_boundary: Bool32,
16447}
16448
16449impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
16450 #[inline]
16451 fn default() -> Self {
16452 Self {
16453 s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
16454 next: ptr::null_mut(),
16455 frame_boundary: Bool32::default(),
16456 }
16457 }
16458}
16459
16460unsafe impl Send for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16461unsafe impl Sync for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16462
16463#[repr(C)]
16465#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16466pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
16467 pub s_type: StructureType,
16468 pub next: *mut c_void,
16469 pub global_priority_query: Bool32,
16470}
16471
16472impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
16473 #[inline]
16474 fn default() -> Self {
16475 Self {
16476 s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
16477 next: ptr::null_mut(),
16478 global_priority_query: Bool32::default(),
16479 }
16480 }
16481}
16482
16483unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {}
16484unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {}
16485
16486#[repr(C)]
16488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16489pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16490 pub s_type: StructureType,
16491 pub next: *mut c_void,
16492 pub graphics_pipeline_library: Bool32,
16493}
16494
16495impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16496 #[inline]
16497 fn default() -> Self {
16498 Self {
16499 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
16500 next: ptr::null_mut(),
16501 graphics_pipeline_library: Bool32::default(),
16502 }
16503 }
16504}
16505
16506unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16507unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16508
16509#[repr(C)]
16511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16512pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16513 pub s_type: StructureType,
16514 pub next: *mut c_void,
16515 pub graphics_pipeline_library_fast_linking: Bool32,
16516 pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
16517}
16518
16519impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16520 #[inline]
16521 fn default() -> Self {
16522 Self {
16523 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
16524 next: ptr::null_mut(),
16525 graphics_pipeline_library_fast_linking: Bool32::default(),
16526 graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
16527 }
16528 }
16529}
16530
16531unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16532unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16533
16534#[repr(C)]
16536#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16537pub struct PhysicalDeviceGroupProperties {
16538 pub s_type: StructureType,
16539 pub next: *mut c_void,
16540 pub physical_device_count: u32,
16541 pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE],
16542 pub subset_allocation: Bool32,
16543}
16544
16545impl Default for PhysicalDeviceGroupProperties {
16546 #[inline]
16547 fn default() -> Self {
16548 Self {
16549 s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
16550 next: ptr::null_mut(),
16551 physical_device_count: u32::default(),
16552 physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
16553 subset_allocation: Bool32::default(),
16554 }
16555 }
16556}
16557
16558unsafe impl Send for PhysicalDeviceGroupProperties {}
16559unsafe impl Sync for PhysicalDeviceGroupProperties {}
16560
16561#[repr(C)]
16563#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16564pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
16565 pub s_type: StructureType,
16566 pub next: *mut c_void,
16567 pub hdr_vivid: Bool32,
16568}
16569
16570impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
16571 #[inline]
16572 fn default() -> Self {
16573 Self {
16574 s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
16575 next: ptr::null_mut(),
16576 hdr_vivid: Bool32::default(),
16577 }
16578 }
16579}
16580
16581unsafe impl Send for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16582unsafe impl Sync for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16583
16584#[repr(C)]
16586#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16587pub struct PhysicalDeviceHostImageCopyFeatures {
16588 pub s_type: StructureType,
16589 pub next: *mut c_void,
16590 pub host_image_copy: Bool32,
16591}
16592
16593impl Default for PhysicalDeviceHostImageCopyFeatures {
16594 #[inline]
16595 fn default() -> Self {
16596 Self {
16597 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
16598 next: ptr::null_mut(),
16599 host_image_copy: Bool32::default(),
16600 }
16601 }
16602}
16603
16604unsafe impl Send for PhysicalDeviceHostImageCopyFeatures {}
16605unsafe impl Sync for PhysicalDeviceHostImageCopyFeatures {}
16606
16607#[repr(C)]
16609#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16610pub struct PhysicalDeviceHostImageCopyProperties {
16611 pub s_type: StructureType,
16612 pub next: *mut c_void,
16613 pub copy_src_layout_count: u32,
16614 pub copy_src_layouts: *mut ImageLayout,
16615 pub copy_dst_layout_count: u32,
16616 pub copy_dst_layouts: *mut ImageLayout,
16617 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
16618 pub identical_memory_type_requirements: Bool32,
16619}
16620
16621impl Default for PhysicalDeviceHostImageCopyProperties {
16622 #[inline]
16623 fn default() -> Self {
16624 Self {
16625 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
16626 next: ptr::null_mut(),
16627 copy_src_layout_count: u32::default(),
16628 copy_src_layouts: ptr::null_mut(),
16629 copy_dst_layout_count: u32::default(),
16630 copy_dst_layouts: ptr::null_mut(),
16631 optimal_tiling_layout_uuid: ByteArray::default(),
16632 identical_memory_type_requirements: Bool32::default(),
16633 }
16634 }
16635}
16636
16637unsafe impl Send for PhysicalDeviceHostImageCopyProperties {}
16638unsafe impl Sync for PhysicalDeviceHostImageCopyProperties {}
16639
16640#[repr(C)]
16642#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16643pub struct PhysicalDeviceHostQueryResetFeatures {
16644 pub s_type: StructureType,
16645 pub next: *mut c_void,
16646 pub host_query_reset: Bool32,
16647}
16648
16649impl Default for PhysicalDeviceHostQueryResetFeatures {
16650 #[inline]
16651 fn default() -> Self {
16652 Self {
16653 s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
16654 next: ptr::null_mut(),
16655 host_query_reset: Bool32::default(),
16656 }
16657 }
16658}
16659
16660unsafe impl Send for PhysicalDeviceHostQueryResetFeatures {}
16661unsafe impl Sync for PhysicalDeviceHostQueryResetFeatures {}
16662
16663#[repr(C)]
16665#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16666pub struct PhysicalDeviceIDProperties {
16667 pub s_type: StructureType,
16668 pub next: *mut c_void,
16669 pub device_uuid: ByteArray<UUID_SIZE>,
16670 pub driver_uuid: ByteArray<UUID_SIZE>,
16671 pub device_luid: ByteArray<LUID_SIZE>,
16672 pub device_node_mask: u32,
16673 pub device_luid_valid: Bool32,
16674}
16675
16676impl Default for PhysicalDeviceIDProperties {
16677 #[inline]
16678 fn default() -> Self {
16679 Self {
16680 s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
16681 next: ptr::null_mut(),
16682 device_uuid: ByteArray::default(),
16683 driver_uuid: ByteArray::default(),
16684 device_luid: ByteArray::default(),
16685 device_node_mask: u32::default(),
16686 device_luid_valid: Bool32::default(),
16687 }
16688 }
16689}
16690
16691unsafe impl Send for PhysicalDeviceIDProperties {}
16692unsafe impl Sync for PhysicalDeviceIDProperties {}
16693
16694#[repr(C)]
16696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16697pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16698 pub s_type: StructureType,
16699 pub next: *mut c_void,
16700 pub image_2d_view_of_3d: Bool32,
16701 pub sampler_2d_view_of_3d: Bool32,
16702}
16703
16704impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16705 #[inline]
16706 fn default() -> Self {
16707 Self {
16708 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
16709 next: ptr::null_mut(),
16710 image_2d_view_of_3d: Bool32::default(),
16711 sampler_2d_view_of_3d: Bool32::default(),
16712 }
16713 }
16714}
16715
16716unsafe impl Send for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16717unsafe impl Sync for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16718
16719#[repr(C)]
16721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16722pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
16723 pub s_type: StructureType,
16724 pub next: *mut c_void,
16725 pub image_alignment_control: Bool32,
16726}
16727
16728impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
16729 #[inline]
16730 fn default() -> Self {
16731 Self {
16732 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
16733 next: ptr::null_mut(),
16734 image_alignment_control: Bool32::default(),
16735 }
16736 }
16737}
16738
16739unsafe impl Send for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16740unsafe impl Sync for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16741
16742#[repr(C)]
16744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16745pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
16746 pub s_type: StructureType,
16747 pub next: *mut c_void,
16748 pub supported_image_alignment_mask: u32,
16749}
16750
16751impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
16752 #[inline]
16753 fn default() -> Self {
16754 Self {
16755 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
16756 next: ptr::null_mut(),
16757 supported_image_alignment_mask: u32::default(),
16758 }
16759 }
16760}
16761
16762unsafe impl Send for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16763unsafe impl Sync for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16764
16765#[repr(C)]
16767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16768pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
16769 pub s_type: StructureType,
16770 pub next: *mut c_void,
16771 pub image_compression_control: Bool32,
16772}
16773
16774impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
16775 #[inline]
16776 fn default() -> Self {
16777 Self {
16778 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
16779 next: ptr::null_mut(),
16780 image_compression_control: Bool32::default(),
16781 }
16782 }
16783}
16784
16785unsafe impl Send for PhysicalDeviceImageCompressionControlFeaturesEXT {}
16786unsafe impl Sync for PhysicalDeviceImageCompressionControlFeaturesEXT {}
16787
16788#[repr(C)]
16790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16791pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
16792 pub s_type: StructureType,
16793 pub next: *mut c_void,
16794 pub image_compression_control_swapchain: Bool32,
16795}
16796
16797impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
16798 #[inline]
16799 fn default() -> Self {
16800 Self {
16801 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
16802 next: ptr::null_mut(),
16803 image_compression_control_swapchain: Bool32::default(),
16804 }
16805 }
16806}
16807
16808unsafe impl Send for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
16809unsafe impl Sync for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
16810
16811#[repr(C)]
16813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16814pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
16815 pub s_type: StructureType,
16816 pub next: *const c_void,
16817 pub drm_format_modifier: u64,
16818 pub sharing_mode: SharingMode,
16819 pub queue_family_index_count: u32,
16820 pub queue_family_indices: *const u32,
16821}
16822
16823impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
16824 #[inline]
16825 fn default() -> Self {
16826 Self {
16827 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
16828 next: ptr::null(),
16829 drm_format_modifier: u64::default(),
16830 sharing_mode: SharingMode::default(),
16831 queue_family_index_count: u32::default(),
16832 queue_family_indices: ptr::null(),
16833 }
16834 }
16835}
16836
16837unsafe impl Send for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
16838unsafe impl Sync for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
16839
16840#[repr(C)]
16842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16843pub struct PhysicalDeviceImageFormatInfo2 {
16844 pub s_type: StructureType,
16845 pub next: *const c_void,
16846 pub format: Format,
16847 pub type_: ImageType,
16848 pub tiling: ImageTiling,
16849 pub usage: ImageUsageFlags,
16850 pub flags: ImageCreateFlags,
16851}
16852
16853impl Default for PhysicalDeviceImageFormatInfo2 {
16854 #[inline]
16855 fn default() -> Self {
16856 Self {
16857 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
16858 next: ptr::null(),
16859 format: Format::default(),
16860 type_: ImageType::default(),
16861 tiling: ImageTiling::default(),
16862 usage: ImageUsageFlags::default(),
16863 flags: ImageCreateFlags::default(),
16864 }
16865 }
16866}
16867
16868unsafe impl Send for PhysicalDeviceImageFormatInfo2 {}
16869unsafe impl Sync for PhysicalDeviceImageFormatInfo2 {}
16870
16871#[repr(C)]
16873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16874pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
16875 pub s_type: StructureType,
16876 pub next: *mut c_void,
16877 pub texture_block_match2: Bool32,
16878}
16879
16880impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
16881 #[inline]
16882 fn default() -> Self {
16883 Self {
16884 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
16885 next: ptr::null_mut(),
16886 texture_block_match2: Bool32::default(),
16887 }
16888 }
16889}
16890
16891unsafe impl Send for PhysicalDeviceImageProcessing2FeaturesQCOM {}
16892unsafe impl Sync for PhysicalDeviceImageProcessing2FeaturesQCOM {}
16893
16894#[repr(C)]
16896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16897pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
16898 pub s_type: StructureType,
16899 pub next: *mut c_void,
16900 pub max_block_match_window: Extent2D,
16901}
16902
16903impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
16904 #[inline]
16905 fn default() -> Self {
16906 Self {
16907 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
16908 next: ptr::null_mut(),
16909 max_block_match_window: Extent2D::default(),
16910 }
16911 }
16912}
16913
16914unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {}
16915unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {}
16916
16917#[repr(C)]
16919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16920pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
16921 pub s_type: StructureType,
16922 pub next: *mut c_void,
16923 pub texture_sample_weighted: Bool32,
16924 pub texture_box_filter: Bool32,
16925 pub texture_block_match: Bool32,
16926}
16927
16928impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
16929 #[inline]
16930 fn default() -> Self {
16931 Self {
16932 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
16933 next: ptr::null_mut(),
16934 texture_sample_weighted: Bool32::default(),
16935 texture_box_filter: Bool32::default(),
16936 texture_block_match: Bool32::default(),
16937 }
16938 }
16939}
16940
16941unsafe impl Send for PhysicalDeviceImageProcessingFeaturesQCOM {}
16942unsafe impl Sync for PhysicalDeviceImageProcessingFeaturesQCOM {}
16943
16944#[repr(C)]
16946#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16947pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
16948 pub s_type: StructureType,
16949 pub next: *mut c_void,
16950 pub max_weight_filter_phases: u32,
16951 pub max_weight_filter_dimension: Extent2D,
16952 pub max_block_match_region: Extent2D,
16953 pub max_box_filter_block_size: Extent2D,
16954}
16955
16956impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
16957 #[inline]
16958 fn default() -> Self {
16959 Self {
16960 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
16961 next: ptr::null_mut(),
16962 max_weight_filter_phases: u32::default(),
16963 max_weight_filter_dimension: Extent2D::default(),
16964 max_block_match_region: Extent2D::default(),
16965 max_box_filter_block_size: Extent2D::default(),
16966 }
16967 }
16968}
16969
16970unsafe impl Send for PhysicalDeviceImageProcessingPropertiesQCOM {}
16971unsafe impl Sync for PhysicalDeviceImageProcessingPropertiesQCOM {}
16972
16973#[repr(C)]
16975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16976pub struct PhysicalDeviceImageRobustnessFeatures {
16977 pub s_type: StructureType,
16978 pub next: *mut c_void,
16979 pub robust_image_access: Bool32,
16980}
16981
16982impl Default for PhysicalDeviceImageRobustnessFeatures {
16983 #[inline]
16984 fn default() -> Self {
16985 Self {
16986 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
16987 next: ptr::null_mut(),
16988 robust_image_access: Bool32::default(),
16989 }
16990 }
16991}
16992
16993unsafe impl Send for PhysicalDeviceImageRobustnessFeatures {}
16994unsafe impl Sync for PhysicalDeviceImageRobustnessFeatures {}
16995
16996#[repr(C)]
16998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16999pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17000 pub s_type: StructureType,
17001 pub next: *mut c_void,
17002 pub image_sliced_view_of_3d: Bool32,
17003}
17004
17005impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17006 #[inline]
17007 fn default() -> Self {
17008 Self {
17009 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
17010 next: ptr::null_mut(),
17011 image_sliced_view_of_3d: Bool32::default(),
17012 }
17013 }
17014}
17015
17016unsafe impl Send for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17017unsafe impl Sync for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17018
17019#[repr(C)]
17021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17022pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
17023 pub s_type: StructureType,
17024 pub next: *mut c_void,
17025 pub image_view_type: ImageViewType,
17026}
17027
17028impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
17029 #[inline]
17030 fn default() -> Self {
17031 Self {
17032 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
17033 next: ptr::null_mut(),
17034 image_view_type: ImageViewType::default(),
17035 }
17036 }
17037}
17038
17039unsafe impl Send for PhysicalDeviceImageViewImageFormatInfoEXT {}
17040unsafe impl Sync for PhysicalDeviceImageViewImageFormatInfoEXT {}
17041
17042#[repr(C)]
17044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17045pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
17046 pub s_type: StructureType,
17047 pub next: *mut c_void,
17048 pub min_lod: Bool32,
17049}
17050
17051impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
17052 #[inline]
17053 fn default() -> Self {
17054 Self {
17055 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
17056 next: ptr::null_mut(),
17057 min_lod: Bool32::default(),
17058 }
17059 }
17060}
17061
17062unsafe impl Send for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17063unsafe impl Sync for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17064
17065#[repr(C)]
17067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17068pub struct PhysicalDeviceImagelessFramebufferFeatures {
17069 pub s_type: StructureType,
17070 pub next: *mut c_void,
17071 pub imageless_framebuffer: Bool32,
17072}
17073
17074impl Default for PhysicalDeviceImagelessFramebufferFeatures {
17075 #[inline]
17076 fn default() -> Self {
17077 Self {
17078 s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
17079 next: ptr::null_mut(),
17080 imageless_framebuffer: Bool32::default(),
17081 }
17082 }
17083}
17084
17085unsafe impl Send for PhysicalDeviceImagelessFramebufferFeatures {}
17086unsafe impl Sync for PhysicalDeviceImagelessFramebufferFeatures {}
17087
17088#[repr(C)]
17090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17091pub struct PhysicalDeviceIndexTypeUint8Features {
17092 pub s_type: StructureType,
17093 pub next: *mut c_void,
17094 pub index_type_uint8: Bool32,
17095}
17096
17097impl Default for PhysicalDeviceIndexTypeUint8Features {
17098 #[inline]
17099 fn default() -> Self {
17100 Self {
17101 s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
17102 next: ptr::null_mut(),
17103 index_type_uint8: Bool32::default(),
17104 }
17105 }
17106}
17107
17108unsafe impl Send for PhysicalDeviceIndexTypeUint8Features {}
17109unsafe impl Sync for PhysicalDeviceIndexTypeUint8Features {}
17110
17111#[repr(C)]
17113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17114pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
17115 pub s_type: StructureType,
17116 pub next: *mut c_void,
17117 pub inherited_viewport_scissor_2d: Bool32,
17118}
17119
17120impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
17121 #[inline]
17122 fn default() -> Self {
17123 Self {
17124 s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
17125 next: ptr::null_mut(),
17126 inherited_viewport_scissor_2d: Bool32::default(),
17127 }
17128 }
17129}
17130
17131unsafe impl Send for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17132unsafe impl Sync for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17133
17134#[repr(C)]
17136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17137pub struct PhysicalDeviceInlineUniformBlockFeatures {
17138 pub s_type: StructureType,
17139 pub next: *mut c_void,
17140 pub inline_uniform_block: Bool32,
17141 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
17142}
17143
17144impl Default for PhysicalDeviceInlineUniformBlockFeatures {
17145 #[inline]
17146 fn default() -> Self {
17147 Self {
17148 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
17149 next: ptr::null_mut(),
17150 inline_uniform_block: Bool32::default(),
17151 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
17152 }
17153 }
17154}
17155
17156unsafe impl Send for PhysicalDeviceInlineUniformBlockFeatures {}
17157unsafe impl Sync for PhysicalDeviceInlineUniformBlockFeatures {}
17158
17159#[repr(C)]
17161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17162pub struct PhysicalDeviceInlineUniformBlockProperties {
17163 pub s_type: StructureType,
17164 pub next: *mut c_void,
17165 pub max_inline_uniform_block_size: u32,
17166 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
17167 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
17168 pub max_descriptor_set_inline_uniform_blocks: u32,
17169 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
17170}
17171
17172impl Default for PhysicalDeviceInlineUniformBlockProperties {
17173 #[inline]
17174 fn default() -> Self {
17175 Self {
17176 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
17177 next: ptr::null_mut(),
17178 max_inline_uniform_block_size: u32::default(),
17179 max_per_stage_descriptor_inline_uniform_blocks: u32::default(),
17180 max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(),
17181 max_descriptor_set_inline_uniform_blocks: u32::default(),
17182 max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(),
17183 }
17184 }
17185}
17186
17187unsafe impl Send for PhysicalDeviceInlineUniformBlockProperties {}
17188unsafe impl Sync for PhysicalDeviceInlineUniformBlockProperties {}
17189
17190#[repr(C)]
17192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17193pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17194 pub s_type: StructureType,
17195 pub next: *mut c_void,
17196 pub invocation_mask: Bool32,
17197}
17198
17199impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17200 #[inline]
17201 fn default() -> Self {
17202 Self {
17203 s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
17204 next: ptr::null_mut(),
17205 invocation_mask: Bool32::default(),
17206 }
17207 }
17208}
17209
17210unsafe impl Send for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
17211unsafe impl Sync for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
17212
17213#[repr(C)]
17215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17216pub struct PhysicalDeviceLayeredApiPropertiesKHR {
17217 pub s_type: StructureType,
17218 pub next: *mut c_void,
17219 pub vendor_id: u32,
17220 pub device_id: u32,
17221 pub layered_api: PhysicalDeviceLayeredApiKHR,
17222 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
17223}
17224
17225impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
17226 #[inline]
17227 fn default() -> Self {
17228 Self {
17229 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
17230 next: ptr::null_mut(),
17231 vendor_id: u32::default(),
17232 device_id: u32::default(),
17233 layered_api: PhysicalDeviceLayeredApiKHR::default(),
17234 device_name: StringArray::default(),
17235 }
17236 }
17237}
17238
17239unsafe impl Send for PhysicalDeviceLayeredApiPropertiesKHR {}
17240unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesKHR {}
17241
17242#[repr(C)]
17244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17245pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
17246 pub s_type: StructureType,
17247 pub next: *mut c_void,
17248 pub layered_api_count: u32,
17249 pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
17250}
17251
17252impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
17253 #[inline]
17254 fn default() -> Self {
17255 Self {
17256 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
17257 next: ptr::null_mut(),
17258 layered_api_count: u32::default(),
17259 layered_apis: ptr::null_mut(),
17260 }
17261 }
17262}
17263
17264unsafe impl Send for PhysicalDeviceLayeredApiPropertiesListKHR {}
17265unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesListKHR {}
17266
17267#[repr(C)]
17269#[derive(Copy, Clone, Debug, PartialEq)]
17270pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17271 pub s_type: StructureType,
17272 pub next: *mut c_void,
17273 pub properties: PhysicalDeviceProperties2,
17274}
17275
17276impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17277 #[inline]
17278 fn default() -> Self {
17279 Self {
17280 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
17281 next: ptr::null_mut(),
17282 properties: PhysicalDeviceProperties2::default(),
17283 }
17284 }
17285}
17286
17287unsafe impl Send for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17288unsafe impl Sync for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17289
17290#[repr(C)]
17292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17293pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
17294 pub s_type: StructureType,
17295 pub next: *mut c_void,
17296 pub underlying_api: LayeredDriverUnderlyingApiMSFT,
17297}
17298
17299impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
17300 #[inline]
17301 fn default() -> Self {
17302 Self {
17303 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
17304 next: ptr::null_mut(),
17305 underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
17306 }
17307 }
17308}
17309
17310unsafe impl Send for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17311unsafe impl Sync for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17312
17313#[repr(C)]
17315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17316pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
17317 pub s_type: StructureType,
17318 pub next: *mut c_void,
17319 pub legacy_dithering: Bool32,
17320}
17321
17322impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
17323 #[inline]
17324 fn default() -> Self {
17325 Self {
17326 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
17327 next: ptr::null_mut(),
17328 legacy_dithering: Bool32::default(),
17329 }
17330 }
17331}
17332
17333unsafe impl Send for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17334unsafe impl Sync for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17335
17336#[repr(C)]
17338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17339pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17340 pub s_type: StructureType,
17341 pub next: *mut c_void,
17342 pub legacy_vertex_attributes: Bool32,
17343}
17344
17345impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17346 #[inline]
17347 fn default() -> Self {
17348 Self {
17349 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
17350 next: ptr::null_mut(),
17351 legacy_vertex_attributes: Bool32::default(),
17352 }
17353 }
17354}
17355
17356unsafe impl Send for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17357unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17358
17359#[repr(C)]
17361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17362pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17363 pub s_type: StructureType,
17364 pub next: *mut c_void,
17365 pub native_unaligned_performance: Bool32,
17366}
17367
17368impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17369 #[inline]
17370 fn default() -> Self {
17371 Self {
17372 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
17373 next: ptr::null_mut(),
17374 native_unaligned_performance: Bool32::default(),
17375 }
17376 }
17377}
17378
17379unsafe impl Send for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17380unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17381
17382#[repr(C)]
17384#[derive(Copy, Clone, Default, Debug, PartialEq)]
17385pub struct PhysicalDeviceLimits {
17386 pub max_image_dimension_1d: u32,
17387 pub max_image_dimension_2d: u32,
17388 pub max_image_dimension_3d: u32,
17389 pub max_image_dimension_cube: u32,
17390 pub max_image_array_layers: u32,
17391 pub max_texel_buffer_elements: u32,
17392 pub max_uniform_buffer_range: u32,
17393 pub max_storage_buffer_range: u32,
17394 pub max_push_constants_size: u32,
17395 pub max_memory_allocation_count: u32,
17396 pub max_sampler_allocation_count: u32,
17397 pub buffer_image_granularity: DeviceSize,
17398 pub sparse_address_space_size: DeviceSize,
17399 pub max_bound_descriptor_sets: u32,
17400 pub max_per_stage_descriptor_samplers: u32,
17401 pub max_per_stage_descriptor_uniform_buffers: u32,
17402 pub max_per_stage_descriptor_storage_buffers: u32,
17403 pub max_per_stage_descriptor_sampled_images: u32,
17404 pub max_per_stage_descriptor_storage_images: u32,
17405 pub max_per_stage_descriptor_input_attachments: u32,
17406 pub max_per_stage_resources: u32,
17407 pub max_descriptor_set_samplers: u32,
17408 pub max_descriptor_set_uniform_buffers: u32,
17409 pub max_descriptor_set_uniform_buffers_dynamic: u32,
17410 pub max_descriptor_set_storage_buffers: u32,
17411 pub max_descriptor_set_storage_buffers_dynamic: u32,
17412 pub max_descriptor_set_sampled_images: u32,
17413 pub max_descriptor_set_storage_images: u32,
17414 pub max_descriptor_set_input_attachments: u32,
17415 pub max_vertex_input_attributes: u32,
17416 pub max_vertex_input_bindings: u32,
17417 pub max_vertex_input_attribute_offset: u32,
17418 pub max_vertex_input_binding_stride: u32,
17419 pub max_vertex_output_components: u32,
17420 pub max_tessellation_generation_level: u32,
17421 pub max_tessellation_patch_size: u32,
17422 pub max_tessellation_control_per_vertex_input_components: u32,
17423 pub max_tessellation_control_per_vertex_output_components: u32,
17424 pub max_tessellation_control_per_patch_output_components: u32,
17425 pub max_tessellation_control_total_output_components: u32,
17426 pub max_tessellation_evaluation_input_components: u32,
17427 pub max_tessellation_evaluation_output_components: u32,
17428 pub max_geometry_shader_invocations: u32,
17429 pub max_geometry_input_components: u32,
17430 pub max_geometry_output_components: u32,
17431 pub max_geometry_output_vertices: u32,
17432 pub max_geometry_total_output_components: u32,
17433 pub max_fragment_input_components: u32,
17434 pub max_fragment_output_attachments: u32,
17435 pub max_fragment_dual_src_attachments: u32,
17436 pub max_fragment_combined_output_resources: u32,
17437 pub max_compute_shared_memory_size: u32,
17438 pub max_compute_work_group_count: [u32; 3],
17439 pub max_compute_work_group_invocations: u32,
17440 pub max_compute_work_group_size: [u32; 3],
17441 pub sub_pixel_precision_bits: u32,
17442 pub sub_texel_precision_bits: u32,
17443 pub mipmap_precision_bits: u32,
17444 pub max_draw_indexed_index_value: u32,
17445 pub max_draw_indirect_count: u32,
17446 pub max_sampler_lod_bias: f32,
17447 pub max_sampler_anisotropy: f32,
17448 pub max_viewports: u32,
17449 pub max_viewport_dimensions: [u32; 2],
17450 pub viewport_bounds_range: [f32; 2],
17451 pub viewport_sub_pixel_bits: u32,
17452 pub min_memory_map_alignment: usize,
17453 pub min_texel_buffer_offset_alignment: DeviceSize,
17454 pub min_uniform_buffer_offset_alignment: DeviceSize,
17455 pub min_storage_buffer_offset_alignment: DeviceSize,
17456 pub min_texel_offset: i32,
17457 pub max_texel_offset: u32,
17458 pub min_texel_gather_offset: i32,
17459 pub max_texel_gather_offset: u32,
17460 pub min_interpolation_offset: f32,
17461 pub max_interpolation_offset: f32,
17462 pub sub_pixel_interpolation_offset_bits: u32,
17463 pub max_framebuffer_width: u32,
17464 pub max_framebuffer_height: u32,
17465 pub max_framebuffer_layers: u32,
17466 pub framebuffer_color_sample_counts: SampleCountFlags,
17467 pub framebuffer_depth_sample_counts: SampleCountFlags,
17468 pub framebuffer_stencil_sample_counts: SampleCountFlags,
17469 pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
17470 pub max_color_attachments: u32,
17471 pub sampled_image_color_sample_counts: SampleCountFlags,
17472 pub sampled_image_integer_sample_counts: SampleCountFlags,
17473 pub sampled_image_depth_sample_counts: SampleCountFlags,
17474 pub sampled_image_stencil_sample_counts: SampleCountFlags,
17475 pub storage_image_sample_counts: SampleCountFlags,
17476 pub max_sample_mask_words: u32,
17477 pub timestamp_compute_and_graphics: Bool32,
17478 pub timestamp_period: f32,
17479 pub max_clip_distances: u32,
17480 pub max_cull_distances: u32,
17481 pub max_combined_clip_and_cull_distances: u32,
17482 pub discrete_queue_priorities: u32,
17483 pub point_size_range: [f32; 2],
17484 pub line_width_range: [f32; 2],
17485 pub point_size_granularity: f32,
17486 pub line_width_granularity: f32,
17487 pub strict_lines: Bool32,
17488 pub standard_sample_locations: Bool32,
17489 pub optimal_buffer_copy_offset_alignment: DeviceSize,
17490 pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
17491 pub non_coherent_atom_size: DeviceSize,
17492}
17493
17494#[repr(C)]
17496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17497pub struct PhysicalDeviceLineRasterizationFeatures {
17498 pub s_type: StructureType,
17499 pub next: *mut c_void,
17500 pub rectangular_lines: Bool32,
17501 pub bresenham_lines: Bool32,
17502 pub smooth_lines: Bool32,
17503 pub stippled_rectangular_lines: Bool32,
17504 pub stippled_bresenham_lines: Bool32,
17505 pub stippled_smooth_lines: Bool32,
17506}
17507
17508impl Default for PhysicalDeviceLineRasterizationFeatures {
17509 #[inline]
17510 fn default() -> Self {
17511 Self {
17512 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
17513 next: ptr::null_mut(),
17514 rectangular_lines: Bool32::default(),
17515 bresenham_lines: Bool32::default(),
17516 smooth_lines: Bool32::default(),
17517 stippled_rectangular_lines: Bool32::default(),
17518 stippled_bresenham_lines: Bool32::default(),
17519 stippled_smooth_lines: Bool32::default(),
17520 }
17521 }
17522}
17523
17524unsafe impl Send for PhysicalDeviceLineRasterizationFeatures {}
17525unsafe impl Sync for PhysicalDeviceLineRasterizationFeatures {}
17526
17527#[repr(C)]
17529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17530pub struct PhysicalDeviceLineRasterizationProperties {
17531 pub s_type: StructureType,
17532 pub next: *mut c_void,
17533 pub line_sub_pixel_precision_bits: u32,
17534}
17535
17536impl Default for PhysicalDeviceLineRasterizationProperties {
17537 #[inline]
17538 fn default() -> Self {
17539 Self {
17540 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
17541 next: ptr::null_mut(),
17542 line_sub_pixel_precision_bits: u32::default(),
17543 }
17544 }
17545}
17546
17547unsafe impl Send for PhysicalDeviceLineRasterizationProperties {}
17548unsafe impl Sync for PhysicalDeviceLineRasterizationProperties {}
17549
17550#[repr(C)]
17552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17553pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
17554 pub s_type: StructureType,
17555 pub next: *mut c_void,
17556 pub linear_color_attachment: Bool32,
17557}
17558
17559impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
17560 #[inline]
17561 fn default() -> Self {
17562 Self {
17563 s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
17564 next: ptr::null_mut(),
17565 linear_color_attachment: Bool32::default(),
17566 }
17567 }
17568}
17569
17570unsafe impl Send for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17571unsafe impl Sync for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17572
17573#[repr(C)]
17575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17576pub struct PhysicalDeviceMaintenance10FeaturesKHR {
17577 pub s_type: StructureType,
17578 pub next: *mut c_void,
17579 pub maintenance10: Bool32,
17580}
17581
17582impl Default for PhysicalDeviceMaintenance10FeaturesKHR {
17583 #[inline]
17584 fn default() -> Self {
17585 Self {
17586 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
17587 next: ptr::null_mut(),
17588 maintenance10: Bool32::default(),
17589 }
17590 }
17591}
17592
17593unsafe impl Send for PhysicalDeviceMaintenance10FeaturesKHR {}
17594unsafe impl Sync for PhysicalDeviceMaintenance10FeaturesKHR {}
17595
17596#[repr(C)]
17598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17599pub struct PhysicalDeviceMaintenance10PropertiesKHR {
17600 pub s_type: StructureType,
17601 pub next: *mut c_void,
17602 pub rgba4_opaque_black_swizzled: Bool32,
17603 pub resolve_srgb_format_applies_transfer_function: Bool32,
17604 pub resolve_srgb_format_supports_transfer_function_control: Bool32,
17605}
17606
17607impl Default for PhysicalDeviceMaintenance10PropertiesKHR {
17608 #[inline]
17609 fn default() -> Self {
17610 Self {
17611 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
17612 next: ptr::null_mut(),
17613 rgba4_opaque_black_swizzled: Bool32::default(),
17614 resolve_srgb_format_applies_transfer_function: Bool32::default(),
17615 resolve_srgb_format_supports_transfer_function_control: Bool32::default(),
17616 }
17617 }
17618}
17619
17620unsafe impl Send for PhysicalDeviceMaintenance10PropertiesKHR {}
17621unsafe impl Sync for PhysicalDeviceMaintenance10PropertiesKHR {}
17622
17623#[repr(C)]
17625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17626pub struct PhysicalDeviceMaintenance3Properties {
17627 pub s_type: StructureType,
17628 pub next: *mut c_void,
17629 pub max_per_set_descriptors: u32,
17630 pub max_memory_allocation_size: DeviceSize,
17631}
17632
17633impl Default for PhysicalDeviceMaintenance3Properties {
17634 #[inline]
17635 fn default() -> Self {
17636 Self {
17637 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
17638 next: ptr::null_mut(),
17639 max_per_set_descriptors: u32::default(),
17640 max_memory_allocation_size: DeviceSize::default(),
17641 }
17642 }
17643}
17644
17645unsafe impl Send for PhysicalDeviceMaintenance3Properties {}
17646unsafe impl Sync for PhysicalDeviceMaintenance3Properties {}
17647
17648#[repr(C)]
17650#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17651pub struct PhysicalDeviceMaintenance4Features {
17652 pub s_type: StructureType,
17653 pub next: *mut c_void,
17654 pub maintenance4: Bool32,
17655}
17656
17657impl Default for PhysicalDeviceMaintenance4Features {
17658 #[inline]
17659 fn default() -> Self {
17660 Self {
17661 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
17662 next: ptr::null_mut(),
17663 maintenance4: Bool32::default(),
17664 }
17665 }
17666}
17667
17668unsafe impl Send for PhysicalDeviceMaintenance4Features {}
17669unsafe impl Sync for PhysicalDeviceMaintenance4Features {}
17670
17671#[repr(C)]
17673#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17674pub struct PhysicalDeviceMaintenance4Properties {
17675 pub s_type: StructureType,
17676 pub next: *mut c_void,
17677 pub max_buffer_size: DeviceSize,
17678}
17679
17680impl Default for PhysicalDeviceMaintenance4Properties {
17681 #[inline]
17682 fn default() -> Self {
17683 Self {
17684 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
17685 next: ptr::null_mut(),
17686 max_buffer_size: DeviceSize::default(),
17687 }
17688 }
17689}
17690
17691unsafe impl Send for PhysicalDeviceMaintenance4Properties {}
17692unsafe impl Sync for PhysicalDeviceMaintenance4Properties {}
17693
17694#[repr(C)]
17696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17697pub struct PhysicalDeviceMaintenance5Features {
17698 pub s_type: StructureType,
17699 pub next: *mut c_void,
17700 pub maintenance5: Bool32,
17701}
17702
17703impl Default for PhysicalDeviceMaintenance5Features {
17704 #[inline]
17705 fn default() -> Self {
17706 Self {
17707 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
17708 next: ptr::null_mut(),
17709 maintenance5: Bool32::default(),
17710 }
17711 }
17712}
17713
17714unsafe impl Send for PhysicalDeviceMaintenance5Features {}
17715unsafe impl Sync for PhysicalDeviceMaintenance5Features {}
17716
17717#[repr(C)]
17719#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17720pub struct PhysicalDeviceMaintenance5Properties {
17721 pub s_type: StructureType,
17722 pub next: *mut c_void,
17723 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
17724 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
17725 pub depth_stencil_swizzle_one_support: Bool32,
17726 pub polygon_mode_point_size: Bool32,
17727 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
17728 pub non_strict_wide_lines_use_parallelogram: Bool32,
17729}
17730
17731impl Default for PhysicalDeviceMaintenance5Properties {
17732 #[inline]
17733 fn default() -> Self {
17734 Self {
17735 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
17736 next: ptr::null_mut(),
17737 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
17738 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
17739 depth_stencil_swizzle_one_support: Bool32::default(),
17740 polygon_mode_point_size: Bool32::default(),
17741 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
17742 non_strict_wide_lines_use_parallelogram: Bool32::default(),
17743 }
17744 }
17745}
17746
17747unsafe impl Send for PhysicalDeviceMaintenance5Properties {}
17748unsafe impl Sync for PhysicalDeviceMaintenance5Properties {}
17749
17750#[repr(C)]
17752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17753pub struct PhysicalDeviceMaintenance6Features {
17754 pub s_type: StructureType,
17755 pub next: *mut c_void,
17756 pub maintenance6: Bool32,
17757}
17758
17759impl Default for PhysicalDeviceMaintenance6Features {
17760 #[inline]
17761 fn default() -> Self {
17762 Self {
17763 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
17764 next: ptr::null_mut(),
17765 maintenance6: Bool32::default(),
17766 }
17767 }
17768}
17769
17770unsafe impl Send for PhysicalDeviceMaintenance6Features {}
17771unsafe impl Sync for PhysicalDeviceMaintenance6Features {}
17772
17773#[repr(C)]
17775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17776pub struct PhysicalDeviceMaintenance6Properties {
17777 pub s_type: StructureType,
17778 pub next: *mut c_void,
17779 pub block_texel_view_compatible_multiple_layers: Bool32,
17780 pub max_combined_image_sampler_descriptor_count: u32,
17781 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
17782}
17783
17784impl Default for PhysicalDeviceMaintenance6Properties {
17785 #[inline]
17786 fn default() -> Self {
17787 Self {
17788 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
17789 next: ptr::null_mut(),
17790 block_texel_view_compatible_multiple_layers: Bool32::default(),
17791 max_combined_image_sampler_descriptor_count: u32::default(),
17792 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
17793 }
17794 }
17795}
17796
17797unsafe impl Send for PhysicalDeviceMaintenance6Properties {}
17798unsafe impl Sync for PhysicalDeviceMaintenance6Properties {}
17799
17800#[repr(C)]
17802#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17803pub struct PhysicalDeviceMaintenance7FeaturesKHR {
17804 pub s_type: StructureType,
17805 pub next: *mut c_void,
17806 pub maintenance7: Bool32,
17807}
17808
17809impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
17810 #[inline]
17811 fn default() -> Self {
17812 Self {
17813 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
17814 next: ptr::null_mut(),
17815 maintenance7: Bool32::default(),
17816 }
17817 }
17818}
17819
17820unsafe impl Send for PhysicalDeviceMaintenance7FeaturesKHR {}
17821unsafe impl Sync for PhysicalDeviceMaintenance7FeaturesKHR {}
17822
17823#[repr(C)]
17825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17826pub struct PhysicalDeviceMaintenance7PropertiesKHR {
17827 pub s_type: StructureType,
17828 pub next: *mut c_void,
17829 pub robust_fragment_shading_rate_attachment_access: Bool32,
17830 pub separate_depth_stencil_attachment_access: Bool32,
17831 pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
17832 pub max_descriptor_set_total_storage_buffers_dynamic: u32,
17833 pub max_descriptor_set_total_buffers_dynamic: u32,
17834 pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
17835 pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
17836 pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
17837}
17838
17839impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
17840 #[inline]
17841 fn default() -> Self {
17842 Self {
17843 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
17844 next: ptr::null_mut(),
17845 robust_fragment_shading_rate_attachment_access: Bool32::default(),
17846 separate_depth_stencil_attachment_access: Bool32::default(),
17847 max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
17848 max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
17849 max_descriptor_set_total_buffers_dynamic: u32::default(),
17850 max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
17851 max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
17852 max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
17853 }
17854 }
17855}
17856
17857unsafe impl Send for PhysicalDeviceMaintenance7PropertiesKHR {}
17858unsafe impl Sync for PhysicalDeviceMaintenance7PropertiesKHR {}
17859
17860#[repr(C)]
17862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17863pub struct PhysicalDeviceMaintenance8FeaturesKHR {
17864 pub s_type: StructureType,
17865 pub next: *mut c_void,
17866 pub maintenance8: Bool32,
17867}
17868
17869impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
17870 #[inline]
17871 fn default() -> Self {
17872 Self {
17873 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
17874 next: ptr::null_mut(),
17875 maintenance8: Bool32::default(),
17876 }
17877 }
17878}
17879
17880unsafe impl Send for PhysicalDeviceMaintenance8FeaturesKHR {}
17881unsafe impl Sync for PhysicalDeviceMaintenance8FeaturesKHR {}
17882
17883#[repr(C)]
17885#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17886pub struct PhysicalDeviceMaintenance9FeaturesKHR {
17887 pub s_type: StructureType,
17888 pub next: *mut c_void,
17889 pub maintenance9: Bool32,
17890}
17891
17892impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
17893 #[inline]
17894 fn default() -> Self {
17895 Self {
17896 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
17897 next: ptr::null_mut(),
17898 maintenance9: Bool32::default(),
17899 }
17900 }
17901}
17902
17903unsafe impl Send for PhysicalDeviceMaintenance9FeaturesKHR {}
17904unsafe impl Sync for PhysicalDeviceMaintenance9FeaturesKHR {}
17905
17906#[repr(C)]
17908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17909pub struct PhysicalDeviceMaintenance9PropertiesKHR {
17910 pub s_type: StructureType,
17911 pub next: *mut c_void,
17912 pub image_2d_view_of_3d_sparse: Bool32,
17913 pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
17914}
17915
17916impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
17917 #[inline]
17918 fn default() -> Self {
17919 Self {
17920 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
17921 next: ptr::null_mut(),
17922 image_2d_view_of_3d_sparse: Bool32::default(),
17923 default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
17924 }
17925 }
17926}
17927
17928unsafe impl Send for PhysicalDeviceMaintenance9PropertiesKHR {}
17929unsafe impl Sync for PhysicalDeviceMaintenance9PropertiesKHR {}
17930
17931#[repr(C)]
17933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17934pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
17935 pub s_type: StructureType,
17936 pub next: *mut c_void,
17937 pub memory_map_placed: Bool32,
17938 pub memory_map_range_placed: Bool32,
17939 pub memory_unmap_reserve: Bool32,
17940}
17941
17942impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
17943 #[inline]
17944 fn default() -> Self {
17945 Self {
17946 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
17947 next: ptr::null_mut(),
17948 memory_map_placed: Bool32::default(),
17949 memory_map_range_placed: Bool32::default(),
17950 memory_unmap_reserve: Bool32::default(),
17951 }
17952 }
17953}
17954
17955unsafe impl Send for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
17956unsafe impl Sync for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
17957
17958#[repr(C)]
17960#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17961pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
17962 pub s_type: StructureType,
17963 pub next: *mut c_void,
17964 pub min_placed_memory_map_alignment: DeviceSize,
17965}
17966
17967impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
17968 #[inline]
17969 fn default() -> Self {
17970 Self {
17971 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
17972 next: ptr::null_mut(),
17973 min_placed_memory_map_alignment: DeviceSize::default(),
17974 }
17975 }
17976}
17977
17978unsafe impl Send for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
17979unsafe impl Sync for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
17980
17981#[repr(C)]
17983#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17984pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
17985 pub s_type: StructureType,
17986 pub next: *mut c_void,
17987 pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS],
17988 pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS],
17989}
17990
17991impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
17992 #[inline]
17993 fn default() -> Self {
17994 Self {
17995 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
17996 next: ptr::null_mut(),
17997 heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
17998 heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
17999 }
18000 }
18001}
18002
18003unsafe impl Send for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18004unsafe impl Sync for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18005
18006#[repr(C)]
18008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18009pub struct PhysicalDeviceMemoryDecompressionFeaturesEXT {
18010 pub s_type: StructureType,
18011 pub next: *mut c_void,
18012 pub memory_decompression: Bool32,
18013}
18014
18015impl Default for PhysicalDeviceMemoryDecompressionFeaturesEXT {
18016 #[inline]
18017 fn default() -> Self {
18018 Self {
18019 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
18020 next: ptr::null_mut(),
18021 memory_decompression: Bool32::default(),
18022 }
18023 }
18024}
18025
18026unsafe impl Send for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18027unsafe impl Sync for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18028
18029#[repr(C)]
18031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18032pub struct PhysicalDeviceMemoryDecompressionPropertiesEXT {
18033 pub s_type: StructureType,
18034 pub next: *mut c_void,
18035 pub decompression_methods: MemoryDecompressionMethodFlagsEXT,
18036 pub max_decompression_indirect_count: u64,
18037}
18038
18039impl Default for PhysicalDeviceMemoryDecompressionPropertiesEXT {
18040 #[inline]
18041 fn default() -> Self {
18042 Self {
18043 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
18044 next: ptr::null_mut(),
18045 decompression_methods: MemoryDecompressionMethodFlagsEXT::default(),
18046 max_decompression_indirect_count: u64::default(),
18047 }
18048 }
18049}
18050
18051unsafe impl Send for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18052unsafe impl Sync for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18053
18054#[repr(C)]
18056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18057pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
18058 pub s_type: StructureType,
18059 pub next: *mut c_void,
18060 pub memory_priority: Bool32,
18061}
18062
18063impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
18064 #[inline]
18065 fn default() -> Self {
18066 Self {
18067 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
18068 next: ptr::null_mut(),
18069 memory_priority: Bool32::default(),
18070 }
18071 }
18072}
18073
18074unsafe impl Send for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18075unsafe impl Sync for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18076
18077#[repr(C)]
18079#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
18080pub struct PhysicalDeviceMemoryProperties {
18081 pub memory_type_count: u32,
18082 pub memory_types: [MemoryType; MAX_MEMORY_TYPES],
18083 pub memory_heap_count: u32,
18084 pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS],
18085}
18086
18087#[repr(C)]
18089#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18090pub struct PhysicalDeviceMemoryProperties2 {
18091 pub s_type: StructureType,
18092 pub next: *mut c_void,
18093 pub memory_properties: PhysicalDeviceMemoryProperties,
18094}
18095
18096impl Default for PhysicalDeviceMemoryProperties2 {
18097 #[inline]
18098 fn default() -> Self {
18099 Self {
18100 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
18101 next: ptr::null_mut(),
18102 memory_properties: PhysicalDeviceMemoryProperties::default(),
18103 }
18104 }
18105}
18106
18107unsafe impl Send for PhysicalDeviceMemoryProperties2 {}
18108unsafe impl Sync for PhysicalDeviceMemoryProperties2 {}
18109
18110#[repr(C)]
18112#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18113pub struct PhysicalDeviceMeshShaderFeaturesEXT {
18114 pub s_type: StructureType,
18115 pub next: *mut c_void,
18116 pub task_shader: Bool32,
18117 pub mesh_shader: Bool32,
18118 pub multiview_mesh_shader: Bool32,
18119 pub primitive_fragment_shading_rate_mesh_shader: Bool32,
18120 pub mesh_shader_queries: Bool32,
18121}
18122
18123impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
18124 #[inline]
18125 fn default() -> Self {
18126 Self {
18127 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
18128 next: ptr::null_mut(),
18129 task_shader: Bool32::default(),
18130 mesh_shader: Bool32::default(),
18131 multiview_mesh_shader: Bool32::default(),
18132 primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
18133 mesh_shader_queries: Bool32::default(),
18134 }
18135 }
18136}
18137
18138unsafe impl Send for PhysicalDeviceMeshShaderFeaturesEXT {}
18139unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesEXT {}
18140
18141#[repr(C)]
18143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18144pub struct PhysicalDeviceMeshShaderFeaturesNV {
18145 pub s_type: StructureType,
18146 pub next: *mut c_void,
18147 pub task_shader: Bool32,
18148 pub mesh_shader: Bool32,
18149}
18150
18151impl Default for PhysicalDeviceMeshShaderFeaturesNV {
18152 #[inline]
18153 fn default() -> Self {
18154 Self {
18155 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
18156 next: ptr::null_mut(),
18157 task_shader: Bool32::default(),
18158 mesh_shader: Bool32::default(),
18159 }
18160 }
18161}
18162
18163unsafe impl Send for PhysicalDeviceMeshShaderFeaturesNV {}
18164unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesNV {}
18165
18166#[repr(C)]
18168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18169pub struct PhysicalDeviceMeshShaderPropertiesEXT {
18170 pub s_type: StructureType,
18171 pub next: *mut c_void,
18172 pub max_task_work_group_total_count: u32,
18173 pub max_task_work_group_count: [u32; 3],
18174 pub max_task_work_group_invocations: u32,
18175 pub max_task_work_group_size: [u32; 3],
18176 pub max_task_payload_size: u32,
18177 pub max_task_shared_memory_size: u32,
18178 pub max_task_payload_and_shared_memory_size: u32,
18179 pub max_mesh_work_group_total_count: u32,
18180 pub max_mesh_work_group_count: [u32; 3],
18181 pub max_mesh_work_group_invocations: u32,
18182 pub max_mesh_work_group_size: [u32; 3],
18183 pub max_mesh_shared_memory_size: u32,
18184 pub max_mesh_payload_and_shared_memory_size: u32,
18185 pub max_mesh_output_memory_size: u32,
18186 pub max_mesh_payload_and_output_memory_size: u32,
18187 pub max_mesh_output_components: u32,
18188 pub max_mesh_output_vertices: u32,
18189 pub max_mesh_output_primitives: u32,
18190 pub max_mesh_output_layers: u32,
18191 pub max_mesh_multiview_view_count: u32,
18192 pub mesh_output_per_vertex_granularity: u32,
18193 pub mesh_output_per_primitive_granularity: u32,
18194 pub max_preferred_task_work_group_invocations: u32,
18195 pub max_preferred_mesh_work_group_invocations: u32,
18196 pub prefers_local_invocation_vertex_output: Bool32,
18197 pub prefers_local_invocation_primitive_output: Bool32,
18198 pub prefers_compact_vertex_output: Bool32,
18199 pub prefers_compact_primitive_output: Bool32,
18200}
18201
18202impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
18203 #[inline]
18204 fn default() -> Self {
18205 Self {
18206 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
18207 next: ptr::null_mut(),
18208 max_task_work_group_total_count: u32::default(),
18209 max_task_work_group_count: [u32::default(); 3],
18210 max_task_work_group_invocations: u32::default(),
18211 max_task_work_group_size: [u32::default(); 3],
18212 max_task_payload_size: u32::default(),
18213 max_task_shared_memory_size: u32::default(),
18214 max_task_payload_and_shared_memory_size: u32::default(),
18215 max_mesh_work_group_total_count: u32::default(),
18216 max_mesh_work_group_count: [u32::default(); 3],
18217 max_mesh_work_group_invocations: u32::default(),
18218 max_mesh_work_group_size: [u32::default(); 3],
18219 max_mesh_shared_memory_size: u32::default(),
18220 max_mesh_payload_and_shared_memory_size: u32::default(),
18221 max_mesh_output_memory_size: u32::default(),
18222 max_mesh_payload_and_output_memory_size: u32::default(),
18223 max_mesh_output_components: u32::default(),
18224 max_mesh_output_vertices: u32::default(),
18225 max_mesh_output_primitives: u32::default(),
18226 max_mesh_output_layers: u32::default(),
18227 max_mesh_multiview_view_count: u32::default(),
18228 mesh_output_per_vertex_granularity: u32::default(),
18229 mesh_output_per_primitive_granularity: u32::default(),
18230 max_preferred_task_work_group_invocations: u32::default(),
18231 max_preferred_mesh_work_group_invocations: u32::default(),
18232 prefers_local_invocation_vertex_output: Bool32::default(),
18233 prefers_local_invocation_primitive_output: Bool32::default(),
18234 prefers_compact_vertex_output: Bool32::default(),
18235 prefers_compact_primitive_output: Bool32::default(),
18236 }
18237 }
18238}
18239
18240unsafe impl Send for PhysicalDeviceMeshShaderPropertiesEXT {}
18241unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesEXT {}
18242
18243#[repr(C)]
18245#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18246pub struct PhysicalDeviceMeshShaderPropertiesNV {
18247 pub s_type: StructureType,
18248 pub next: *mut c_void,
18249 pub max_draw_mesh_tasks_count: u32,
18250 pub max_task_work_group_invocations: u32,
18251 pub max_task_work_group_size: [u32; 3],
18252 pub max_task_total_memory_size: u32,
18253 pub max_task_output_count: u32,
18254 pub max_mesh_work_group_invocations: u32,
18255 pub max_mesh_work_group_size: [u32; 3],
18256 pub max_mesh_total_memory_size: u32,
18257 pub max_mesh_output_vertices: u32,
18258 pub max_mesh_output_primitives: u32,
18259 pub max_mesh_multiview_view_count: u32,
18260 pub mesh_output_per_vertex_granularity: u32,
18261 pub mesh_output_per_primitive_granularity: u32,
18262}
18263
18264impl Default for PhysicalDeviceMeshShaderPropertiesNV {
18265 #[inline]
18266 fn default() -> Self {
18267 Self {
18268 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
18269 next: ptr::null_mut(),
18270 max_draw_mesh_tasks_count: u32::default(),
18271 max_task_work_group_invocations: u32::default(),
18272 max_task_work_group_size: [u32::default(); 3],
18273 max_task_total_memory_size: u32::default(),
18274 max_task_output_count: u32::default(),
18275 max_mesh_work_group_invocations: u32::default(),
18276 max_mesh_work_group_size: [u32::default(); 3],
18277 max_mesh_total_memory_size: u32::default(),
18278 max_mesh_output_vertices: u32::default(),
18279 max_mesh_output_primitives: u32::default(),
18280 max_mesh_multiview_view_count: u32::default(),
18281 mesh_output_per_vertex_granularity: u32::default(),
18282 mesh_output_per_primitive_granularity: u32::default(),
18283 }
18284 }
18285}
18286
18287unsafe impl Send for PhysicalDeviceMeshShaderPropertiesNV {}
18288unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesNV {}
18289
18290#[repr(C)]
18292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18293pub struct PhysicalDeviceMultiDrawFeaturesEXT {
18294 pub s_type: StructureType,
18295 pub next: *mut c_void,
18296 pub multi_draw: Bool32,
18297}
18298
18299impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
18300 #[inline]
18301 fn default() -> Self {
18302 Self {
18303 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
18304 next: ptr::null_mut(),
18305 multi_draw: Bool32::default(),
18306 }
18307 }
18308}
18309
18310unsafe impl Send for PhysicalDeviceMultiDrawFeaturesEXT {}
18311unsafe impl Sync for PhysicalDeviceMultiDrawFeaturesEXT {}
18312
18313#[repr(C)]
18315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18316pub struct PhysicalDeviceMultiDrawPropertiesEXT {
18317 pub s_type: StructureType,
18318 pub next: *mut c_void,
18319 pub max_multi_draw_count: u32,
18320}
18321
18322impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
18323 #[inline]
18324 fn default() -> Self {
18325 Self {
18326 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
18327 next: ptr::null_mut(),
18328 max_multi_draw_count: u32::default(),
18329 }
18330 }
18331}
18332
18333unsafe impl Send for PhysicalDeviceMultiDrawPropertiesEXT {}
18334unsafe impl Sync for PhysicalDeviceMultiDrawPropertiesEXT {}
18335
18336#[repr(C)]
18338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18339pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18340 pub s_type: StructureType,
18341 pub next: *mut c_void,
18342 pub multisampled_render_to_single_sampled: Bool32,
18343}
18344
18345impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18346 #[inline]
18347 fn default() -> Self {
18348 Self {
18349 s_type:
18350 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
18351 next: ptr::null_mut(),
18352 multisampled_render_to_single_sampled: Bool32::default(),
18353 }
18354 }
18355}
18356
18357unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18358unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18359
18360#[repr(C)]
18362#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18363pub struct PhysicalDeviceMultiviewFeatures {
18364 pub s_type: StructureType,
18365 pub next: *mut c_void,
18366 pub multiview: Bool32,
18367 pub multiview_geometry_shader: Bool32,
18368 pub multiview_tessellation_shader: Bool32,
18369}
18370
18371impl Default for PhysicalDeviceMultiviewFeatures {
18372 #[inline]
18373 fn default() -> Self {
18374 Self {
18375 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
18376 next: ptr::null_mut(),
18377 multiview: Bool32::default(),
18378 multiview_geometry_shader: Bool32::default(),
18379 multiview_tessellation_shader: Bool32::default(),
18380 }
18381 }
18382}
18383
18384unsafe impl Send for PhysicalDeviceMultiviewFeatures {}
18385unsafe impl Sync for PhysicalDeviceMultiviewFeatures {}
18386
18387#[repr(C)]
18389#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18390pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18391 pub s_type: StructureType,
18392 pub next: *mut c_void,
18393 pub per_view_position_all_components: Bool32,
18394}
18395
18396impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18397 #[inline]
18398 fn default() -> Self {
18399 Self {
18400 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
18401 next: ptr::null_mut(),
18402 per_view_position_all_components: Bool32::default(),
18403 }
18404 }
18405}
18406
18407unsafe impl Send for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18408unsafe impl Sync for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18409
18410#[repr(C)]
18412#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18413pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18414 pub s_type: StructureType,
18415 pub next: *mut c_void,
18416 pub multiview_per_view_render_areas: Bool32,
18417}
18418
18419impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18420 #[inline]
18421 fn default() -> Self {
18422 Self {
18423 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
18424 next: ptr::null_mut(),
18425 multiview_per_view_render_areas: Bool32::default(),
18426 }
18427 }
18428}
18429
18430unsafe impl Send for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18431unsafe impl Sync for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18432
18433#[repr(C)]
18435#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18436pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18437 pub s_type: StructureType,
18438 pub next: *mut c_void,
18439 pub multiview_per_view_viewports: Bool32,
18440}
18441
18442impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18443 #[inline]
18444 fn default() -> Self {
18445 Self {
18446 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
18447 next: ptr::null_mut(),
18448 multiview_per_view_viewports: Bool32::default(),
18449 }
18450 }
18451}
18452
18453unsafe impl Send for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18454unsafe impl Sync for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18455
18456#[repr(C)]
18458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18459pub struct PhysicalDeviceMultiviewProperties {
18460 pub s_type: StructureType,
18461 pub next: *mut c_void,
18462 pub max_multiview_view_count: u32,
18463 pub max_multiview_instance_index: u32,
18464}
18465
18466impl Default for PhysicalDeviceMultiviewProperties {
18467 #[inline]
18468 fn default() -> Self {
18469 Self {
18470 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
18471 next: ptr::null_mut(),
18472 max_multiview_view_count: u32::default(),
18473 max_multiview_instance_index: u32::default(),
18474 }
18475 }
18476}
18477
18478unsafe impl Send for PhysicalDeviceMultiviewProperties {}
18479unsafe impl Sync for PhysicalDeviceMultiviewProperties {}
18480
18481#[repr(C)]
18483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18484pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18485 pub s_type: StructureType,
18486 pub next: *mut c_void,
18487 pub mutable_descriptor_type: Bool32,
18488}
18489
18490impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18491 #[inline]
18492 fn default() -> Self {
18493 Self {
18494 s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
18495 next: ptr::null_mut(),
18496 mutable_descriptor_type: Bool32::default(),
18497 }
18498 }
18499}
18500
18501unsafe impl Send for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18502unsafe impl Sync for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18503
18504#[repr(C)]
18506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18507pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
18508 pub s_type: StructureType,
18509 pub next: *mut c_void,
18510 pub nested_command_buffer: Bool32,
18511 pub nested_command_buffer_rendering: Bool32,
18512 pub nested_command_buffer_simultaneous_use: Bool32,
18513}
18514
18515impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
18516 #[inline]
18517 fn default() -> Self {
18518 Self {
18519 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
18520 next: ptr::null_mut(),
18521 nested_command_buffer: Bool32::default(),
18522 nested_command_buffer_rendering: Bool32::default(),
18523 nested_command_buffer_simultaneous_use: Bool32::default(),
18524 }
18525 }
18526}
18527
18528unsafe impl Send for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18529unsafe impl Sync for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18530
18531#[repr(C)]
18533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18534pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
18535 pub s_type: StructureType,
18536 pub next: *mut c_void,
18537 pub max_command_buffer_nesting_level: u32,
18538}
18539
18540impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
18541 #[inline]
18542 fn default() -> Self {
18543 Self {
18544 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
18545 next: ptr::null_mut(),
18546 max_command_buffer_nesting_level: u32::default(),
18547 }
18548 }
18549}
18550
18551unsafe impl Send for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18552unsafe impl Sync for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18553
18554#[repr(C)]
18556#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18557pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18558 pub s_type: StructureType,
18559 pub next: *mut c_void,
18560 pub non_seamless_cube_map: Bool32,
18561}
18562
18563impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18564 #[inline]
18565 fn default() -> Self {
18566 Self {
18567 s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
18568 next: ptr::null_mut(),
18569 non_seamless_cube_map: Bool32::default(),
18570 }
18571 }
18572}
18573
18574unsafe impl Send for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18575unsafe impl Sync for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18576
18577#[repr(C)]
18579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18580pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
18581 pub s_type: StructureType,
18582 pub next: *mut c_void,
18583 pub micromap: Bool32,
18584 pub micromap_capture_replay: Bool32,
18585 pub micromap_host_commands: Bool32,
18586}
18587
18588impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
18589 #[inline]
18590 fn default() -> Self {
18591 Self {
18592 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
18593 next: ptr::null_mut(),
18594 micromap: Bool32::default(),
18595 micromap_capture_replay: Bool32::default(),
18596 micromap_host_commands: Bool32::default(),
18597 }
18598 }
18599}
18600
18601unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18602unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18603
18604#[repr(C)]
18606#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18607pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
18608 pub s_type: StructureType,
18609 pub next: *mut c_void,
18610 pub max_opacity2_state_subdivision_level: u32,
18611 pub max_opacity4_state_subdivision_level: u32,
18612}
18613
18614impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
18615 #[inline]
18616 fn default() -> Self {
18617 Self {
18618 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
18619 next: ptr::null_mut(),
18620 max_opacity2_state_subdivision_level: u32::default(),
18621 max_opacity4_state_subdivision_level: u32::default(),
18622 }
18623 }
18624}
18625
18626unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18627unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18628
18629#[repr(C)]
18631#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18632pub struct PhysicalDeviceOpticalFlowFeaturesNV {
18633 pub s_type: StructureType,
18634 pub next: *mut c_void,
18635 pub optical_flow: Bool32,
18636}
18637
18638impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
18639 #[inline]
18640 fn default() -> Self {
18641 Self {
18642 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
18643 next: ptr::null_mut(),
18644 optical_flow: Bool32::default(),
18645 }
18646 }
18647}
18648
18649unsafe impl Send for PhysicalDeviceOpticalFlowFeaturesNV {}
18650unsafe impl Sync for PhysicalDeviceOpticalFlowFeaturesNV {}
18651
18652#[repr(C)]
18654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18655pub struct PhysicalDeviceOpticalFlowPropertiesNV {
18656 pub s_type: StructureType,
18657 pub next: *mut c_void,
18658 pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
18659 pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
18660 pub hint_supported: Bool32,
18661 pub cost_supported: Bool32,
18662 pub bidirectional_flow_supported: Bool32,
18663 pub global_flow_supported: Bool32,
18664 pub min_width: u32,
18665 pub min_height: u32,
18666 pub max_width: u32,
18667 pub max_height: u32,
18668 pub max_num_regions_of_interest: u32,
18669}
18670
18671impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
18672 #[inline]
18673 fn default() -> Self {
18674 Self {
18675 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
18676 next: ptr::null_mut(),
18677 supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18678 supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18679 hint_supported: Bool32::default(),
18680 cost_supported: Bool32::default(),
18681 bidirectional_flow_supported: Bool32::default(),
18682 global_flow_supported: Bool32::default(),
18683 min_width: u32::default(),
18684 min_height: u32::default(),
18685 max_width: u32::default(),
18686 max_height: u32::default(),
18687 max_num_regions_of_interest: u32::default(),
18688 }
18689 }
18690}
18691
18692unsafe impl Send for PhysicalDeviceOpticalFlowPropertiesNV {}
18693unsafe impl Sync for PhysicalDeviceOpticalFlowPropertiesNV {}
18694
18695#[repr(C)]
18697#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18698pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
18699 pub s_type: StructureType,
18700 pub next: *mut c_void,
18701 pub pci_domain: u32,
18702 pub pci_bus: u32,
18703 pub pci_device: u32,
18704 pub pci_function: u32,
18705}
18706
18707impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
18708 #[inline]
18709 fn default() -> Self {
18710 Self {
18711 s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
18712 next: ptr::null_mut(),
18713 pci_domain: u32::default(),
18714 pci_bus: u32::default(),
18715 pci_device: u32::default(),
18716 pci_function: u32::default(),
18717 }
18718 }
18719}
18720
18721unsafe impl Send for PhysicalDevicePCIBusInfoPropertiesEXT {}
18722unsafe impl Sync for PhysicalDevicePCIBusInfoPropertiesEXT {}
18723
18724#[repr(C)]
18726#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18727pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18728 pub s_type: StructureType,
18729 pub next: *mut c_void,
18730 pub pageable_device_local_memory: Bool32,
18731}
18732
18733impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18734 #[inline]
18735 fn default() -> Self {
18736 Self {
18737 s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
18738 next: ptr::null_mut(),
18739 pageable_device_local_memory: Bool32::default(),
18740 }
18741 }
18742}
18743
18744unsafe impl Send for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18745unsafe impl Sync for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18746
18747#[repr(C)]
18749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18750pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18751 pub s_type: StructureType,
18752 pub next: *mut c_void,
18753 pub partitioned_acceleration_structure: Bool32,
18754}
18755
18756impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18757 #[inline]
18758 fn default() -> Self {
18759 Self {
18760 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
18761 next: ptr::null_mut(),
18762 partitioned_acceleration_structure: Bool32::default(),
18763 }
18764 }
18765}
18766
18767unsafe impl Send for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
18768unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
18769
18770#[repr(C)]
18772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18773pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
18774 pub s_type: StructureType,
18775 pub next: *mut c_void,
18776 pub max_partition_count: u32,
18777}
18778
18779impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
18780 #[inline]
18781 fn default() -> Self {
18782 Self {
18783 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
18784 next: ptr::null_mut(),
18785 max_partition_count: u32::default(),
18786 }
18787 }
18788}
18789
18790unsafe impl Send for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
18791unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
18792
18793#[repr(C)]
18795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18796pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
18797 pub s_type: StructureType,
18798 pub next: *mut c_void,
18799 pub per_stage_descriptor_set: Bool32,
18800 pub dynamic_pipeline_layout: Bool32,
18801}
18802
18803impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
18804 #[inline]
18805 fn default() -> Self {
18806 Self {
18807 s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
18808 next: ptr::null_mut(),
18809 per_stage_descriptor_set: Bool32::default(),
18810 dynamic_pipeline_layout: Bool32::default(),
18811 }
18812 }
18813}
18814
18815unsafe impl Send for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
18816unsafe impl Sync for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
18817
18818#[repr(C)]
18820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18821pub struct PhysicalDevicePerformanceCountersByRegionFeaturesARM {
18822 pub s_type: StructureType,
18823 pub next: *mut c_void,
18824 pub performance_counters_by_region: Bool32,
18825}
18826
18827impl Default for PhysicalDevicePerformanceCountersByRegionFeaturesARM {
18828 #[inline]
18829 fn default() -> Self {
18830 Self {
18831 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM,
18832 next: ptr::null_mut(),
18833 performance_counters_by_region: Bool32::default(),
18834 }
18835 }
18836}
18837
18838unsafe impl Send for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
18839unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
18840
18841#[repr(C)]
18843#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18844pub struct PhysicalDevicePerformanceCountersByRegionPropertiesARM {
18845 pub s_type: StructureType,
18846 pub next: *mut c_void,
18847 pub max_per_region_performance_counters: u32,
18848 pub performance_counter_region_size: Extent2D,
18849 pub row_stride_alignment: u32,
18850 pub region_alignment: u32,
18851 pub identity_transform_order: Bool32,
18852}
18853
18854impl Default for PhysicalDevicePerformanceCountersByRegionPropertiesARM {
18855 #[inline]
18856 fn default() -> Self {
18857 Self {
18858 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM,
18859 next: ptr::null_mut(),
18860 max_per_region_performance_counters: u32::default(),
18861 performance_counter_region_size: Extent2D::default(),
18862 row_stride_alignment: u32::default(),
18863 region_alignment: u32::default(),
18864 identity_transform_order: Bool32::default(),
18865 }
18866 }
18867}
18868
18869unsafe impl Send for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
18870unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
18871
18872#[repr(C)]
18874#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18875pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
18876 pub s_type: StructureType,
18877 pub next: *mut c_void,
18878 pub performance_counter_query_pools: Bool32,
18879 pub performance_counter_multiple_query_pools: Bool32,
18880}
18881
18882impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
18883 #[inline]
18884 fn default() -> Self {
18885 Self {
18886 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
18887 next: ptr::null_mut(),
18888 performance_counter_query_pools: Bool32::default(),
18889 performance_counter_multiple_query_pools: Bool32::default(),
18890 }
18891 }
18892}
18893
18894unsafe impl Send for PhysicalDevicePerformanceQueryFeaturesKHR {}
18895unsafe impl Sync for PhysicalDevicePerformanceQueryFeaturesKHR {}
18896
18897#[repr(C)]
18899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18900pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
18901 pub s_type: StructureType,
18902 pub next: *mut c_void,
18903 pub allow_command_buffer_query_copies: Bool32,
18904}
18905
18906impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
18907 #[inline]
18908 fn default() -> Self {
18909 Self {
18910 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
18911 next: ptr::null_mut(),
18912 allow_command_buffer_query_copies: Bool32::default(),
18913 }
18914 }
18915}
18916
18917unsafe impl Send for PhysicalDevicePerformanceQueryPropertiesKHR {}
18918unsafe impl Sync for PhysicalDevicePerformanceQueryPropertiesKHR {}
18919
18920#[repr(C)]
18922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18923pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
18924 pub s_type: StructureType,
18925 pub next: *mut c_void,
18926 pub pipeline_binaries: Bool32,
18927}
18928
18929impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
18930 #[inline]
18931 fn default() -> Self {
18932 Self {
18933 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
18934 next: ptr::null_mut(),
18935 pipeline_binaries: Bool32::default(),
18936 }
18937 }
18938}
18939
18940unsafe impl Send for PhysicalDevicePipelineBinaryFeaturesKHR {}
18941unsafe impl Sync for PhysicalDevicePipelineBinaryFeaturesKHR {}
18942
18943#[repr(C)]
18945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18946pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
18947 pub s_type: StructureType,
18948 pub next: *mut c_void,
18949 pub pipeline_binary_internal_cache: Bool32,
18950 pub pipeline_binary_internal_cache_control: Bool32,
18951 pub pipeline_binary_prefers_internal_cache: Bool32,
18952 pub pipeline_binary_precompiled_internal_cache: Bool32,
18953 pub pipeline_binary_compressed_data: Bool32,
18954}
18955
18956impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
18957 #[inline]
18958 fn default() -> Self {
18959 Self {
18960 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
18961 next: ptr::null_mut(),
18962 pipeline_binary_internal_cache: Bool32::default(),
18963 pipeline_binary_internal_cache_control: Bool32::default(),
18964 pipeline_binary_prefers_internal_cache: Bool32::default(),
18965 pipeline_binary_precompiled_internal_cache: Bool32::default(),
18966 pipeline_binary_compressed_data: Bool32::default(),
18967 }
18968 }
18969}
18970
18971unsafe impl Send for PhysicalDevicePipelineBinaryPropertiesKHR {}
18972unsafe impl Sync for PhysicalDevicePipelineBinaryPropertiesKHR {}
18973
18974#[repr(C)]
18976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18977pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
18978 pub s_type: StructureType,
18979 pub next: *mut c_void,
18980 pub pipeline_cache_incremental_mode: Bool32,
18981}
18982
18983impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
18984 #[inline]
18985 fn default() -> Self {
18986 Self {
18987 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
18988 next: ptr::null_mut(),
18989 pipeline_cache_incremental_mode: Bool32::default(),
18990 }
18991 }
18992}
18993
18994unsafe impl Send for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
18995unsafe impl Sync for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
18996
18997#[repr(C)]
18999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19000pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
19001 pub s_type: StructureType,
19002 pub next: *mut c_void,
19003 pub pipeline_creation_cache_control: Bool32,
19004}
19005
19006impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
19007 #[inline]
19008 fn default() -> Self {
19009 Self {
19010 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
19011 next: ptr::null_mut(),
19012 pipeline_creation_cache_control: Bool32::default(),
19013 }
19014 }
19015}
19016
19017unsafe impl Send for PhysicalDevicePipelineCreationCacheControlFeatures {}
19018unsafe impl Sync for PhysicalDevicePipelineCreationCacheControlFeatures {}
19019
19020#[repr(C)]
19022#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19023pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19024 pub s_type: StructureType,
19025 pub next: *mut c_void,
19026 pub pipeline_executable_info: Bool32,
19027}
19028
19029impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19030 #[inline]
19031 fn default() -> Self {
19032 Self {
19033 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
19034 next: ptr::null_mut(),
19035 pipeline_executable_info: Bool32::default(),
19036 }
19037 }
19038}
19039
19040unsafe impl Send for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19041unsafe impl Sync for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19042
19043#[repr(C)]
19045#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19046pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19047 pub s_type: StructureType,
19048 pub next: *mut c_void,
19049 pub pipeline_library_group_handles: Bool32,
19050}
19051
19052impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19053 #[inline]
19054 fn default() -> Self {
19055 Self {
19056 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
19057 next: ptr::null_mut(),
19058 pipeline_library_group_handles: Bool32::default(),
19059 }
19060 }
19061}
19062
19063unsafe impl Send for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19064unsafe impl Sync for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19065
19066#[repr(C)]
19068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19069pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19070 pub s_type: StructureType,
19071 pub next: *mut c_void,
19072 pub pipeline_opacity_micromap: Bool32,
19073}
19074
19075impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19076 #[inline]
19077 fn default() -> Self {
19078 Self {
19079 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
19080 next: ptr::null_mut(),
19081 pipeline_opacity_micromap: Bool32::default(),
19082 }
19083 }
19084}
19085
19086unsafe impl Send for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19087unsafe impl Sync for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19088
19089#[repr(C)]
19091#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19092pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
19093 pub s_type: StructureType,
19094 pub next: *mut c_void,
19095 pub pipeline_properties_identifier: Bool32,
19096}
19097
19098impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
19099 #[inline]
19100 fn default() -> Self {
19101 Self {
19102 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
19103 next: ptr::null_mut(),
19104 pipeline_properties_identifier: Bool32::default(),
19105 }
19106 }
19107}
19108
19109unsafe impl Send for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19110unsafe impl Sync for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19111
19112#[repr(C)]
19114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19115pub struct PhysicalDevicePipelineProtectedAccessFeatures {
19116 pub s_type: StructureType,
19117 pub next: *mut c_void,
19118 pub pipeline_protected_access: Bool32,
19119}
19120
19121impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
19122 #[inline]
19123 fn default() -> Self {
19124 Self {
19125 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
19126 next: ptr::null_mut(),
19127 pipeline_protected_access: Bool32::default(),
19128 }
19129 }
19130}
19131
19132unsafe impl Send for PhysicalDevicePipelineProtectedAccessFeatures {}
19133unsafe impl Sync for PhysicalDevicePipelineProtectedAccessFeatures {}
19134
19135#[repr(C)]
19137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19138pub struct PhysicalDevicePipelineRobustnessFeatures {
19139 pub s_type: StructureType,
19140 pub next: *mut c_void,
19141 pub pipeline_robustness: Bool32,
19142}
19143
19144impl Default for PhysicalDevicePipelineRobustnessFeatures {
19145 #[inline]
19146 fn default() -> Self {
19147 Self {
19148 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
19149 next: ptr::null_mut(),
19150 pipeline_robustness: Bool32::default(),
19151 }
19152 }
19153}
19154
19155unsafe impl Send for PhysicalDevicePipelineRobustnessFeatures {}
19156unsafe impl Sync for PhysicalDevicePipelineRobustnessFeatures {}
19157
19158#[repr(C)]
19160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19161pub struct PhysicalDevicePipelineRobustnessProperties {
19162 pub s_type: StructureType,
19163 pub next: *mut c_void,
19164 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
19165 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
19166 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
19167 pub default_robustness_images: PipelineRobustnessImageBehavior,
19168}
19169
19170impl Default for PhysicalDevicePipelineRobustnessProperties {
19171 #[inline]
19172 fn default() -> Self {
19173 Self {
19174 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
19175 next: ptr::null_mut(),
19176 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
19177 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
19178 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
19179 default_robustness_images: PipelineRobustnessImageBehavior::default(),
19180 }
19181 }
19182}
19183
19184unsafe impl Send for PhysicalDevicePipelineRobustnessProperties {}
19185unsafe impl Sync for PhysicalDevicePipelineRobustnessProperties {}
19186
19187#[repr(C)]
19189#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19190pub struct PhysicalDevicePointClippingProperties {
19191 pub s_type: StructureType,
19192 pub next: *mut c_void,
19193 pub point_clipping_behavior: PointClippingBehavior,
19194}
19195
19196impl Default for PhysicalDevicePointClippingProperties {
19197 #[inline]
19198 fn default() -> Self {
19199 Self {
19200 s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
19201 next: ptr::null_mut(),
19202 point_clipping_behavior: PointClippingBehavior::default(),
19203 }
19204 }
19205}
19206
19207unsafe impl Send for PhysicalDevicePointClippingProperties {}
19208unsafe impl Sync for PhysicalDevicePointClippingProperties {}
19209
19210#[repr(C)]
19212#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19213pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
19214 pub s_type: StructureType,
19215 pub next: *mut c_void,
19216 pub constant_alpha_color_blend_factors: Bool32,
19217 pub events: Bool32,
19218 pub image_view_format_reinterpretation: Bool32,
19219 pub image_view_format_swizzle: Bool32,
19220 pub image_view_2d_on_3d_image: Bool32,
19221 pub multisample_array_image: Bool32,
19222 pub mutable_comparison_samplers: Bool32,
19223 pub point_polygons: Bool32,
19224 pub sampler_mip_lod_bias: Bool32,
19225 pub separate_stencil_mask_ref: Bool32,
19226 pub shader_sample_rate_interpolation_functions: Bool32,
19227 pub tessellation_isolines: Bool32,
19228 pub tessellation_point_mode: Bool32,
19229 pub triangle_fans: Bool32,
19230 pub vertex_attribute_access_beyond_stride: Bool32,
19231}
19232
19233impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
19234 #[inline]
19235 fn default() -> Self {
19236 Self {
19237 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
19238 next: ptr::null_mut(),
19239 constant_alpha_color_blend_factors: Bool32::default(),
19240 events: Bool32::default(),
19241 image_view_format_reinterpretation: Bool32::default(),
19242 image_view_format_swizzle: Bool32::default(),
19243 image_view_2d_on_3d_image: Bool32::default(),
19244 multisample_array_image: Bool32::default(),
19245 mutable_comparison_samplers: Bool32::default(),
19246 point_polygons: Bool32::default(),
19247 sampler_mip_lod_bias: Bool32::default(),
19248 separate_stencil_mask_ref: Bool32::default(),
19249 shader_sample_rate_interpolation_functions: Bool32::default(),
19250 tessellation_isolines: Bool32::default(),
19251 tessellation_point_mode: Bool32::default(),
19252 triangle_fans: Bool32::default(),
19253 vertex_attribute_access_beyond_stride: Bool32::default(),
19254 }
19255 }
19256}
19257
19258unsafe impl Send for PhysicalDevicePortabilitySubsetFeaturesKHR {}
19259unsafe impl Sync for PhysicalDevicePortabilitySubsetFeaturesKHR {}
19260
19261#[repr(C)]
19263#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19264pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
19265 pub s_type: StructureType,
19266 pub next: *mut c_void,
19267 pub min_vertex_input_binding_stride_alignment: u32,
19268}
19269
19270impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
19271 #[inline]
19272 fn default() -> Self {
19273 Self {
19274 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
19275 next: ptr::null_mut(),
19276 min_vertex_input_binding_stride_alignment: u32::default(),
19277 }
19278 }
19279}
19280
19281unsafe impl Send for PhysicalDevicePortabilitySubsetPropertiesKHR {}
19282unsafe impl Sync for PhysicalDevicePortabilitySubsetPropertiesKHR {}
19283
19284#[repr(C)]
19286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19287pub struct PhysicalDevicePresentBarrierFeaturesNV {
19288 pub s_type: StructureType,
19289 pub next: *mut c_void,
19290 pub present_barrier: Bool32,
19291}
19292
19293impl Default for PhysicalDevicePresentBarrierFeaturesNV {
19294 #[inline]
19295 fn default() -> Self {
19296 Self {
19297 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
19298 next: ptr::null_mut(),
19299 present_barrier: Bool32::default(),
19300 }
19301 }
19302}
19303
19304unsafe impl Send for PhysicalDevicePresentBarrierFeaturesNV {}
19305unsafe impl Sync for PhysicalDevicePresentBarrierFeaturesNV {}
19306
19307#[repr(C)]
19309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19310pub struct PhysicalDevicePresentId2FeaturesKHR {
19311 pub s_type: StructureType,
19312 pub next: *mut c_void,
19313 pub present_id2: Bool32,
19314}
19315
19316impl Default for PhysicalDevicePresentId2FeaturesKHR {
19317 #[inline]
19318 fn default() -> Self {
19319 Self {
19320 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
19321 next: ptr::null_mut(),
19322 present_id2: Bool32::default(),
19323 }
19324 }
19325}
19326
19327unsafe impl Send for PhysicalDevicePresentId2FeaturesKHR {}
19328unsafe impl Sync for PhysicalDevicePresentId2FeaturesKHR {}
19329
19330#[repr(C)]
19332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19333pub struct PhysicalDevicePresentIdFeaturesKHR {
19334 pub s_type: StructureType,
19335 pub next: *mut c_void,
19336 pub present_id: Bool32,
19337}
19338
19339impl Default for PhysicalDevicePresentIdFeaturesKHR {
19340 #[inline]
19341 fn default() -> Self {
19342 Self {
19343 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
19344 next: ptr::null_mut(),
19345 present_id: Bool32::default(),
19346 }
19347 }
19348}
19349
19350unsafe impl Send for PhysicalDevicePresentIdFeaturesKHR {}
19351unsafe impl Sync for PhysicalDevicePresentIdFeaturesKHR {}
19352
19353#[repr(C)]
19355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19356pub struct PhysicalDevicePresentMeteringFeaturesNV {
19357 pub s_type: StructureType,
19358 pub next: *mut c_void,
19359 pub present_metering: Bool32,
19360}
19361
19362impl Default for PhysicalDevicePresentMeteringFeaturesNV {
19363 #[inline]
19364 fn default() -> Self {
19365 Self {
19366 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
19367 next: ptr::null_mut(),
19368 present_metering: Bool32::default(),
19369 }
19370 }
19371}
19372
19373unsafe impl Send for PhysicalDevicePresentMeteringFeaturesNV {}
19374unsafe impl Sync for PhysicalDevicePresentMeteringFeaturesNV {}
19375
19376#[repr(C)]
19378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19379pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19380 pub s_type: StructureType,
19381 pub next: *mut c_void,
19382 pub present_mode_fifo_latest_ready: Bool32,
19383}
19384
19385impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19386 #[inline]
19387 fn default() -> Self {
19388 Self {
19389 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
19390 next: ptr::null_mut(),
19391 present_mode_fifo_latest_ready: Bool32::default(),
19392 }
19393 }
19394}
19395
19396unsafe impl Send for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19397unsafe impl Sync for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19398
19399#[repr(C)]
19401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19402pub struct PhysicalDevicePresentWait2FeaturesKHR {
19403 pub s_type: StructureType,
19404 pub next: *mut c_void,
19405 pub present_wait2: Bool32,
19406}
19407
19408impl Default for PhysicalDevicePresentWait2FeaturesKHR {
19409 #[inline]
19410 fn default() -> Self {
19411 Self {
19412 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
19413 next: ptr::null_mut(),
19414 present_wait2: Bool32::default(),
19415 }
19416 }
19417}
19418
19419unsafe impl Send for PhysicalDevicePresentWait2FeaturesKHR {}
19420unsafe impl Sync for PhysicalDevicePresentWait2FeaturesKHR {}
19421
19422#[repr(C)]
19424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19425pub struct PhysicalDevicePresentWaitFeaturesKHR {
19426 pub s_type: StructureType,
19427 pub next: *mut c_void,
19428 pub present_wait: Bool32,
19429}
19430
19431impl Default for PhysicalDevicePresentWaitFeaturesKHR {
19432 #[inline]
19433 fn default() -> Self {
19434 Self {
19435 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
19436 next: ptr::null_mut(),
19437 present_wait: Bool32::default(),
19438 }
19439 }
19440}
19441
19442unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {}
19443unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {}
19444
19445#[repr(C)]
19447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19448pub struct PhysicalDevicePresentationPropertiesOHOS {
19449 pub s_type: StructureType,
19450 pub next: *mut c_void,
19451 pub shared_image: Bool32,
19452}
19453
19454impl Default for PhysicalDevicePresentationPropertiesOHOS {
19455 #[inline]
19456 fn default() -> Self {
19457 Self {
19458 s_type: StructureType::PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS,
19459 next: ptr::null_mut(),
19460 shared_image: Bool32::default(),
19461 }
19462 }
19463}
19464
19465unsafe impl Send for PhysicalDevicePresentationPropertiesOHOS {}
19466unsafe impl Sync for PhysicalDevicePresentationPropertiesOHOS {}
19467
19468#[repr(C)]
19470#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19471pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19472 pub s_type: StructureType,
19473 pub next: *mut c_void,
19474 pub primitive_topology_list_restart: Bool32,
19475 pub primitive_topology_patch_list_restart: Bool32,
19476}
19477
19478impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19479 #[inline]
19480 fn default() -> Self {
19481 Self {
19482 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
19483 next: ptr::null_mut(),
19484 primitive_topology_list_restart: Bool32::default(),
19485 primitive_topology_patch_list_restart: Bool32::default(),
19486 }
19487 }
19488}
19489
19490unsafe impl Send for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19491unsafe impl Sync for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19492
19493#[repr(C)]
19495#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19496pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19497 pub s_type: StructureType,
19498 pub next: *mut c_void,
19499 pub primitives_generated_query: Bool32,
19500 pub primitives_generated_query_with_rasterizer_discard: Bool32,
19501 pub primitives_generated_query_with_non_zero_streams: Bool32,
19502}
19503
19504impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19505 #[inline]
19506 fn default() -> Self {
19507 Self {
19508 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
19509 next: ptr::null_mut(),
19510 primitives_generated_query: Bool32::default(),
19511 primitives_generated_query_with_rasterizer_discard: Bool32::default(),
19512 primitives_generated_query_with_non_zero_streams: Bool32::default(),
19513 }
19514 }
19515}
19516
19517unsafe impl Send for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19518unsafe impl Sync for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19519
19520#[repr(C)]
19522#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19523pub struct PhysicalDevicePrivateDataFeatures {
19524 pub s_type: StructureType,
19525 pub next: *mut c_void,
19526 pub private_data: Bool32,
19527}
19528
19529impl Default for PhysicalDevicePrivateDataFeatures {
19530 #[inline]
19531 fn default() -> Self {
19532 Self {
19533 s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
19534 next: ptr::null_mut(),
19535 private_data: Bool32::default(),
19536 }
19537 }
19538}
19539
19540unsafe impl Send for PhysicalDevicePrivateDataFeatures {}
19541unsafe impl Sync for PhysicalDevicePrivateDataFeatures {}
19542
19543#[repr(C)]
19545#[derive(Copy, Clone, Default, Debug, PartialEq)]
19546pub struct PhysicalDeviceProperties {
19547 pub api_version: u32,
19548 pub driver_version: u32,
19549 pub vendor_id: u32,
19550 pub device_id: u32,
19551 pub device_type: PhysicalDeviceType,
19552 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
19553 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
19554 pub limits: PhysicalDeviceLimits,
19555 pub sparse_properties: PhysicalDeviceSparseProperties,
19556}
19557
19558#[repr(C)]
19560#[derive(Copy, Clone, Debug, PartialEq)]
19561pub struct PhysicalDeviceProperties2 {
19562 pub s_type: StructureType,
19563 pub next: *mut c_void,
19564 pub properties: PhysicalDeviceProperties,
19565}
19566
19567impl Default for PhysicalDeviceProperties2 {
19568 #[inline]
19569 fn default() -> Self {
19570 Self {
19571 s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
19572 next: ptr::null_mut(),
19573 properties: PhysicalDeviceProperties::default(),
19574 }
19575 }
19576}
19577
19578unsafe impl Send for PhysicalDeviceProperties2 {}
19579unsafe impl Sync for PhysicalDeviceProperties2 {}
19580
19581#[repr(C)]
19583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19584pub struct PhysicalDeviceProtectedMemoryFeatures {
19585 pub s_type: StructureType,
19586 pub next: *mut c_void,
19587 pub protected_memory: Bool32,
19588}
19589
19590impl Default for PhysicalDeviceProtectedMemoryFeatures {
19591 #[inline]
19592 fn default() -> Self {
19593 Self {
19594 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
19595 next: ptr::null_mut(),
19596 protected_memory: Bool32::default(),
19597 }
19598 }
19599}
19600
19601unsafe impl Send for PhysicalDeviceProtectedMemoryFeatures {}
19602unsafe impl Sync for PhysicalDeviceProtectedMemoryFeatures {}
19603
19604#[repr(C)]
19606#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19607pub struct PhysicalDeviceProtectedMemoryProperties {
19608 pub s_type: StructureType,
19609 pub next: *mut c_void,
19610 pub protected_no_fault: Bool32,
19611}
19612
19613impl Default for PhysicalDeviceProtectedMemoryProperties {
19614 #[inline]
19615 fn default() -> Self {
19616 Self {
19617 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
19618 next: ptr::null_mut(),
19619 protected_no_fault: Bool32::default(),
19620 }
19621 }
19622}
19623
19624unsafe impl Send for PhysicalDeviceProtectedMemoryProperties {}
19625unsafe impl Sync for PhysicalDeviceProtectedMemoryProperties {}
19626
19627#[repr(C)]
19629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19630pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
19631 pub s_type: StructureType,
19632 pub next: *mut c_void,
19633 pub provoking_vertex_last: Bool32,
19634 pub transform_feedback_preserves_provoking_vertex: Bool32,
19635}
19636
19637impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
19638 #[inline]
19639 fn default() -> Self {
19640 Self {
19641 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
19642 next: ptr::null_mut(),
19643 provoking_vertex_last: Bool32::default(),
19644 transform_feedback_preserves_provoking_vertex: Bool32::default(),
19645 }
19646 }
19647}
19648
19649unsafe impl Send for PhysicalDeviceProvokingVertexFeaturesEXT {}
19650unsafe impl Sync for PhysicalDeviceProvokingVertexFeaturesEXT {}
19651
19652#[repr(C)]
19654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19655pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
19656 pub s_type: StructureType,
19657 pub next: *mut c_void,
19658 pub provoking_vertex_mode_per_pipeline: Bool32,
19659 pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
19660}
19661
19662impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
19663 #[inline]
19664 fn default() -> Self {
19665 Self {
19666 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
19667 next: ptr::null_mut(),
19668 provoking_vertex_mode_per_pipeline: Bool32::default(),
19669 transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
19670 }
19671 }
19672}
19673
19674unsafe impl Send for PhysicalDeviceProvokingVertexPropertiesEXT {}
19675unsafe impl Sync for PhysicalDeviceProvokingVertexPropertiesEXT {}
19676
19677#[repr(C)]
19679#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19680pub struct PhysicalDevicePushDescriptorProperties {
19681 pub s_type: StructureType,
19682 pub next: *mut c_void,
19683 pub max_push_descriptors: u32,
19684}
19685
19686impl Default for PhysicalDevicePushDescriptorProperties {
19687 #[inline]
19688 fn default() -> Self {
19689 Self {
19690 s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
19691 next: ptr::null_mut(),
19692 max_push_descriptors: u32::default(),
19693 }
19694 }
19695}
19696
19697unsafe impl Send for PhysicalDevicePushDescriptorProperties {}
19698unsafe impl Sync for PhysicalDevicePushDescriptorProperties {}
19699
19700#[repr(C)]
19702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19703pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19704 pub s_type: StructureType,
19705 pub next: *const c_void,
19706 pub queue_family_index: u32,
19707 pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
19708}
19709
19710impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19711 #[inline]
19712 fn default() -> Self {
19713 Self {
19714 s_type:
19715 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
19716 next: ptr::null(),
19717 queue_family_index: u32::default(),
19718 engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
19719 }
19720 }
19721}
19722
19723unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19724unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19725
19726#[repr(C)]
19728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19729pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19730 pub s_type: StructureType,
19731 pub next: *mut c_void,
19732 pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
19733}
19734
19735impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19736 #[inline]
19737 fn default() -> Self {
19738 Self {
19739 s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
19740 next: ptr::null_mut(),
19741 format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
19742 }
19743 }
19744}
19745
19746unsafe impl Send for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19747unsafe impl Sync for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19748
19749#[repr(C)]
19751#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19752pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19753 pub s_type: StructureType,
19754 pub next: *mut c_void,
19755 pub rasterization_order_color_attachment_access: Bool32,
19756 pub rasterization_order_depth_attachment_access: Bool32,
19757 pub rasterization_order_stencil_attachment_access: Bool32,
19758}
19759
19760impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19761 #[inline]
19762 fn default() -> Self {
19763 Self {
19764 s_type:
19765 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
19766 next: ptr::null_mut(),
19767 rasterization_order_color_attachment_access: Bool32::default(),
19768 rasterization_order_depth_attachment_access: Bool32::default(),
19769 rasterization_order_stencil_attachment_access: Bool32::default(),
19770 }
19771 }
19772}
19773
19774unsafe impl Send for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
19775unsafe impl Sync for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
19776
19777#[repr(C)]
19779#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19780pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
19781 pub s_type: StructureType,
19782 pub next: *mut c_void,
19783 pub shader_raw_access_chains: Bool32,
19784}
19785
19786impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
19787 #[inline]
19788 fn default() -> Self {
19789 Self {
19790 s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
19791 next: ptr::null_mut(),
19792 shader_raw_access_chains: Bool32::default(),
19793 }
19794 }
19795}
19796
19797unsafe impl Send for PhysicalDeviceRawAccessChainsFeaturesNV {}
19798unsafe impl Sync for PhysicalDeviceRawAccessChainsFeaturesNV {}
19799
19800#[repr(C)]
19802#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19803pub struct PhysicalDeviceRayQueryFeaturesKHR {
19804 pub s_type: StructureType,
19805 pub next: *mut c_void,
19806 pub ray_query: Bool32,
19807}
19808
19809impl Default for PhysicalDeviceRayQueryFeaturesKHR {
19810 #[inline]
19811 fn default() -> Self {
19812 Self {
19813 s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
19814 next: ptr::null_mut(),
19815 ray_query: Bool32::default(),
19816 }
19817 }
19818}
19819
19820unsafe impl Send for PhysicalDeviceRayQueryFeaturesKHR {}
19821unsafe impl Sync for PhysicalDeviceRayQueryFeaturesKHR {}
19822
19823#[repr(C)]
19825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19826pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
19827 pub s_type: StructureType,
19828 pub next: *mut c_void,
19829 pub ray_tracing_invocation_reorder: Bool32,
19830}
19831
19832impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
19833 #[inline]
19834 fn default() -> Self {
19835 Self {
19836 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
19837 next: ptr::null_mut(),
19838 ray_tracing_invocation_reorder: Bool32::default(),
19839 }
19840 }
19841}
19842
19843unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
19844unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
19845
19846#[repr(C)]
19848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19849pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
19850 pub s_type: StructureType,
19851 pub next: *mut c_void,
19852 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeNV,
19853}
19854
19855impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
19856 #[inline]
19857 fn default() -> Self {
19858 Self {
19859 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
19860 next: ptr::null_mut(),
19861 ray_tracing_invocation_reorder_reordering_hint:
19862 RayTracingInvocationReorderModeNV::default(),
19863 }
19864 }
19865}
19866
19867unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
19868unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
19869
19870#[repr(C)]
19872#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19873pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
19874 pub s_type: StructureType,
19875 pub next: *mut c_void,
19876 pub spheres: Bool32,
19877 pub linear_swept_spheres: Bool32,
19878}
19879
19880impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
19881 #[inline]
19882 fn default() -> Self {
19883 Self {
19884 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
19885 next: ptr::null_mut(),
19886 spheres: Bool32::default(),
19887 linear_swept_spheres: Bool32::default(),
19888 }
19889 }
19890}
19891
19892unsafe impl Send for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
19893unsafe impl Sync for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
19894
19895#[repr(C)]
19897#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19898pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
19899 pub s_type: StructureType,
19900 pub next: *mut c_void,
19901 pub ray_tracing_maintenance1: Bool32,
19902 pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
19903}
19904
19905impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
19906 #[inline]
19907 fn default() -> Self {
19908 Self {
19909 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
19910 next: ptr::null_mut(),
19911 ray_tracing_maintenance1: Bool32::default(),
19912 ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
19913 }
19914 }
19915}
19916
19917unsafe impl Send for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
19918unsafe impl Sync for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
19919
19920#[repr(C)]
19922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19923pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
19924 pub s_type: StructureType,
19925 pub next: *mut c_void,
19926 pub ray_tracing_motion_blur: Bool32,
19927 pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
19928}
19929
19930impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
19931 #[inline]
19932 fn default() -> Self {
19933 Self {
19934 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
19935 next: ptr::null_mut(),
19936 ray_tracing_motion_blur: Bool32::default(),
19937 ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
19938 }
19939 }
19940}
19941
19942unsafe impl Send for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
19943unsafe impl Sync for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
19944
19945#[repr(C)]
19947#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19948pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
19949 pub s_type: StructureType,
19950 pub next: *mut c_void,
19951 pub ray_tracing_pipeline: Bool32,
19952 pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
19953 pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
19954 pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
19955 pub ray_traversal_primitive_culling: Bool32,
19956}
19957
19958impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
19959 #[inline]
19960 fn default() -> Self {
19961 Self {
19962 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
19963 next: ptr::null_mut(),
19964 ray_tracing_pipeline: Bool32::default(),
19965 ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
19966 ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
19967 ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
19968 ray_traversal_primitive_culling: Bool32::default(),
19969 }
19970 }
19971}
19972
19973unsafe impl Send for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
19974unsafe impl Sync for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
19975
19976#[repr(C)]
19978#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19979pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
19980 pub s_type: StructureType,
19981 pub next: *mut c_void,
19982 pub shader_group_handle_size: u32,
19983 pub max_ray_recursion_depth: u32,
19984 pub max_shader_group_stride: u32,
19985 pub shader_group_base_alignment: u32,
19986 pub shader_group_handle_capture_replay_size: u32,
19987 pub max_ray_dispatch_invocation_count: u32,
19988 pub shader_group_handle_alignment: u32,
19989 pub max_ray_hit_attribute_size: u32,
19990}
19991
19992impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
19993 #[inline]
19994 fn default() -> Self {
19995 Self {
19996 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
19997 next: ptr::null_mut(),
19998 shader_group_handle_size: u32::default(),
19999 max_ray_recursion_depth: u32::default(),
20000 max_shader_group_stride: u32::default(),
20001 shader_group_base_alignment: u32::default(),
20002 shader_group_handle_capture_replay_size: u32::default(),
20003 max_ray_dispatch_invocation_count: u32::default(),
20004 shader_group_handle_alignment: u32::default(),
20005 max_ray_hit_attribute_size: u32::default(),
20006 }
20007 }
20008}
20009
20010unsafe impl Send for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20011unsafe impl Sync for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20012
20013#[repr(C)]
20015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20016pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20017 pub s_type: StructureType,
20018 pub next: *mut c_void,
20019 pub ray_tracing_position_fetch: Bool32,
20020}
20021
20022impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20023 #[inline]
20024 fn default() -> Self {
20025 Self {
20026 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
20027 next: ptr::null_mut(),
20028 ray_tracing_position_fetch: Bool32::default(),
20029 }
20030 }
20031}
20032
20033unsafe impl Send for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20034unsafe impl Sync for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20035
20036#[repr(C)]
20038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20039pub struct PhysicalDeviceRayTracingPropertiesNV {
20040 pub s_type: StructureType,
20041 pub next: *mut c_void,
20042 pub shader_group_handle_size: u32,
20043 pub max_recursion_depth: u32,
20044 pub max_shader_group_stride: u32,
20045 pub shader_group_base_alignment: u32,
20046 pub max_geometry_count: u64,
20047 pub max_instance_count: u64,
20048 pub max_triangle_count: u64,
20049 pub max_descriptor_set_acceleration_structures: u32,
20050}
20051
20052impl Default for PhysicalDeviceRayTracingPropertiesNV {
20053 #[inline]
20054 fn default() -> Self {
20055 Self {
20056 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
20057 next: ptr::null_mut(),
20058 shader_group_handle_size: u32::default(),
20059 max_recursion_depth: u32::default(),
20060 max_shader_group_stride: u32::default(),
20061 shader_group_base_alignment: u32::default(),
20062 max_geometry_count: u64::default(),
20063 max_instance_count: u64::default(),
20064 max_triangle_count: u64::default(),
20065 max_descriptor_set_acceleration_structures: u32::default(),
20066 }
20067 }
20068}
20069
20070unsafe impl Send for PhysicalDeviceRayTracingPropertiesNV {}
20071unsafe impl Sync for PhysicalDeviceRayTracingPropertiesNV {}
20072
20073#[repr(C)]
20075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20076pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
20077 pub s_type: StructureType,
20078 pub next: *mut c_void,
20079 pub ray_tracing_validation: Bool32,
20080}
20081
20082impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
20083 #[inline]
20084 fn default() -> Self {
20085 Self {
20086 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
20087 next: ptr::null_mut(),
20088 ray_tracing_validation: Bool32::default(),
20089 }
20090 }
20091}
20092
20093unsafe impl Send for PhysicalDeviceRayTracingValidationFeaturesNV {}
20094unsafe impl Sync for PhysicalDeviceRayTracingValidationFeaturesNV {}
20095
20096#[repr(C)]
20098#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20099pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
20100 pub s_type: StructureType,
20101 pub next: *mut c_void,
20102 pub relaxed_line_rasterization: Bool32,
20103}
20104
20105impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
20106 #[inline]
20107 fn default() -> Self {
20108 Self {
20109 s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
20110 next: ptr::null_mut(),
20111 relaxed_line_rasterization: Bool32::default(),
20112 }
20113 }
20114}
20115
20116unsafe impl Send for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
20117unsafe impl Sync for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
20118
20119#[repr(C)]
20121#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20122pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
20123 pub s_type: StructureType,
20124 pub next: *mut c_void,
20125 pub render_pass_striped: Bool32,
20126}
20127
20128impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
20129 #[inline]
20130 fn default() -> Self {
20131 Self {
20132 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
20133 next: ptr::null_mut(),
20134 render_pass_striped: Bool32::default(),
20135 }
20136 }
20137}
20138
20139unsafe impl Send for PhysicalDeviceRenderPassStripedFeaturesARM {}
20140unsafe impl Sync for PhysicalDeviceRenderPassStripedFeaturesARM {}
20141
20142#[repr(C)]
20144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20145pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
20146 pub s_type: StructureType,
20147 pub next: *mut c_void,
20148 pub render_pass_stripe_granularity: Extent2D,
20149 pub max_render_pass_stripes: u32,
20150}
20151
20152impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
20153 #[inline]
20154 fn default() -> Self {
20155 Self {
20156 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
20157 next: ptr::null_mut(),
20158 render_pass_stripe_granularity: Extent2D::default(),
20159 max_render_pass_stripes: u32::default(),
20160 }
20161 }
20162}
20163
20164unsafe impl Send for PhysicalDeviceRenderPassStripedPropertiesARM {}
20165unsafe impl Sync for PhysicalDeviceRenderPassStripedPropertiesARM {}
20166
20167#[repr(C)]
20169#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20170pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
20171 pub s_type: StructureType,
20172 pub next: *mut c_void,
20173 pub representative_fragment_test: Bool32,
20174}
20175
20176impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
20177 #[inline]
20178 fn default() -> Self {
20179 Self {
20180 s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
20181 next: ptr::null_mut(),
20182 representative_fragment_test: Bool32::default(),
20183 }
20184 }
20185}
20186
20187unsafe impl Send for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
20188unsafe impl Sync for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
20189
20190#[repr(C)]
20192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20193pub struct PhysicalDeviceRobustness2FeaturesKHR {
20194 pub s_type: StructureType,
20195 pub next: *mut c_void,
20196 pub robust_buffer_access2: Bool32,
20197 pub robust_image_access2: Bool32,
20198 pub null_descriptor: Bool32,
20199}
20200
20201impl Default for PhysicalDeviceRobustness2FeaturesKHR {
20202 #[inline]
20203 fn default() -> Self {
20204 Self {
20205 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
20206 next: ptr::null_mut(),
20207 robust_buffer_access2: Bool32::default(),
20208 robust_image_access2: Bool32::default(),
20209 null_descriptor: Bool32::default(),
20210 }
20211 }
20212}
20213
20214unsafe impl Send for PhysicalDeviceRobustness2FeaturesKHR {}
20215unsafe impl Sync for PhysicalDeviceRobustness2FeaturesKHR {}
20216
20217#[repr(C)]
20219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20220pub struct PhysicalDeviceRobustness2PropertiesKHR {
20221 pub s_type: StructureType,
20222 pub next: *mut c_void,
20223 pub robust_storage_buffer_access_size_alignment: DeviceSize,
20224 pub robust_uniform_buffer_access_size_alignment: DeviceSize,
20225}
20226
20227impl Default for PhysicalDeviceRobustness2PropertiesKHR {
20228 #[inline]
20229 fn default() -> Self {
20230 Self {
20231 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
20232 next: ptr::null_mut(),
20233 robust_storage_buffer_access_size_alignment: DeviceSize::default(),
20234 robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
20235 }
20236 }
20237}
20238
20239unsafe impl Send for PhysicalDeviceRobustness2PropertiesKHR {}
20240unsafe impl Sync for PhysicalDeviceRobustness2PropertiesKHR {}
20241
20242#[repr(C)]
20244#[derive(Copy, Clone, Debug, PartialEq)]
20245pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
20246 pub s_type: StructureType,
20247 pub next: *mut c_void,
20248 pub sample_location_sample_counts: SampleCountFlags,
20249 pub max_sample_location_grid_size: Extent2D,
20250 pub sample_location_coordinate_range: [f32; 2],
20251 pub sample_location_sub_pixel_bits: u32,
20252 pub variable_sample_locations: Bool32,
20253}
20254
20255impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
20256 #[inline]
20257 fn default() -> Self {
20258 Self {
20259 s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
20260 next: ptr::null_mut(),
20261 sample_location_sample_counts: SampleCountFlags::default(),
20262 max_sample_location_grid_size: Extent2D::default(),
20263 sample_location_coordinate_range: [f32::default(); 2],
20264 sample_location_sub_pixel_bits: u32::default(),
20265 variable_sample_locations: Bool32::default(),
20266 }
20267 }
20268}
20269
20270unsafe impl Send for PhysicalDeviceSampleLocationsPropertiesEXT {}
20271unsafe impl Sync for PhysicalDeviceSampleLocationsPropertiesEXT {}
20272
20273#[repr(C)]
20275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20276pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
20277 pub s_type: StructureType,
20278 pub next: *mut c_void,
20279 pub filter_minmax_single_component_formats: Bool32,
20280 pub filter_minmax_image_component_mapping: Bool32,
20281}
20282
20283impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
20284 #[inline]
20285 fn default() -> Self {
20286 Self {
20287 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
20288 next: ptr::null_mut(),
20289 filter_minmax_single_component_formats: Bool32::default(),
20290 filter_minmax_image_component_mapping: Bool32::default(),
20291 }
20292 }
20293}
20294
20295unsafe impl Send for PhysicalDeviceSamplerFilterMinmaxProperties {}
20296unsafe impl Sync for PhysicalDeviceSamplerFilterMinmaxProperties {}
20297
20298#[repr(C)]
20300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20301pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
20302 pub s_type: StructureType,
20303 pub next: *mut c_void,
20304 pub sampler_ycbcr_conversion: Bool32,
20305}
20306
20307impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
20308 #[inline]
20309 fn default() -> Self {
20310 Self {
20311 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
20312 next: ptr::null_mut(),
20313 sampler_ycbcr_conversion: Bool32::default(),
20314 }
20315 }
20316}
20317
20318unsafe impl Send for PhysicalDeviceSamplerYcbcrConversionFeatures {}
20319unsafe impl Sync for PhysicalDeviceSamplerYcbcrConversionFeatures {}
20320
20321#[repr(C)]
20323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20324pub struct PhysicalDeviceScalarBlockLayoutFeatures {
20325 pub s_type: StructureType,
20326 pub next: *mut c_void,
20327 pub scalar_block_layout: Bool32,
20328}
20329
20330impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
20331 #[inline]
20332 fn default() -> Self {
20333 Self {
20334 s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
20335 next: ptr::null_mut(),
20336 scalar_block_layout: Bool32::default(),
20337 }
20338 }
20339}
20340
20341unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {}
20342unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {}
20343
20344#[repr(C)]
20346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20347pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
20348 pub s_type: StructureType,
20349 pub next: *mut c_void,
20350 pub scheduling_controls: Bool32,
20351}
20352
20353impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
20354 #[inline]
20355 fn default() -> Self {
20356 Self {
20357 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
20358 next: ptr::null_mut(),
20359 scheduling_controls: Bool32::default(),
20360 }
20361 }
20362}
20363
20364unsafe impl Send for PhysicalDeviceSchedulingControlsFeaturesARM {}
20365unsafe impl Sync for PhysicalDeviceSchedulingControlsFeaturesARM {}
20366
20367#[repr(C)]
20369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20370pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
20371 pub s_type: StructureType,
20372 pub next: *mut c_void,
20373 pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
20374}
20375
20376impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
20377 #[inline]
20378 fn default() -> Self {
20379 Self {
20380 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
20381 next: ptr::null_mut(),
20382 scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
20383 }
20384 }
20385}
20386
20387unsafe impl Send for PhysicalDeviceSchedulingControlsPropertiesARM {}
20388unsafe impl Sync for PhysicalDeviceSchedulingControlsPropertiesARM {}
20389
20390#[repr(C)]
20392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20393pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20394 pub s_type: StructureType,
20395 pub next: *mut c_void,
20396 pub separate_depth_stencil_layouts: Bool32,
20397}
20398
20399impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20400 #[inline]
20401 fn default() -> Self {
20402 Self {
20403 s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
20404 next: ptr::null_mut(),
20405 separate_depth_stencil_layouts: Bool32::default(),
20406 }
20407 }
20408}
20409
20410unsafe impl Send for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20411unsafe impl Sync for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20412
20413#[repr(C)]
20415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20416pub struct PhysicalDeviceShader64BitIndexingFeaturesEXT {
20417 pub s_type: StructureType,
20418 pub next: *mut c_void,
20419 pub shader_64bit_indexing: Bool32,
20420}
20421
20422impl Default for PhysicalDeviceShader64BitIndexingFeaturesEXT {
20423 #[inline]
20424 fn default() -> Self {
20425 Self {
20426 s_type: StructureType::PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
20427 next: ptr::null_mut(),
20428 shader_64bit_indexing: Bool32::default(),
20429 }
20430 }
20431}
20432
20433unsafe impl Send for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
20434unsafe impl Sync for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
20435
20436#[repr(C)]
20438#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20439pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20440 pub s_type: StructureType,
20441 pub next: *mut c_void,
20442 pub shader_float16_vector_atomics: Bool32,
20443}
20444
20445impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20446 #[inline]
20447 fn default() -> Self {
20448 Self {
20449 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
20450 next: ptr::null_mut(),
20451 shader_float16_vector_atomics: Bool32::default(),
20452 }
20453 }
20454}
20455
20456unsafe impl Send for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20457unsafe impl Sync for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20458
20459#[repr(C)]
20461#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20462pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20463 pub s_type: StructureType,
20464 pub next: *mut c_void,
20465 pub shader_buffer_float16_atomics: Bool32,
20466 pub shader_buffer_float16_atomic_add: Bool32,
20467 pub shader_buffer_float16_atomic_min_max: Bool32,
20468 pub shader_buffer_float32_atomic_min_max: Bool32,
20469 pub shader_buffer_float64_atomic_min_max: Bool32,
20470 pub shader_shared_float16_atomics: Bool32,
20471 pub shader_shared_float16_atomic_add: Bool32,
20472 pub shader_shared_float16_atomic_min_max: Bool32,
20473 pub shader_shared_float32_atomic_min_max: Bool32,
20474 pub shader_shared_float64_atomic_min_max: Bool32,
20475 pub shader_image_float32_atomic_min_max: Bool32,
20476 pub sparse_image_float32_atomic_min_max: Bool32,
20477}
20478
20479impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20480 #[inline]
20481 fn default() -> Self {
20482 Self {
20483 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
20484 next: ptr::null_mut(),
20485 shader_buffer_float16_atomics: Bool32::default(),
20486 shader_buffer_float16_atomic_add: Bool32::default(),
20487 shader_buffer_float16_atomic_min_max: Bool32::default(),
20488 shader_buffer_float32_atomic_min_max: Bool32::default(),
20489 shader_buffer_float64_atomic_min_max: Bool32::default(),
20490 shader_shared_float16_atomics: Bool32::default(),
20491 shader_shared_float16_atomic_add: Bool32::default(),
20492 shader_shared_float16_atomic_min_max: Bool32::default(),
20493 shader_shared_float32_atomic_min_max: Bool32::default(),
20494 shader_shared_float64_atomic_min_max: Bool32::default(),
20495 shader_image_float32_atomic_min_max: Bool32::default(),
20496 sparse_image_float32_atomic_min_max: Bool32::default(),
20497 }
20498 }
20499}
20500
20501unsafe impl Send for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20502unsafe impl Sync for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20503
20504#[repr(C)]
20506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20507pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20508 pub s_type: StructureType,
20509 pub next: *mut c_void,
20510 pub shader_buffer_float32_atomics: Bool32,
20511 pub shader_buffer_float32_atomic_add: Bool32,
20512 pub shader_buffer_float64_atomics: Bool32,
20513 pub shader_buffer_float64_atomic_add: Bool32,
20514 pub shader_shared_float32_atomics: Bool32,
20515 pub shader_shared_float32_atomic_add: Bool32,
20516 pub shader_shared_float64_atomics: Bool32,
20517 pub shader_shared_float64_atomic_add: Bool32,
20518 pub shader_image_float32_atomics: Bool32,
20519 pub shader_image_float32_atomic_add: Bool32,
20520 pub sparse_image_float32_atomics: Bool32,
20521 pub sparse_image_float32_atomic_add: Bool32,
20522}
20523
20524impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20525 #[inline]
20526 fn default() -> Self {
20527 Self {
20528 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
20529 next: ptr::null_mut(),
20530 shader_buffer_float32_atomics: Bool32::default(),
20531 shader_buffer_float32_atomic_add: Bool32::default(),
20532 shader_buffer_float64_atomics: Bool32::default(),
20533 shader_buffer_float64_atomic_add: Bool32::default(),
20534 shader_shared_float32_atomics: Bool32::default(),
20535 shader_shared_float32_atomic_add: Bool32::default(),
20536 shader_shared_float64_atomics: Bool32::default(),
20537 shader_shared_float64_atomic_add: Bool32::default(),
20538 shader_image_float32_atomics: Bool32::default(),
20539 shader_image_float32_atomic_add: Bool32::default(),
20540 sparse_image_float32_atomics: Bool32::default(),
20541 sparse_image_float32_atomic_add: Bool32::default(),
20542 }
20543 }
20544}
20545
20546unsafe impl Send for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20547unsafe impl Sync for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20548
20549#[repr(C)]
20551#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20552pub struct PhysicalDeviceShaderAtomicInt64Features {
20553 pub s_type: StructureType,
20554 pub next: *mut c_void,
20555 pub shader_buffer_int64_atomics: Bool32,
20556 pub shader_shared_int64_atomics: Bool32,
20557}
20558
20559impl Default for PhysicalDeviceShaderAtomicInt64Features {
20560 #[inline]
20561 fn default() -> Self {
20562 Self {
20563 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
20564 next: ptr::null_mut(),
20565 shader_buffer_int64_atomics: Bool32::default(),
20566 shader_shared_int64_atomics: Bool32::default(),
20567 }
20568 }
20569}
20570
20571unsafe impl Send for PhysicalDeviceShaderAtomicInt64Features {}
20572unsafe impl Sync for PhysicalDeviceShaderAtomicInt64Features {}
20573
20574#[repr(C)]
20576#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20577pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
20578 pub s_type: StructureType,
20579 pub next: *mut c_void,
20580 pub shader_b_float16_type: Bool32,
20581 pub shader_b_float_16dot_product: Bool32,
20582 pub shader_b_float16_cooperative_matrix: Bool32,
20583}
20584
20585impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
20586 #[inline]
20587 fn default() -> Self {
20588 Self {
20589 s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
20590 next: ptr::null_mut(),
20591 shader_b_float16_type: Bool32::default(),
20592 shader_b_float_16dot_product: Bool32::default(),
20593 shader_b_float16_cooperative_matrix: Bool32::default(),
20594 }
20595 }
20596}
20597
20598unsafe impl Send for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20599unsafe impl Sync for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20600
20601#[repr(C)]
20603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20604pub struct PhysicalDeviceShaderClockFeaturesKHR {
20605 pub s_type: StructureType,
20606 pub next: *mut c_void,
20607 pub shader_subgroup_clock: Bool32,
20608 pub shader_device_clock: Bool32,
20609}
20610
20611impl Default for PhysicalDeviceShaderClockFeaturesKHR {
20612 #[inline]
20613 fn default() -> Self {
20614 Self {
20615 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
20616 next: ptr::null_mut(),
20617 shader_subgroup_clock: Bool32::default(),
20618 shader_device_clock: Bool32::default(),
20619 }
20620 }
20621}
20622
20623unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {}
20624unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {}
20625
20626#[repr(C)]
20628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20629pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20630 pub s_type: StructureType,
20631 pub next: *mut c_void,
20632 pub shader_core_builtins: Bool32,
20633}
20634
20635impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20636 #[inline]
20637 fn default() -> Self {
20638 Self {
20639 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
20640 next: ptr::null_mut(),
20641 shader_core_builtins: Bool32::default(),
20642 }
20643 }
20644}
20645
20646unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20647unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20648
20649#[repr(C)]
20651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20652pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20653 pub s_type: StructureType,
20654 pub next: *mut c_void,
20655 pub shader_core_mask: u64,
20656 pub shader_core_count: u32,
20657 pub shader_warps_per_core: u32,
20658}
20659
20660impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20661 #[inline]
20662 fn default() -> Self {
20663 Self {
20664 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
20665 next: ptr::null_mut(),
20666 shader_core_mask: u64::default(),
20667 shader_core_count: u32::default(),
20668 shader_warps_per_core: u32::default(),
20669 }
20670 }
20671}
20672
20673unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20674unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20675
20676#[repr(C)]
20678#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20679pub struct PhysicalDeviceShaderCoreProperties2AMD {
20680 pub s_type: StructureType,
20681 pub next: *mut c_void,
20682 pub shader_core_features: ShaderCorePropertiesFlagsAMD,
20683 pub active_compute_unit_count: u32,
20684}
20685
20686impl Default for PhysicalDeviceShaderCoreProperties2AMD {
20687 #[inline]
20688 fn default() -> Self {
20689 Self {
20690 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
20691 next: ptr::null_mut(),
20692 shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
20693 active_compute_unit_count: u32::default(),
20694 }
20695 }
20696}
20697
20698unsafe impl Send for PhysicalDeviceShaderCoreProperties2AMD {}
20699unsafe impl Sync for PhysicalDeviceShaderCoreProperties2AMD {}
20700
20701#[repr(C)]
20703#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20704pub struct PhysicalDeviceShaderCorePropertiesAMD {
20705 pub s_type: StructureType,
20706 pub next: *mut c_void,
20707 pub shader_engine_count: u32,
20708 pub shader_arrays_per_engine_count: u32,
20709 pub compute_units_per_shader_array: u32,
20710 pub simd_per_compute_unit: u32,
20711 pub wavefronts_per_simd: u32,
20712 pub wavefront_size: u32,
20713 pub sgprs_per_simd: u32,
20714 pub min_sgpr_allocation: u32,
20715 pub max_sgpr_allocation: u32,
20716 pub sgpr_allocation_granularity: u32,
20717 pub vgprs_per_simd: u32,
20718 pub min_vgpr_allocation: u32,
20719 pub max_vgpr_allocation: u32,
20720 pub vgpr_allocation_granularity: u32,
20721}
20722
20723impl Default for PhysicalDeviceShaderCorePropertiesAMD {
20724 #[inline]
20725 fn default() -> Self {
20726 Self {
20727 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
20728 next: ptr::null_mut(),
20729 shader_engine_count: u32::default(),
20730 shader_arrays_per_engine_count: u32::default(),
20731 compute_units_per_shader_array: u32::default(),
20732 simd_per_compute_unit: u32::default(),
20733 wavefronts_per_simd: u32::default(),
20734 wavefront_size: u32::default(),
20735 sgprs_per_simd: u32::default(),
20736 min_sgpr_allocation: u32::default(),
20737 max_sgpr_allocation: u32::default(),
20738 sgpr_allocation_granularity: u32::default(),
20739 vgprs_per_simd: u32::default(),
20740 min_vgpr_allocation: u32::default(),
20741 max_vgpr_allocation: u32::default(),
20742 vgpr_allocation_granularity: u32::default(),
20743 }
20744 }
20745}
20746
20747unsafe impl Send for PhysicalDeviceShaderCorePropertiesAMD {}
20748unsafe impl Sync for PhysicalDeviceShaderCorePropertiesAMD {}
20749
20750#[repr(C)]
20752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20753pub struct PhysicalDeviceShaderCorePropertiesARM {
20754 pub s_type: StructureType,
20755 pub next: *mut c_void,
20756 pub pixel_rate: u32,
20757 pub texel_rate: u32,
20758 pub fma_rate: u32,
20759}
20760
20761impl Default for PhysicalDeviceShaderCorePropertiesARM {
20762 #[inline]
20763 fn default() -> Self {
20764 Self {
20765 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
20766 next: ptr::null_mut(),
20767 pixel_rate: u32::default(),
20768 texel_rate: u32::default(),
20769 fma_rate: u32::default(),
20770 }
20771 }
20772}
20773
20774unsafe impl Send for PhysicalDeviceShaderCorePropertiesARM {}
20775unsafe impl Sync for PhysicalDeviceShaderCorePropertiesARM {}
20776
20777#[repr(C)]
20779#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20780pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
20781 pub s_type: StructureType,
20782 pub next: *mut c_void,
20783 pub shader_demote_to_helper_invocation: Bool32,
20784}
20785
20786impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
20787 #[inline]
20788 fn default() -> Self {
20789 Self {
20790 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
20791 next: ptr::null_mut(),
20792 shader_demote_to_helper_invocation: Bool32::default(),
20793 }
20794 }
20795}
20796
20797unsafe impl Send for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
20798unsafe impl Sync for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
20799
20800#[repr(C)]
20802#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20803pub struct PhysicalDeviceShaderDrawParametersFeatures {
20804 pub s_type: StructureType,
20805 pub next: *mut c_void,
20806 pub shader_draw_parameters: Bool32,
20807}
20808
20809impl Default for PhysicalDeviceShaderDrawParametersFeatures {
20810 #[inline]
20811 fn default() -> Self {
20812 Self {
20813 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
20814 next: ptr::null_mut(),
20815 shader_draw_parameters: Bool32::default(),
20816 }
20817 }
20818}
20819
20820unsafe impl Send for PhysicalDeviceShaderDrawParametersFeatures {}
20821unsafe impl Sync for PhysicalDeviceShaderDrawParametersFeatures {}
20822
20823#[repr(C)]
20825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20826pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
20827 pub s_type: StructureType,
20828 pub next: *mut c_void,
20829 pub shader_early_and_late_fragment_tests: Bool32,
20830}
20831
20832impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
20833 #[inline]
20834 fn default() -> Self {
20835 Self {
20836 s_type:
20837 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
20838 next: ptr::null_mut(),
20839 shader_early_and_late_fragment_tests: Bool32::default(),
20840 }
20841 }
20842}
20843
20844unsafe impl Send for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
20845unsafe impl Sync for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
20846
20847#[repr(C)]
20849#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20850pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
20851 pub s_type: StructureType,
20852 pub next: *mut c_void,
20853 pub shader_enqueue: Bool32,
20854 pub shader_mesh_enqueue: Bool32,
20855}
20856
20857impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
20858 #[inline]
20859 fn default() -> Self {
20860 Self {
20861 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
20862 next: ptr::null_mut(),
20863 shader_enqueue: Bool32::default(),
20864 shader_mesh_enqueue: Bool32::default(),
20865 }
20866 }
20867}
20868
20869unsafe impl Send for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
20870unsafe impl Sync for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
20871
20872#[repr(C)]
20874#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20875pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
20876 pub s_type: StructureType,
20877 pub next: *mut c_void,
20878 pub max_execution_graph_depth: u32,
20879 pub max_execution_graph_shader_output_nodes: u32,
20880 pub max_execution_graph_shader_payload_size: u32,
20881 pub max_execution_graph_shader_payload_count: u32,
20882 pub execution_graph_dispatch_address_alignment: u32,
20883 pub max_execution_graph_workgroup_count: [u32; 3],
20884 pub max_execution_graph_workgroups: u32,
20885}
20886
20887impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
20888 #[inline]
20889 fn default() -> Self {
20890 Self {
20891 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
20892 next: ptr::null_mut(),
20893 max_execution_graph_depth: u32::default(),
20894 max_execution_graph_shader_output_nodes: u32::default(),
20895 max_execution_graph_shader_payload_size: u32::default(),
20896 max_execution_graph_shader_payload_count: u32::default(),
20897 execution_graph_dispatch_address_alignment: u32::default(),
20898 max_execution_graph_workgroup_count: [u32::default(); 3],
20899 max_execution_graph_workgroups: u32::default(),
20900 }
20901 }
20902}
20903
20904unsafe impl Send for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
20905unsafe impl Sync for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
20906
20907#[repr(C)]
20909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20910pub struct PhysicalDeviceShaderExpectAssumeFeatures {
20911 pub s_type: StructureType,
20912 pub next: *mut c_void,
20913 pub shader_expect_assume: Bool32,
20914}
20915
20916impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
20917 #[inline]
20918 fn default() -> Self {
20919 Self {
20920 s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
20921 next: ptr::null_mut(),
20922 shader_expect_assume: Bool32::default(),
20923 }
20924 }
20925}
20926
20927unsafe impl Send for PhysicalDeviceShaderExpectAssumeFeatures {}
20928unsafe impl Sync for PhysicalDeviceShaderExpectAssumeFeatures {}
20929
20930#[repr(C)]
20932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20933pub struct PhysicalDeviceShaderFloat16Int8Features {
20934 pub s_type: StructureType,
20935 pub next: *mut c_void,
20936 pub shader_float16: Bool32,
20937 pub shader_int8: Bool32,
20938}
20939
20940impl Default for PhysicalDeviceShaderFloat16Int8Features {
20941 #[inline]
20942 fn default() -> Self {
20943 Self {
20944 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
20945 next: ptr::null_mut(),
20946 shader_float16: Bool32::default(),
20947 shader_int8: Bool32::default(),
20948 }
20949 }
20950}
20951
20952unsafe impl Send for PhysicalDeviceShaderFloat16Int8Features {}
20953unsafe impl Sync for PhysicalDeviceShaderFloat16Int8Features {}
20954
20955#[repr(C)]
20957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20958pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
20959 pub s_type: StructureType,
20960 pub next: *mut c_void,
20961 pub shader_float8: Bool32,
20962 pub shader_float8_cooperative_matrix: Bool32,
20963}
20964
20965impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
20966 #[inline]
20967 fn default() -> Self {
20968 Self {
20969 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
20970 next: ptr::null_mut(),
20971 shader_float8: Bool32::default(),
20972 shader_float8_cooperative_matrix: Bool32::default(),
20973 }
20974 }
20975}
20976
20977unsafe impl Send for PhysicalDeviceShaderFloat8FeaturesEXT {}
20978unsafe impl Sync for PhysicalDeviceShaderFloat8FeaturesEXT {}
20979
20980#[repr(C)]
20982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20983pub struct PhysicalDeviceShaderFloatControls2Features {
20984 pub s_type: StructureType,
20985 pub next: *mut c_void,
20986 pub shader_float_controls2: Bool32,
20987}
20988
20989impl Default for PhysicalDeviceShaderFloatControls2Features {
20990 #[inline]
20991 fn default() -> Self {
20992 Self {
20993 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
20994 next: ptr::null_mut(),
20995 shader_float_controls2: Bool32::default(),
20996 }
20997 }
20998}
20999
21000unsafe impl Send for PhysicalDeviceShaderFloatControls2Features {}
21001unsafe impl Sync for PhysicalDeviceShaderFloatControls2Features {}
21002
21003#[repr(C)]
21005#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21006pub struct PhysicalDeviceShaderFmaFeaturesKHR {
21007 pub s_type: StructureType,
21008 pub next: *mut c_void,
21009 pub shader_fma_float16: Bool32,
21010 pub shader_fma_float32: Bool32,
21011 pub shader_fma_float64: Bool32,
21012}
21013
21014impl Default for PhysicalDeviceShaderFmaFeaturesKHR {
21015 #[inline]
21016 fn default() -> Self {
21017 Self {
21018 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
21019 next: ptr::null_mut(),
21020 shader_fma_float16: Bool32::default(),
21021 shader_fma_float32: Bool32::default(),
21022 shader_fma_float64: Bool32::default(),
21023 }
21024 }
21025}
21026
21027unsafe impl Send for PhysicalDeviceShaderFmaFeaturesKHR {}
21028unsafe impl Sync for PhysicalDeviceShaderFmaFeaturesKHR {}
21029
21030#[repr(C)]
21032#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21033pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21034 pub s_type: StructureType,
21035 pub next: *mut c_void,
21036 pub shader_image_int64_atomics: Bool32,
21037 pub sparse_image_int64_atomics: Bool32,
21038}
21039
21040impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21041 #[inline]
21042 fn default() -> Self {
21043 Self {
21044 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
21045 next: ptr::null_mut(),
21046 shader_image_int64_atomics: Bool32::default(),
21047 sparse_image_int64_atomics: Bool32::default(),
21048 }
21049 }
21050}
21051
21052unsafe impl Send for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21053unsafe impl Sync for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21054
21055#[repr(C)]
21057#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21058pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
21059 pub s_type: StructureType,
21060 pub next: *mut c_void,
21061 pub image_footprint: Bool32,
21062}
21063
21064impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
21065 #[inline]
21066 fn default() -> Self {
21067 Self {
21068 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
21069 next: ptr::null_mut(),
21070 image_footprint: Bool32::default(),
21071 }
21072 }
21073}
21074
21075unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21076unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21077
21078#[repr(C)]
21080#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21081pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
21082 pub s_type: StructureType,
21083 pub next: *mut c_void,
21084 pub shader_integer_dot_product: Bool32,
21085}
21086
21087impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
21088 #[inline]
21089 fn default() -> Self {
21090 Self {
21091 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
21092 next: ptr::null_mut(),
21093 shader_integer_dot_product: Bool32::default(),
21094 }
21095 }
21096}
21097
21098unsafe impl Send for PhysicalDeviceShaderIntegerDotProductFeatures {}
21099unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductFeatures {}
21100
21101#[repr(C)]
21103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21104pub struct PhysicalDeviceShaderIntegerDotProductProperties {
21105 pub s_type: StructureType,
21106 pub next: *mut c_void,
21107 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
21108 pub integer_dot_product_8bit_signed_accelerated: Bool32,
21109 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
21110 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
21111 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
21112 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
21113 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
21114 pub integer_dot_product_16bit_signed_accelerated: Bool32,
21115 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
21116 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
21117 pub integer_dot_product_32bit_signed_accelerated: Bool32,
21118 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
21119 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
21120 pub integer_dot_product_64bit_signed_accelerated: Bool32,
21121 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
21122 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
21123 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
21124 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
21125 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
21126 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
21127 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
21128 Bool32,
21129 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
21130 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
21131 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
21132 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
21133 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
21134 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
21135 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
21136 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
21137 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
21138}
21139
21140impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
21141 #[inline]
21142 fn default() -> Self {
21143 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() }
21144 }
21145}
21146
21147unsafe impl Send for PhysicalDeviceShaderIntegerDotProductProperties {}
21148unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductProperties {}
21149
21150#[repr(C)]
21152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21153pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
21154 pub s_type: StructureType,
21155 pub next: *mut c_void,
21156 pub shader_integer_functions2: Bool32,
21157}
21158
21159impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
21160 #[inline]
21161 fn default() -> Self {
21162 Self {
21163 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
21164 next: ptr::null_mut(),
21165 shader_integer_functions2: Bool32::default(),
21166 }
21167 }
21168}
21169
21170unsafe impl Send for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
21171unsafe impl Sync for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
21172
21173#[repr(C)]
21175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21176pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
21177 pub s_type: StructureType,
21178 pub next: *mut c_void,
21179 pub shader_maximal_reconvergence: Bool32,
21180}
21181
21182impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
21183 #[inline]
21184 fn default() -> Self {
21185 Self {
21186 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
21187 next: ptr::null_mut(),
21188 shader_maximal_reconvergence: Bool32::default(),
21189 }
21190 }
21191}
21192
21193unsafe impl Send for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
21194unsafe impl Sync for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
21195
21196#[repr(C)]
21198#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21199pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21200 pub s_type: StructureType,
21201 pub next: *mut c_void,
21202 pub shader_module_identifier: Bool32,
21203}
21204
21205impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21206 #[inline]
21207 fn default() -> Self {
21208 Self {
21209 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
21210 next: ptr::null_mut(),
21211 shader_module_identifier: Bool32::default(),
21212 }
21213 }
21214}
21215
21216unsafe impl Send for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
21217unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
21218
21219#[repr(C)]
21221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21222pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21223 pub s_type: StructureType,
21224 pub next: *mut c_void,
21225 pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
21226}
21227
21228impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21229 #[inline]
21230 fn default() -> Self {
21231 Self {
21232 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
21233 next: ptr::null_mut(),
21234 shader_module_identifier_algorithm_uuid: ByteArray::default(),
21235 }
21236 }
21237}
21238
21239unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
21240unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
21241
21242#[repr(C)]
21244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21245pub struct PhysicalDeviceShaderObjectFeaturesEXT {
21246 pub s_type: StructureType,
21247 pub next: *mut c_void,
21248 pub shader_object: Bool32,
21249}
21250
21251impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
21252 #[inline]
21253 fn default() -> Self {
21254 Self {
21255 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
21256 next: ptr::null_mut(),
21257 shader_object: Bool32::default(),
21258 }
21259 }
21260}
21261
21262unsafe impl Send for PhysicalDeviceShaderObjectFeaturesEXT {}
21263unsafe impl Sync for PhysicalDeviceShaderObjectFeaturesEXT {}
21264
21265#[repr(C)]
21267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21268pub struct PhysicalDeviceShaderObjectPropertiesEXT {
21269 pub s_type: StructureType,
21270 pub next: *mut c_void,
21271 pub shader_binary_uuid: ByteArray<UUID_SIZE>,
21272 pub shader_binary_version: u32,
21273}
21274
21275impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
21276 #[inline]
21277 fn default() -> Self {
21278 Self {
21279 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
21280 next: ptr::null_mut(),
21281 shader_binary_uuid: ByteArray::default(),
21282 shader_binary_version: u32::default(),
21283 }
21284 }
21285}
21286
21287unsafe impl Send for PhysicalDeviceShaderObjectPropertiesEXT {}
21288unsafe impl Sync for PhysicalDeviceShaderObjectPropertiesEXT {}
21289
21290#[repr(C)]
21292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21293pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
21294 pub s_type: StructureType,
21295 pub next: *mut c_void,
21296 pub shader_quad_control: Bool32,
21297}
21298
21299impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
21300 #[inline]
21301 fn default() -> Self {
21302 Self {
21303 s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
21304 next: ptr::null_mut(),
21305 shader_quad_control: Bool32::default(),
21306 }
21307 }
21308}
21309
21310unsafe impl Send for PhysicalDeviceShaderQuadControlFeaturesKHR {}
21311unsafe impl Sync for PhysicalDeviceShaderQuadControlFeaturesKHR {}
21312
21313#[repr(C)]
21315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21316pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
21317 pub s_type: StructureType,
21318 pub next: *mut c_void,
21319 pub shader_relaxed_extended_instruction: Bool32,
21320}
21321
21322impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
21323 #[inline]
21324 fn default() -> Self {
21325 Self {
21326 s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
21327 next: ptr::null_mut(),
21328 shader_relaxed_extended_instruction: Bool32::default(),
21329 }
21330 }
21331}
21332
21333unsafe impl Send for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
21334unsafe impl Sync for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
21335
21336#[repr(C)]
21338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21339pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
21340 pub s_type: StructureType,
21341 pub next: *mut c_void,
21342 pub shader_replicated_composites: Bool32,
21343}
21344
21345impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
21346 #[inline]
21347 fn default() -> Self {
21348 Self {
21349 s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
21350 next: ptr::null_mut(),
21351 shader_replicated_composites: Bool32::default(),
21352 }
21353 }
21354}
21355
21356unsafe impl Send for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
21357unsafe impl Sync for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
21358
21359#[repr(C)]
21361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21362pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
21363 pub s_type: StructureType,
21364 pub next: *mut c_void,
21365 pub shader_sm_builtins: Bool32,
21366}
21367
21368impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
21369 #[inline]
21370 fn default() -> Self {
21371 Self {
21372 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
21373 next: ptr::null_mut(),
21374 shader_sm_builtins: Bool32::default(),
21375 }
21376 }
21377}
21378
21379unsafe impl Send for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
21380unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
21381
21382#[repr(C)]
21384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21385pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
21386 pub s_type: StructureType,
21387 pub next: *mut c_void,
21388 pub shader_sm_count: u32,
21389 pub shader_warps_per_sm: u32,
21390}
21391
21392impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
21393 #[inline]
21394 fn default() -> Self {
21395 Self {
21396 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
21397 next: ptr::null_mut(),
21398 shader_sm_count: u32::default(),
21399 shader_warps_per_sm: u32::default(),
21400 }
21401 }
21402}
21403
21404unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
21405unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
21406
21407#[repr(C)]
21409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21410pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
21411 pub s_type: StructureType,
21412 pub next: *mut c_void,
21413 pub shader_subgroup_extended_types: Bool32,
21414}
21415
21416impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
21417 #[inline]
21418 fn default() -> Self {
21419 Self {
21420 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
21421 next: ptr::null_mut(),
21422 shader_subgroup_extended_types: Bool32::default(),
21423 }
21424 }
21425}
21426
21427unsafe impl Send for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
21428unsafe impl Sync for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
21429
21430#[repr(C)]
21432#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21433pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
21434 pub s_type: StructureType,
21435 pub next: *mut c_void,
21436 pub shader_subgroup_rotate: Bool32,
21437 pub shader_subgroup_rotate_clustered: Bool32,
21438}
21439
21440impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
21441 #[inline]
21442 fn default() -> Self {
21443 Self {
21444 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
21445 next: ptr::null_mut(),
21446 shader_subgroup_rotate: Bool32::default(),
21447 shader_subgroup_rotate_clustered: Bool32::default(),
21448 }
21449 }
21450}
21451
21452unsafe impl Send for PhysicalDeviceShaderSubgroupRotateFeatures {}
21453unsafe impl Sync for PhysicalDeviceShaderSubgroupRotateFeatures {}
21454
21455#[repr(C)]
21457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21458pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21459 pub s_type: StructureType,
21460 pub next: *mut c_void,
21461 pub shader_subgroup_uniform_control_flow: Bool32,
21462}
21463
21464impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21465 #[inline]
21466 fn default() -> Self {
21467 Self {
21468 s_type:
21469 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
21470 next: ptr::null_mut(),
21471 shader_subgroup_uniform_control_flow: Bool32::default(),
21472 }
21473 }
21474}
21475
21476unsafe impl Send for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21477unsafe impl Sync for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21478
21479#[repr(C)]
21481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21482pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
21483 pub s_type: StructureType,
21484 pub next: *mut c_void,
21485 pub shader_terminate_invocation: Bool32,
21486}
21487
21488impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
21489 #[inline]
21490 fn default() -> Self {
21491 Self {
21492 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
21493 next: ptr::null_mut(),
21494 shader_terminate_invocation: Bool32::default(),
21495 }
21496 }
21497}
21498
21499unsafe impl Send for PhysicalDeviceShaderTerminateInvocationFeatures {}
21500unsafe impl Sync for PhysicalDeviceShaderTerminateInvocationFeatures {}
21501
21502#[repr(C)]
21504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21505pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
21506 pub s_type: StructureType,
21507 pub next: *mut c_void,
21508 pub shader_tile_image_color_read_access: Bool32,
21509 pub shader_tile_image_depth_read_access: Bool32,
21510 pub shader_tile_image_stencil_read_access: Bool32,
21511}
21512
21513impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
21514 #[inline]
21515 fn default() -> Self {
21516 Self {
21517 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
21518 next: ptr::null_mut(),
21519 shader_tile_image_color_read_access: Bool32::default(),
21520 shader_tile_image_depth_read_access: Bool32::default(),
21521 shader_tile_image_stencil_read_access: Bool32::default(),
21522 }
21523 }
21524}
21525
21526unsafe impl Send for PhysicalDeviceShaderTileImageFeaturesEXT {}
21527unsafe impl Sync for PhysicalDeviceShaderTileImageFeaturesEXT {}
21528
21529#[repr(C)]
21531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21532pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
21533 pub s_type: StructureType,
21534 pub next: *mut c_void,
21535 pub shader_tile_image_coherent_read_accelerated: Bool32,
21536 pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
21537 pub shader_tile_image_read_from_helper_invocation: Bool32,
21538}
21539
21540impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
21541 #[inline]
21542 fn default() -> Self {
21543 Self {
21544 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
21545 next: ptr::null_mut(),
21546 shader_tile_image_coherent_read_accelerated: Bool32::default(),
21547 shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
21548 shader_tile_image_read_from_helper_invocation: Bool32::default(),
21549 }
21550 }
21551}
21552
21553unsafe impl Send for PhysicalDeviceShaderTileImagePropertiesEXT {}
21554unsafe impl Sync for PhysicalDeviceShaderTileImagePropertiesEXT {}
21555
21556#[repr(C)]
21558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21559pub struct PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
21560 pub s_type: StructureType,
21561 pub next: *mut c_void,
21562 pub shader_uniform_buffer_unsized_array: Bool32,
21563}
21564
21565impl Default for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
21566 #[inline]
21567 fn default() -> Self {
21568 Self {
21569 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT,
21570 next: ptr::null_mut(),
21571 shader_uniform_buffer_unsized_array: Bool32::default(),
21572 }
21573 }
21574}
21575
21576unsafe impl Send for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
21577unsafe impl Sync for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
21578
21579#[repr(C)]
21581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21582pub struct PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21583 pub s_type: StructureType,
21584 pub next: *mut c_void,
21585 pub shader_untyped_pointers: Bool32,
21586}
21587
21588impl Default for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21589 #[inline]
21590 fn default() -> Self {
21591 Self {
21592 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
21593 next: ptr::null_mut(),
21594 shader_untyped_pointers: Bool32::default(),
21595 }
21596 }
21597}
21598
21599unsafe impl Send for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21600unsafe impl Sync for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21601
21602#[repr(C)]
21604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21605pub struct PhysicalDeviceShadingRateImageFeaturesNV {
21606 pub s_type: StructureType,
21607 pub next: *mut c_void,
21608 pub shading_rate_image: Bool32,
21609 pub shading_rate_coarse_sample_order: Bool32,
21610}
21611
21612impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
21613 #[inline]
21614 fn default() -> Self {
21615 Self {
21616 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
21617 next: ptr::null_mut(),
21618 shading_rate_image: Bool32::default(),
21619 shading_rate_coarse_sample_order: Bool32::default(),
21620 }
21621 }
21622}
21623
21624unsafe impl Send for PhysicalDeviceShadingRateImageFeaturesNV {}
21625unsafe impl Sync for PhysicalDeviceShadingRateImageFeaturesNV {}
21626
21627#[repr(C)]
21629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21630pub struct PhysicalDeviceShadingRateImagePropertiesNV {
21631 pub s_type: StructureType,
21632 pub next: *mut c_void,
21633 pub shading_rate_texel_size: Extent2D,
21634 pub shading_rate_palette_size: u32,
21635 pub shading_rate_max_coarse_samples: u32,
21636}
21637
21638impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
21639 #[inline]
21640 fn default() -> Self {
21641 Self {
21642 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
21643 next: ptr::null_mut(),
21644 shading_rate_texel_size: Extent2D::default(),
21645 shading_rate_palette_size: u32::default(),
21646 shading_rate_max_coarse_samples: u32::default(),
21647 }
21648 }
21649}
21650
21651unsafe impl Send for PhysicalDeviceShadingRateImagePropertiesNV {}
21652unsafe impl Sync for PhysicalDeviceShadingRateImagePropertiesNV {}
21653
21654#[repr(C)]
21656#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21657pub struct PhysicalDeviceSparseImageFormatInfo2 {
21658 pub s_type: StructureType,
21659 pub next: *const c_void,
21660 pub format: Format,
21661 pub type_: ImageType,
21662 pub samples: SampleCountFlags,
21663 pub usage: ImageUsageFlags,
21664 pub tiling: ImageTiling,
21665}
21666
21667impl Default for PhysicalDeviceSparseImageFormatInfo2 {
21668 #[inline]
21669 fn default() -> Self {
21670 Self {
21671 s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
21672 next: ptr::null(),
21673 format: Format::default(),
21674 type_: ImageType::default(),
21675 samples: SampleCountFlags::default(),
21676 usage: ImageUsageFlags::default(),
21677 tiling: ImageTiling::default(),
21678 }
21679 }
21680}
21681
21682unsafe impl Send for PhysicalDeviceSparseImageFormatInfo2 {}
21683unsafe impl Sync for PhysicalDeviceSparseImageFormatInfo2 {}
21684
21685#[repr(C)]
21687#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
21688pub struct PhysicalDeviceSparseProperties {
21689 pub residency_standard_2d_block_shape: Bool32,
21690 pub residency_standard_2d_multisample_block_shape: Bool32,
21691 pub residency_standard_3d_block_shape: Bool32,
21692 pub residency_aligned_mip_size: Bool32,
21693 pub residency_non_resident_strict: Bool32,
21694}
21695
21696#[repr(C)]
21698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21699pub struct PhysicalDeviceSubgroupProperties {
21700 pub s_type: StructureType,
21701 pub next: *mut c_void,
21702 pub subgroup_size: u32,
21703 pub supported_stages: ShaderStageFlags,
21704 pub supported_operations: SubgroupFeatureFlags,
21705 pub quad_operations_in_all_stages: Bool32,
21706}
21707
21708impl Default for PhysicalDeviceSubgroupProperties {
21709 #[inline]
21710 fn default() -> Self {
21711 Self {
21712 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
21713 next: ptr::null_mut(),
21714 subgroup_size: u32::default(),
21715 supported_stages: ShaderStageFlags::default(),
21716 supported_operations: SubgroupFeatureFlags::default(),
21717 quad_operations_in_all_stages: Bool32::default(),
21718 }
21719 }
21720}
21721
21722unsafe impl Send for PhysicalDeviceSubgroupProperties {}
21723unsafe impl Sync for PhysicalDeviceSubgroupProperties {}
21724
21725#[repr(C)]
21727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21728pub struct PhysicalDeviceSubgroupSizeControlFeatures {
21729 pub s_type: StructureType,
21730 pub next: *mut c_void,
21731 pub subgroup_size_control: Bool32,
21732 pub compute_full_subgroups: Bool32,
21733}
21734
21735impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
21736 #[inline]
21737 fn default() -> Self {
21738 Self {
21739 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
21740 next: ptr::null_mut(),
21741 subgroup_size_control: Bool32::default(),
21742 compute_full_subgroups: Bool32::default(),
21743 }
21744 }
21745}
21746
21747unsafe impl Send for PhysicalDeviceSubgroupSizeControlFeatures {}
21748unsafe impl Sync for PhysicalDeviceSubgroupSizeControlFeatures {}
21749
21750#[repr(C)]
21752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21753pub struct PhysicalDeviceSubgroupSizeControlProperties {
21754 pub s_type: StructureType,
21755 pub next: *mut c_void,
21756 pub min_subgroup_size: u32,
21757 pub max_subgroup_size: u32,
21758 pub max_compute_workgroup_subgroups: u32,
21759 pub required_subgroup_size_stages: ShaderStageFlags,
21760}
21761
21762impl Default for PhysicalDeviceSubgroupSizeControlProperties {
21763 #[inline]
21764 fn default() -> Self {
21765 Self {
21766 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
21767 next: ptr::null_mut(),
21768 min_subgroup_size: u32::default(),
21769 max_subgroup_size: u32::default(),
21770 max_compute_workgroup_subgroups: u32::default(),
21771 required_subgroup_size_stages: ShaderStageFlags::default(),
21772 }
21773 }
21774}
21775
21776unsafe impl Send for PhysicalDeviceSubgroupSizeControlProperties {}
21777unsafe impl Sync for PhysicalDeviceSubgroupSizeControlProperties {}
21778
21779#[repr(C)]
21781#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21782pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
21783 pub s_type: StructureType,
21784 pub next: *mut c_void,
21785 pub subpass_merge_feedback: Bool32,
21786}
21787
21788impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
21789 #[inline]
21790 fn default() -> Self {
21791 Self {
21792 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
21793 next: ptr::null_mut(),
21794 subpass_merge_feedback: Bool32::default(),
21795 }
21796 }
21797}
21798
21799unsafe impl Send for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
21800unsafe impl Sync for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
21801
21802#[repr(C)]
21804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21805pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
21806 pub s_type: StructureType,
21807 pub next: *mut c_void,
21808 pub subpass_shading: Bool32,
21809}
21810
21811impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
21812 #[inline]
21813 fn default() -> Self {
21814 Self {
21815 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
21816 next: ptr::null_mut(),
21817 subpass_shading: Bool32::default(),
21818 }
21819 }
21820}
21821
21822unsafe impl Send for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
21823unsafe impl Sync for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
21824
21825#[repr(C)]
21827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21828pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
21829 pub s_type: StructureType,
21830 pub next: *mut c_void,
21831 pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
21832}
21833
21834impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
21835 #[inline]
21836 fn default() -> Self {
21837 Self {
21838 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
21839 next: ptr::null_mut(),
21840 max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
21841 }
21842 }
21843}
21844
21845unsafe impl Send for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
21846unsafe impl Sync for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
21847
21848#[repr(C)]
21850#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21851pub struct PhysicalDeviceSurfaceInfo2KHR {
21852 pub s_type: StructureType,
21853 pub next: *const c_void,
21854 pub surface: SurfaceKHR,
21855}
21856
21857impl Default for PhysicalDeviceSurfaceInfo2KHR {
21858 #[inline]
21859 fn default() -> Self {
21860 Self {
21861 s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
21862 next: ptr::null(),
21863 surface: SurfaceKHR::default(),
21864 }
21865 }
21866}
21867
21868unsafe impl Send for PhysicalDeviceSurfaceInfo2KHR {}
21869unsafe impl Sync for PhysicalDeviceSurfaceInfo2KHR {}
21870
21871#[repr(C)]
21873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21874pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
21875 pub s_type: StructureType,
21876 pub next: *mut c_void,
21877 pub swapchain_maintenance1: Bool32,
21878}
21879
21880impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
21881 #[inline]
21882 fn default() -> Self {
21883 Self {
21884 s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
21885 next: ptr::null_mut(),
21886 swapchain_maintenance1: Bool32::default(),
21887 }
21888 }
21889}
21890
21891unsafe impl Send for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
21892unsafe impl Sync for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
21893
21894#[repr(C)]
21896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21897pub struct PhysicalDeviceSynchronization2Features {
21898 pub s_type: StructureType,
21899 pub next: *mut c_void,
21900 pub synchronization2: Bool32,
21901}
21902
21903impl Default for PhysicalDeviceSynchronization2Features {
21904 #[inline]
21905 fn default() -> Self {
21906 Self {
21907 s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
21908 next: ptr::null_mut(),
21909 synchronization2: Bool32::default(),
21910 }
21911 }
21912}
21913
21914unsafe impl Send for PhysicalDeviceSynchronization2Features {}
21915unsafe impl Sync for PhysicalDeviceSynchronization2Features {}
21916
21917#[repr(C)]
21919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21920pub struct PhysicalDeviceTensorFeaturesARM {
21921 pub s_type: StructureType,
21922 pub next: *mut c_void,
21923 pub tensor_non_packed: Bool32,
21924 pub shader_tensor_access: Bool32,
21925 pub shader_storage_tensor_array_dynamic_indexing: Bool32,
21926 pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
21927 pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
21928 pub tensors: Bool32,
21929}
21930
21931impl Default for PhysicalDeviceTensorFeaturesARM {
21932 #[inline]
21933 fn default() -> Self {
21934 Self {
21935 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
21936 next: ptr::null_mut(),
21937 tensor_non_packed: Bool32::default(),
21938 shader_tensor_access: Bool32::default(),
21939 shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
21940 shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
21941 descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
21942 tensors: Bool32::default(),
21943 }
21944 }
21945}
21946
21947unsafe impl Send for PhysicalDeviceTensorFeaturesARM {}
21948unsafe impl Sync for PhysicalDeviceTensorFeaturesARM {}
21949
21950#[repr(C)]
21952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21953pub struct PhysicalDeviceTensorPropertiesARM {
21954 pub s_type: StructureType,
21955 pub next: *mut c_void,
21956 pub max_tensor_dimension_count: u32,
21957 pub max_tensor_elements: u64,
21958 pub max_per_dimension_tensor_elements: u64,
21959 pub max_tensor_stride: i64,
21960 pub max_tensor_size: u64,
21961 pub max_tensor_shader_access_array_length: u32,
21962 pub max_tensor_shader_access_size: u32,
21963 pub max_descriptor_set_storage_tensors: u32,
21964 pub max_per_stage_descriptor_set_storage_tensors: u32,
21965 pub max_descriptor_set_update_after_bind_storage_tensors: u32,
21966 pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
21967 pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
21968 pub shader_tensor_supported_stages: ShaderStageFlags,
21969}
21970
21971impl Default for PhysicalDeviceTensorPropertiesARM {
21972 #[inline]
21973 fn default() -> Self {
21974 Self {
21975 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
21976 next: ptr::null_mut(),
21977 max_tensor_dimension_count: u32::default(),
21978 max_tensor_elements: u64::default(),
21979 max_per_dimension_tensor_elements: u64::default(),
21980 max_tensor_stride: i64::default(),
21981 max_tensor_size: u64::default(),
21982 max_tensor_shader_access_array_length: u32::default(),
21983 max_tensor_shader_access_size: u32::default(),
21984 max_descriptor_set_storage_tensors: u32::default(),
21985 max_per_stage_descriptor_set_storage_tensors: u32::default(),
21986 max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
21987 max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
21988 shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
21989 shader_tensor_supported_stages: ShaderStageFlags::default(),
21990 }
21991 }
21992}
21993
21994unsafe impl Send for PhysicalDeviceTensorPropertiesARM {}
21995unsafe impl Sync for PhysicalDeviceTensorPropertiesARM {}
21996
21997#[repr(C)]
21999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22000pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22001 pub s_type: StructureType,
22002 pub next: *mut c_void,
22003 pub texel_buffer_alignment: Bool32,
22004}
22005
22006impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22007 #[inline]
22008 fn default() -> Self {
22009 Self {
22010 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
22011 next: ptr::null_mut(),
22012 texel_buffer_alignment: Bool32::default(),
22013 }
22014 }
22015}
22016
22017unsafe impl Send for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22018unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22019
22020#[repr(C)]
22022#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22023pub struct PhysicalDeviceTexelBufferAlignmentProperties {
22024 pub s_type: StructureType,
22025 pub next: *mut c_void,
22026 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
22027 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
22028 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
22029 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
22030}
22031
22032impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
22033 #[inline]
22034 fn default() -> Self {
22035 Self {
22036 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
22037 next: ptr::null_mut(),
22038 storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
22039 storage_texel_buffer_offset_single_texel_alignment: Bool32::default(),
22040 uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
22041 uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(),
22042 }
22043 }
22044}
22045
22046unsafe impl Send for PhysicalDeviceTexelBufferAlignmentProperties {}
22047unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentProperties {}
22048
22049#[repr(C)]
22051#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22052pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
22053 pub s_type: StructureType,
22054 pub next: *mut c_void,
22055 pub texture_compression_astc_hdr: Bool32,
22056}
22057
22058impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
22059 #[inline]
22060 fn default() -> Self {
22061 Self {
22062 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
22063 next: ptr::null_mut(),
22064 texture_compression_astc_hdr: Bool32::default(),
22065 }
22066 }
22067}
22068
22069unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
22070unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
22071
22072#[repr(C)]
22074#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22075pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
22076 pub s_type: StructureType,
22077 pub next: *mut c_void,
22078 pub tile_memory_heap: Bool32,
22079}
22080
22081impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
22082 #[inline]
22083 fn default() -> Self {
22084 Self {
22085 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
22086 next: ptr::null_mut(),
22087 tile_memory_heap: Bool32::default(),
22088 }
22089 }
22090}
22091
22092unsafe impl Send for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
22093unsafe impl Sync for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
22094
22095#[repr(C)]
22097#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22098pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
22099 pub s_type: StructureType,
22100 pub next: *mut c_void,
22101 pub queue_submit_boundary: Bool32,
22102 pub tile_buffer_transfers: Bool32,
22103}
22104
22105impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
22106 #[inline]
22107 fn default() -> Self {
22108 Self {
22109 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
22110 next: ptr::null_mut(),
22111 queue_submit_boundary: Bool32::default(),
22112 tile_buffer_transfers: Bool32::default(),
22113 }
22114 }
22115}
22116
22117unsafe impl Send for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
22118unsafe impl Sync for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
22119
22120#[repr(C)]
22122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22123pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
22124 pub s_type: StructureType,
22125 pub next: *mut c_void,
22126 pub tile_properties: Bool32,
22127}
22128
22129impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
22130 #[inline]
22131 fn default() -> Self {
22132 Self {
22133 s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
22134 next: ptr::null_mut(),
22135 tile_properties: Bool32::default(),
22136 }
22137 }
22138}
22139
22140unsafe impl Send for PhysicalDeviceTilePropertiesFeaturesQCOM {}
22141unsafe impl Sync for PhysicalDeviceTilePropertiesFeaturesQCOM {}
22142
22143#[repr(C)]
22145#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22146pub struct PhysicalDeviceTileShadingFeaturesQCOM {
22147 pub s_type: StructureType,
22148 pub next: *mut c_void,
22149 pub tile_shading: Bool32,
22150 pub tile_shading_fragment_stage: Bool32,
22151 pub tile_shading_color_attachments: Bool32,
22152 pub tile_shading_depth_attachments: Bool32,
22153 pub tile_shading_stencil_attachments: Bool32,
22154 pub tile_shading_input_attachments: Bool32,
22155 pub tile_shading_sampled_attachments: Bool32,
22156 pub tile_shading_per_tile_draw: Bool32,
22157 pub tile_shading_per_tile_dispatch: Bool32,
22158 pub tile_shading_dispatch_tile: Bool32,
22159 pub tile_shading_apron: Bool32,
22160 pub tile_shading_anisotropic_apron: Bool32,
22161 pub tile_shading_atomic_ops: Bool32,
22162 pub tile_shading_image_processing: Bool32,
22163}
22164
22165impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
22166 #[inline]
22167 fn default() -> Self {
22168 Self {
22169 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
22170 next: ptr::null_mut(),
22171 tile_shading: Bool32::default(),
22172 tile_shading_fragment_stage: Bool32::default(),
22173 tile_shading_color_attachments: Bool32::default(),
22174 tile_shading_depth_attachments: Bool32::default(),
22175 tile_shading_stencil_attachments: Bool32::default(),
22176 tile_shading_input_attachments: Bool32::default(),
22177 tile_shading_sampled_attachments: Bool32::default(),
22178 tile_shading_per_tile_draw: Bool32::default(),
22179 tile_shading_per_tile_dispatch: Bool32::default(),
22180 tile_shading_dispatch_tile: Bool32::default(),
22181 tile_shading_apron: Bool32::default(),
22182 tile_shading_anisotropic_apron: Bool32::default(),
22183 tile_shading_atomic_ops: Bool32::default(),
22184 tile_shading_image_processing: Bool32::default(),
22185 }
22186 }
22187}
22188
22189unsafe impl Send for PhysicalDeviceTileShadingFeaturesQCOM {}
22190unsafe impl Sync for PhysicalDeviceTileShadingFeaturesQCOM {}
22191
22192#[repr(C)]
22194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22195pub struct PhysicalDeviceTileShadingPropertiesQCOM {
22196 pub s_type: StructureType,
22197 pub next: *mut c_void,
22198 pub max_apron_size: u32,
22199 pub prefer_non_coherent: Bool32,
22200 pub tile_granularity: Extent2D,
22201 pub max_tile_shading_rate: Extent2D,
22202}
22203
22204impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
22205 #[inline]
22206 fn default() -> Self {
22207 Self {
22208 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
22209 next: ptr::null_mut(),
22210 max_apron_size: u32::default(),
22211 prefer_non_coherent: Bool32::default(),
22212 tile_granularity: Extent2D::default(),
22213 max_tile_shading_rate: Extent2D::default(),
22214 }
22215 }
22216}
22217
22218unsafe impl Send for PhysicalDeviceTileShadingPropertiesQCOM {}
22219unsafe impl Sync for PhysicalDeviceTileShadingPropertiesQCOM {}
22220
22221#[repr(C)]
22223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22224pub struct PhysicalDeviceTimelineSemaphoreFeatures {
22225 pub s_type: StructureType,
22226 pub next: *mut c_void,
22227 pub timeline_semaphore: Bool32,
22228}
22229
22230impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
22231 #[inline]
22232 fn default() -> Self {
22233 Self {
22234 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
22235 next: ptr::null_mut(),
22236 timeline_semaphore: Bool32::default(),
22237 }
22238 }
22239}
22240
22241unsafe impl Send for PhysicalDeviceTimelineSemaphoreFeatures {}
22242unsafe impl Sync for PhysicalDeviceTimelineSemaphoreFeatures {}
22243
22244#[repr(C)]
22246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22247pub struct PhysicalDeviceTimelineSemaphoreProperties {
22248 pub s_type: StructureType,
22249 pub next: *mut c_void,
22250 pub max_timeline_semaphore_value_difference: u64,
22251}
22252
22253impl Default for PhysicalDeviceTimelineSemaphoreProperties {
22254 #[inline]
22255 fn default() -> Self {
22256 Self {
22257 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
22258 next: ptr::null_mut(),
22259 max_timeline_semaphore_value_difference: u64::default(),
22260 }
22261 }
22262}
22263
22264unsafe impl Send for PhysicalDeviceTimelineSemaphoreProperties {}
22265unsafe impl Sync for PhysicalDeviceTimelineSemaphoreProperties {}
22266
22267#[repr(C)]
22269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22270pub struct PhysicalDeviceToolProperties {
22271 pub s_type: StructureType,
22272 pub next: *mut c_void,
22273 pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
22274 pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
22275 pub purposes: ToolPurposeFlags,
22276 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
22277 pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
22278}
22279
22280impl Default for PhysicalDeviceToolProperties {
22281 #[inline]
22282 fn default() -> Self {
22283 Self {
22284 s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
22285 next: ptr::null_mut(),
22286 name: StringArray::default(),
22287 version: StringArray::default(),
22288 purposes: ToolPurposeFlags::default(),
22289 description: StringArray::default(),
22290 layer: StringArray::default(),
22291 }
22292 }
22293}
22294
22295unsafe impl Send for PhysicalDeviceToolProperties {}
22296unsafe impl Sync for PhysicalDeviceToolProperties {}
22297
22298#[repr(C)]
22300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22301pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
22302 pub s_type: StructureType,
22303 pub next: *mut c_void,
22304 pub transform_feedback: Bool32,
22305 pub geometry_streams: Bool32,
22306}
22307
22308impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
22309 #[inline]
22310 fn default() -> Self {
22311 Self {
22312 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
22313 next: ptr::null_mut(),
22314 transform_feedback: Bool32::default(),
22315 geometry_streams: Bool32::default(),
22316 }
22317 }
22318}
22319
22320unsafe impl Send for PhysicalDeviceTransformFeedbackFeaturesEXT {}
22321unsafe impl Sync for PhysicalDeviceTransformFeedbackFeaturesEXT {}
22322
22323#[repr(C)]
22325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22326pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
22327 pub s_type: StructureType,
22328 pub next: *mut c_void,
22329 pub max_transform_feedback_streams: u32,
22330 pub max_transform_feedback_buffers: u32,
22331 pub max_transform_feedback_buffer_size: DeviceSize,
22332 pub max_transform_feedback_stream_data_size: u32,
22333 pub max_transform_feedback_buffer_data_size: u32,
22334 pub max_transform_feedback_buffer_data_stride: u32,
22335 pub transform_feedback_queries: Bool32,
22336 pub transform_feedback_streams_lines_triangles: Bool32,
22337 pub transform_feedback_rasterization_stream_select: Bool32,
22338 pub transform_feedback_draw: Bool32,
22339}
22340
22341impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
22342 #[inline]
22343 fn default() -> Self {
22344 Self {
22345 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
22346 next: ptr::null_mut(),
22347 max_transform_feedback_streams: u32::default(),
22348 max_transform_feedback_buffers: u32::default(),
22349 max_transform_feedback_buffer_size: DeviceSize::default(),
22350 max_transform_feedback_stream_data_size: u32::default(),
22351 max_transform_feedback_buffer_data_size: u32::default(),
22352 max_transform_feedback_buffer_data_stride: u32::default(),
22353 transform_feedback_queries: Bool32::default(),
22354 transform_feedback_streams_lines_triangles: Bool32::default(),
22355 transform_feedback_rasterization_stream_select: Bool32::default(),
22356 transform_feedback_draw: Bool32::default(),
22357 }
22358 }
22359}
22360
22361unsafe impl Send for PhysicalDeviceTransformFeedbackPropertiesEXT {}
22362unsafe impl Sync for PhysicalDeviceTransformFeedbackPropertiesEXT {}
22363
22364#[repr(C)]
22366#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22367pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
22368 pub s_type: StructureType,
22369 pub next: *mut c_void,
22370 pub unified_image_layouts: Bool32,
22371 pub unified_image_layouts_video: Bool32,
22372}
22373
22374impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
22375 #[inline]
22376 fn default() -> Self {
22377 Self {
22378 s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
22379 next: ptr::null_mut(),
22380 unified_image_layouts: Bool32::default(),
22381 unified_image_layouts_video: Bool32::default(),
22382 }
22383 }
22384}
22385
22386unsafe impl Send for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
22387unsafe impl Sync for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
22388
22389#[repr(C)]
22391#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22392pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
22393 pub s_type: StructureType,
22394 pub next: *mut c_void,
22395 pub uniform_buffer_standard_layout: Bool32,
22396}
22397
22398impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
22399 #[inline]
22400 fn default() -> Self {
22401 Self {
22402 s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
22403 next: ptr::null_mut(),
22404 uniform_buffer_standard_layout: Bool32::default(),
22405 }
22406 }
22407}
22408
22409unsafe impl Send for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
22410unsafe impl Sync for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
22411
22412#[repr(C)]
22414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22415pub struct PhysicalDeviceVariablePointersFeatures {
22416 pub s_type: StructureType,
22417 pub next: *mut c_void,
22418 pub variable_pointers_storage_buffer: Bool32,
22419 pub variable_pointers: Bool32,
22420}
22421
22422impl Default for PhysicalDeviceVariablePointersFeatures {
22423 #[inline]
22424 fn default() -> Self {
22425 Self {
22426 s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
22427 next: ptr::null_mut(),
22428 variable_pointers_storage_buffer: Bool32::default(),
22429 variable_pointers: Bool32::default(),
22430 }
22431 }
22432}
22433
22434unsafe impl Send for PhysicalDeviceVariablePointersFeatures {}
22435unsafe impl Sync for PhysicalDeviceVariablePointersFeatures {}
22436
22437#[repr(C)]
22439#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22440pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
22441 pub s_type: StructureType,
22442 pub next: *mut c_void,
22443 pub vertex_attribute_instance_rate_divisor: Bool32,
22444 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
22445}
22446
22447impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
22448 #[inline]
22449 fn default() -> Self {
22450 Self {
22451 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
22452 next: ptr::null_mut(),
22453 vertex_attribute_instance_rate_divisor: Bool32::default(),
22454 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
22455 }
22456 }
22457}
22458
22459unsafe impl Send for PhysicalDeviceVertexAttributeDivisorFeatures {}
22460unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorFeatures {}
22461
22462#[repr(C)]
22464#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22465pub struct PhysicalDeviceVertexAttributeDivisorProperties {
22466 pub s_type: StructureType,
22467 pub next: *mut c_void,
22468 pub max_vertex_attrib_divisor: u32,
22469 pub supports_non_zero_first_instance: Bool32,
22470}
22471
22472impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
22473 #[inline]
22474 fn default() -> Self {
22475 Self {
22476 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
22477 next: ptr::null_mut(),
22478 max_vertex_attrib_divisor: u32::default(),
22479 supports_non_zero_first_instance: Bool32::default(),
22480 }
22481 }
22482}
22483
22484unsafe impl Send for PhysicalDeviceVertexAttributeDivisorProperties {}
22485unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorProperties {}
22486
22487#[repr(C)]
22489#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22490pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22491 pub s_type: StructureType,
22492 pub next: *mut c_void,
22493 pub max_vertex_attrib_divisor: u32,
22494}
22495
22496impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22497 #[inline]
22498 fn default() -> Self {
22499 Self {
22500 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
22501 next: ptr::null_mut(),
22502 max_vertex_attrib_divisor: u32::default(),
22503 }
22504 }
22505}
22506
22507unsafe impl Send for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22508unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22509
22510#[repr(C)]
22512#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22513pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22514 pub s_type: StructureType,
22515 pub next: *mut c_void,
22516 pub vertex_attribute_robustness: Bool32,
22517}
22518
22519impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22520 #[inline]
22521 fn default() -> Self {
22522 Self {
22523 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
22524 next: ptr::null_mut(),
22525 vertex_attribute_robustness: Bool32::default(),
22526 }
22527 }
22528}
22529
22530unsafe impl Send for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22531unsafe impl Sync for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22532
22533#[repr(C)]
22535#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22536pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22537 pub s_type: StructureType,
22538 pub next: *mut c_void,
22539 pub vertex_input_dynamic_state: Bool32,
22540}
22541
22542impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22543 #[inline]
22544 fn default() -> Self {
22545 Self {
22546 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
22547 next: ptr::null_mut(),
22548 vertex_input_dynamic_state: Bool32::default(),
22549 }
22550 }
22551}
22552
22553unsafe impl Send for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22554unsafe impl Sync for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22555
22556#[repr(C)]
22558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22559pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22560 pub s_type: StructureType,
22561 pub next: *mut c_void,
22562 pub video_decode_vp9: Bool32,
22563}
22564
22565impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22566 #[inline]
22567 fn default() -> Self {
22568 Self {
22569 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
22570 next: ptr::null_mut(),
22571 video_decode_vp9: Bool32::default(),
22572 }
22573 }
22574}
22575
22576unsafe impl Send for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22577unsafe impl Sync for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22578
22579#[repr(C)]
22581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22582pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22583 pub s_type: StructureType,
22584 pub next: *mut c_void,
22585 pub video_encode_av1: Bool32,
22586}
22587
22588impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22589 #[inline]
22590 fn default() -> Self {
22591 Self {
22592 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
22593 next: ptr::null_mut(),
22594 video_encode_av1: Bool32::default(),
22595 }
22596 }
22597}
22598
22599unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22600unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22601
22602#[repr(C)]
22604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22605pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22606 pub s_type: StructureType,
22607 pub next: *mut c_void,
22608 pub video_encode_intra_refresh: Bool32,
22609}
22610
22611impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22612 #[inline]
22613 fn default() -> Self {
22614 Self {
22615 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
22616 next: ptr::null_mut(),
22617 video_encode_intra_refresh: Bool32::default(),
22618 }
22619 }
22620}
22621
22622unsafe impl Send for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22623unsafe impl Sync for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22624
22625#[repr(C)]
22627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22628pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22629 pub s_type: StructureType,
22630 pub next: *const c_void,
22631 pub video_profile: *const VideoProfileInfoKHR,
22632 pub quality_level: u32,
22633}
22634
22635impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22636 #[inline]
22637 fn default() -> Self {
22638 Self {
22639 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
22640 next: ptr::null(),
22641 video_profile: ptr::null(),
22642 quality_level: u32::default(),
22643 }
22644 }
22645}
22646
22647unsafe impl Send for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
22648unsafe impl Sync for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
22649
22650#[repr(C)]
22652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22653pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
22654 pub s_type: StructureType,
22655 pub next: *mut c_void,
22656 pub video_encode_quantization_map: Bool32,
22657}
22658
22659impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
22660 #[inline]
22661 fn default() -> Self {
22662 Self {
22663 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
22664 next: ptr::null_mut(),
22665 video_encode_quantization_map: Bool32::default(),
22666 }
22667 }
22668}
22669
22670unsafe impl Send for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
22671unsafe impl Sync for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
22672
22673#[repr(C)]
22675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22676pub struct PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
22677 pub s_type: StructureType,
22678 pub next: *mut c_void,
22679 pub video_encode_rgb_conversion: Bool32,
22680}
22681
22682impl Default for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
22683 #[inline]
22684 fn default() -> Self {
22685 Self {
22686 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
22687 next: ptr::null_mut(),
22688 video_encode_rgb_conversion: Bool32::default(),
22689 }
22690 }
22691}
22692
22693unsafe impl Send for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
22694unsafe impl Sync for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
22695
22696#[repr(C)]
22698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22699pub struct PhysicalDeviceVideoFormatInfoKHR {
22700 pub s_type: StructureType,
22701 pub next: *const c_void,
22702 pub image_usage: ImageUsageFlags,
22703}
22704
22705impl Default for PhysicalDeviceVideoFormatInfoKHR {
22706 #[inline]
22707 fn default() -> Self {
22708 Self {
22709 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
22710 next: ptr::null(),
22711 image_usage: ImageUsageFlags::default(),
22712 }
22713 }
22714}
22715
22716unsafe impl Send for PhysicalDeviceVideoFormatInfoKHR {}
22717unsafe impl Sync for PhysicalDeviceVideoFormatInfoKHR {}
22718
22719#[repr(C)]
22721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22722pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
22723 pub s_type: StructureType,
22724 pub next: *mut c_void,
22725 pub video_maintenance1: Bool32,
22726}
22727
22728impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
22729 #[inline]
22730 fn default() -> Self {
22731 Self {
22732 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
22733 next: ptr::null_mut(),
22734 video_maintenance1: Bool32::default(),
22735 }
22736 }
22737}
22738
22739unsafe impl Send for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
22740unsafe impl Sync for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
22741
22742#[repr(C)]
22744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22745pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
22746 pub s_type: StructureType,
22747 pub next: *mut c_void,
22748 pub video_maintenance2: Bool32,
22749}
22750
22751impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
22752 #[inline]
22753 fn default() -> Self {
22754 Self {
22755 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
22756 next: ptr::null_mut(),
22757 video_maintenance2: Bool32::default(),
22758 }
22759 }
22760}
22761
22762unsafe impl Send for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
22763unsafe impl Sync for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
22764
22765#[repr(C)]
22767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22768pub struct PhysicalDeviceVulkan11Features {
22769 pub s_type: StructureType,
22770 pub next: *mut c_void,
22771 pub storage_buffer_16bit_access: Bool32,
22772 pub uniform_and_storage_buffer_16bit_access: Bool32,
22773 pub storage_push_constant16: Bool32,
22774 pub storage_input_output16: Bool32,
22775 pub multiview: Bool32,
22776 pub multiview_geometry_shader: Bool32,
22777 pub multiview_tessellation_shader: Bool32,
22778 pub variable_pointers_storage_buffer: Bool32,
22779 pub variable_pointers: Bool32,
22780 pub protected_memory: Bool32,
22781 pub sampler_ycbcr_conversion: Bool32,
22782 pub shader_draw_parameters: Bool32,
22783}
22784
22785impl Default for PhysicalDeviceVulkan11Features {
22786 #[inline]
22787 fn default() -> Self {
22788 Self {
22789 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
22790 next: ptr::null_mut(),
22791 storage_buffer_16bit_access: Bool32::default(),
22792 uniform_and_storage_buffer_16bit_access: Bool32::default(),
22793 storage_push_constant16: Bool32::default(),
22794 storage_input_output16: Bool32::default(),
22795 multiview: Bool32::default(),
22796 multiview_geometry_shader: Bool32::default(),
22797 multiview_tessellation_shader: Bool32::default(),
22798 variable_pointers_storage_buffer: Bool32::default(),
22799 variable_pointers: Bool32::default(),
22800 protected_memory: Bool32::default(),
22801 sampler_ycbcr_conversion: Bool32::default(),
22802 shader_draw_parameters: Bool32::default(),
22803 }
22804 }
22805}
22806
22807unsafe impl Send for PhysicalDeviceVulkan11Features {}
22808unsafe impl Sync for PhysicalDeviceVulkan11Features {}
22809
22810#[repr(C)]
22812#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22813pub struct PhysicalDeviceVulkan11Properties {
22814 pub s_type: StructureType,
22815 pub next: *mut c_void,
22816 pub device_uuid: ByteArray<UUID_SIZE>,
22817 pub driver_uuid: ByteArray<UUID_SIZE>,
22818 pub device_luid: ByteArray<LUID_SIZE>,
22819 pub device_node_mask: u32,
22820 pub device_luid_valid: Bool32,
22821 pub subgroup_size: u32,
22822 pub subgroup_supported_stages: ShaderStageFlags,
22823 pub subgroup_supported_operations: SubgroupFeatureFlags,
22824 pub subgroup_quad_operations_in_all_stages: Bool32,
22825 pub point_clipping_behavior: PointClippingBehavior,
22826 pub max_multiview_view_count: u32,
22827 pub max_multiview_instance_index: u32,
22828 pub protected_no_fault: Bool32,
22829 pub max_per_set_descriptors: u32,
22830 pub max_memory_allocation_size: DeviceSize,
22831}
22832
22833impl Default for PhysicalDeviceVulkan11Properties {
22834 #[inline]
22835 fn default() -> Self {
22836 Self {
22837 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
22838 next: ptr::null_mut(),
22839 device_uuid: ByteArray::default(),
22840 driver_uuid: ByteArray::default(),
22841 device_luid: ByteArray::default(),
22842 device_node_mask: u32::default(),
22843 device_luid_valid: Bool32::default(),
22844 subgroup_size: u32::default(),
22845 subgroup_supported_stages: ShaderStageFlags::default(),
22846 subgroup_supported_operations: SubgroupFeatureFlags::default(),
22847 subgroup_quad_operations_in_all_stages: Bool32::default(),
22848 point_clipping_behavior: PointClippingBehavior::default(),
22849 max_multiview_view_count: u32::default(),
22850 max_multiview_instance_index: u32::default(),
22851 protected_no_fault: Bool32::default(),
22852 max_per_set_descriptors: u32::default(),
22853 max_memory_allocation_size: DeviceSize::default(),
22854 }
22855 }
22856}
22857
22858unsafe impl Send for PhysicalDeviceVulkan11Properties {}
22859unsafe impl Sync for PhysicalDeviceVulkan11Properties {}
22860
22861#[repr(C)]
22863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22864pub struct PhysicalDeviceVulkan12Features {
22865 pub s_type: StructureType,
22866 pub next: *mut c_void,
22867 pub sampler_mirror_clamp_to_edge: Bool32,
22868 pub draw_indirect_count: Bool32,
22869 pub storage_buffer_8bit_access: Bool32,
22870 pub uniform_and_storage_buffer_8bit_access: Bool32,
22871 pub storage_push_constant8: Bool32,
22872 pub shader_buffer_int64_atomics: Bool32,
22873 pub shader_shared_int64_atomics: Bool32,
22874 pub shader_float16: Bool32,
22875 pub shader_int8: Bool32,
22876 pub descriptor_indexing: Bool32,
22877 pub shader_input_attachment_array_dynamic_indexing: Bool32,
22878 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
22879 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
22880 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
22881 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
22882 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
22883 pub shader_storage_image_array_non_uniform_indexing: Bool32,
22884 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
22885 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
22886 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
22887 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
22888 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
22889 pub descriptor_binding_storage_image_update_after_bind: Bool32,
22890 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
22891 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
22892 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
22893 pub descriptor_binding_update_unused_while_pending: Bool32,
22894 pub descriptor_binding_partially_bound: Bool32,
22895 pub descriptor_binding_variable_descriptor_count: Bool32,
22896 pub runtime_descriptor_array: Bool32,
22897 pub sampler_filter_minmax: Bool32,
22898 pub scalar_block_layout: Bool32,
22899 pub imageless_framebuffer: Bool32,
22900 pub uniform_buffer_standard_layout: Bool32,
22901 pub shader_subgroup_extended_types: Bool32,
22902 pub separate_depth_stencil_layouts: Bool32,
22903 pub host_query_reset: Bool32,
22904 pub timeline_semaphore: Bool32,
22905 pub buffer_device_address: Bool32,
22906 pub buffer_device_address_capture_replay: Bool32,
22907 pub buffer_device_address_multi_device: Bool32,
22908 pub vulkan_memory_model: Bool32,
22909 pub vulkan_memory_model_device_scope: Bool32,
22910 pub vulkan_memory_model_availability_visibility_chains: Bool32,
22911 pub shader_output_viewport_index: Bool32,
22912 pub shader_output_layer: Bool32,
22913 pub subgroup_broadcast_dynamic_id: Bool32,
22914}
22915
22916impl Default for PhysicalDeviceVulkan12Features {
22917 #[inline]
22918 fn default() -> Self {
22919 Self {
22920 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
22921 next: ptr::null_mut(),
22922 sampler_mirror_clamp_to_edge: Bool32::default(),
22923 draw_indirect_count: Bool32::default(),
22924 storage_buffer_8bit_access: Bool32::default(),
22925 uniform_and_storage_buffer_8bit_access: Bool32::default(),
22926 storage_push_constant8: Bool32::default(),
22927 shader_buffer_int64_atomics: Bool32::default(),
22928 shader_shared_int64_atomics: Bool32::default(),
22929 shader_float16: Bool32::default(),
22930 shader_int8: Bool32::default(),
22931 descriptor_indexing: Bool32::default(),
22932 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
22933 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
22934 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
22935 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
22936 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
22937 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
22938 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
22939 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
22940 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
22941 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
22942 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
22943 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
22944 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
22945 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
22946 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
22947 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
22948 descriptor_binding_update_unused_while_pending: Bool32::default(),
22949 descriptor_binding_partially_bound: Bool32::default(),
22950 descriptor_binding_variable_descriptor_count: Bool32::default(),
22951 runtime_descriptor_array: Bool32::default(),
22952 sampler_filter_minmax: Bool32::default(),
22953 scalar_block_layout: Bool32::default(),
22954 imageless_framebuffer: Bool32::default(),
22955 uniform_buffer_standard_layout: Bool32::default(),
22956 shader_subgroup_extended_types: Bool32::default(),
22957 separate_depth_stencil_layouts: Bool32::default(),
22958 host_query_reset: Bool32::default(),
22959 timeline_semaphore: Bool32::default(),
22960 buffer_device_address: Bool32::default(),
22961 buffer_device_address_capture_replay: Bool32::default(),
22962 buffer_device_address_multi_device: Bool32::default(),
22963 vulkan_memory_model: Bool32::default(),
22964 vulkan_memory_model_device_scope: Bool32::default(),
22965 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
22966 shader_output_viewport_index: Bool32::default(),
22967 shader_output_layer: Bool32::default(),
22968 subgroup_broadcast_dynamic_id: Bool32::default(),
22969 }
22970 }
22971}
22972
22973unsafe impl Send for PhysicalDeviceVulkan12Features {}
22974unsafe impl Sync for PhysicalDeviceVulkan12Features {}
22975
22976#[repr(C)]
22978#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22979pub struct PhysicalDeviceVulkan12Properties {
22980 pub s_type: StructureType,
22981 pub next: *mut c_void,
22982 pub driver_id: DriverId,
22983 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
22984 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
22985 pub conformance_version: ConformanceVersion,
22986 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
22987 pub rounding_mode_independence: ShaderFloatControlsIndependence,
22988 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
22989 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
22990 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
22991 pub shader_denorm_preserve_float16: Bool32,
22992 pub shader_denorm_preserve_float32: Bool32,
22993 pub shader_denorm_preserve_float64: Bool32,
22994 pub shader_denorm_flush_to_zero_float16: Bool32,
22995 pub shader_denorm_flush_to_zero_float32: Bool32,
22996 pub shader_denorm_flush_to_zero_float64: Bool32,
22997 pub shader_rounding_mode_rte_float16: Bool32,
22998 pub shader_rounding_mode_rte_float32: Bool32,
22999 pub shader_rounding_mode_rte_float64: Bool32,
23000 pub shader_rounding_mode_rtz_float16: Bool32,
23001 pub shader_rounding_mode_rtz_float32: Bool32,
23002 pub shader_rounding_mode_rtz_float64: Bool32,
23003 pub max_update_after_bind_descriptors_in_all_pools: u32,
23004 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
23005 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
23006 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
23007 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
23008 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
23009 pub robust_buffer_access_update_after_bind: Bool32,
23010 pub quad_divergent_implicit_lod: Bool32,
23011 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
23012 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
23013 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
23014 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
23015 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
23016 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
23017 pub max_per_stage_update_after_bind_resources: u32,
23018 pub max_descriptor_set_update_after_bind_samplers: u32,
23019 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
23020 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
23021 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
23022 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
23023 pub max_descriptor_set_update_after_bind_sampled_images: u32,
23024 pub max_descriptor_set_update_after_bind_storage_images: u32,
23025 pub max_descriptor_set_update_after_bind_input_attachments: u32,
23026 pub supported_depth_resolve_modes: ResolveModeFlags,
23027 pub supported_stencil_resolve_modes: ResolveModeFlags,
23028 pub independent_resolve_none: Bool32,
23029 pub independent_resolve: Bool32,
23030 pub filter_minmax_single_component_formats: Bool32,
23031 pub filter_minmax_image_component_mapping: Bool32,
23032 pub max_timeline_semaphore_value_difference: u64,
23033 pub framebuffer_integer_color_sample_counts: SampleCountFlags,
23034}
23035
23036impl Default for PhysicalDeviceVulkan12Properties {
23037 #[inline]
23038 fn default() -> Self {
23039 Self {
23040 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
23041 next: ptr::null_mut(),
23042 driver_id: DriverId::default(),
23043 driver_name: StringArray::default(),
23044 driver_info: StringArray::default(),
23045 conformance_version: ConformanceVersion::default(),
23046 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
23047 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
23048 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
23049 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
23050 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
23051 shader_denorm_preserve_float16: Bool32::default(),
23052 shader_denorm_preserve_float32: Bool32::default(),
23053 shader_denorm_preserve_float64: Bool32::default(),
23054 shader_denorm_flush_to_zero_float16: Bool32::default(),
23055 shader_denorm_flush_to_zero_float32: Bool32::default(),
23056 shader_denorm_flush_to_zero_float64: Bool32::default(),
23057 shader_rounding_mode_rte_float16: Bool32::default(),
23058 shader_rounding_mode_rte_float32: Bool32::default(),
23059 shader_rounding_mode_rte_float64: Bool32::default(),
23060 shader_rounding_mode_rtz_float16: Bool32::default(),
23061 shader_rounding_mode_rtz_float32: Bool32::default(),
23062 shader_rounding_mode_rtz_float64: Bool32::default(),
23063 max_update_after_bind_descriptors_in_all_pools: u32::default(),
23064 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
23065 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
23066 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
23067 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
23068 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
23069 robust_buffer_access_update_after_bind: Bool32::default(),
23070 quad_divergent_implicit_lod: Bool32::default(),
23071 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
23072 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
23073 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
23074 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
23075 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
23076 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
23077 max_per_stage_update_after_bind_resources: u32::default(),
23078 max_descriptor_set_update_after_bind_samplers: u32::default(),
23079 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
23080 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
23081 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
23082 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
23083 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
23084 max_descriptor_set_update_after_bind_storage_images: u32::default(),
23085 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
23086 supported_depth_resolve_modes: ResolveModeFlags::default(),
23087 supported_stencil_resolve_modes: ResolveModeFlags::default(),
23088 independent_resolve_none: Bool32::default(),
23089 independent_resolve: Bool32::default(),
23090 filter_minmax_single_component_formats: Bool32::default(),
23091 filter_minmax_image_component_mapping: Bool32::default(),
23092 max_timeline_semaphore_value_difference: u64::default(),
23093 framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
23094 }
23095 }
23096}
23097
23098unsafe impl Send for PhysicalDeviceVulkan12Properties {}
23099unsafe impl Sync for PhysicalDeviceVulkan12Properties {}
23100
23101#[repr(C)]
23103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23104pub struct PhysicalDeviceVulkan13Features {
23105 pub s_type: StructureType,
23106 pub next: *mut c_void,
23107 pub robust_image_access: Bool32,
23108 pub inline_uniform_block: Bool32,
23109 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
23110 pub pipeline_creation_cache_control: Bool32,
23111 pub private_data: Bool32,
23112 pub shader_demote_to_helper_invocation: Bool32,
23113 pub shader_terminate_invocation: Bool32,
23114 pub subgroup_size_control: Bool32,
23115 pub compute_full_subgroups: Bool32,
23116 pub synchronization2: Bool32,
23117 pub texture_compression_astc_hdr: Bool32,
23118 pub shader_zero_initialize_workgroup_memory: Bool32,
23119 pub dynamic_rendering: Bool32,
23120 pub shader_integer_dot_product: Bool32,
23121 pub maintenance4: Bool32,
23122}
23123
23124impl Default for PhysicalDeviceVulkan13Features {
23125 #[inline]
23126 fn default() -> Self {
23127 Self {
23128 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
23129 next: ptr::null_mut(),
23130 robust_image_access: Bool32::default(),
23131 inline_uniform_block: Bool32::default(),
23132 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
23133 pipeline_creation_cache_control: Bool32::default(),
23134 private_data: Bool32::default(),
23135 shader_demote_to_helper_invocation: Bool32::default(),
23136 shader_terminate_invocation: Bool32::default(),
23137 subgroup_size_control: Bool32::default(),
23138 compute_full_subgroups: Bool32::default(),
23139 synchronization2: Bool32::default(),
23140 texture_compression_astc_hdr: Bool32::default(),
23141 shader_zero_initialize_workgroup_memory: Bool32::default(),
23142 dynamic_rendering: Bool32::default(),
23143 shader_integer_dot_product: Bool32::default(),
23144 maintenance4: Bool32::default(),
23145 }
23146 }
23147}
23148
23149unsafe impl Send for PhysicalDeviceVulkan13Features {}
23150unsafe impl Sync for PhysicalDeviceVulkan13Features {}
23151
23152#[repr(C)]
23154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23155pub struct PhysicalDeviceVulkan13Properties {
23156 pub s_type: StructureType,
23157 pub next: *mut c_void,
23158 pub min_subgroup_size: u32,
23159 pub max_subgroup_size: u32,
23160 pub max_compute_workgroup_subgroups: u32,
23161 pub required_subgroup_size_stages: ShaderStageFlags,
23162 pub max_inline_uniform_block_size: u32,
23163 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
23164 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
23165 pub max_descriptor_set_inline_uniform_blocks: u32,
23166 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
23167 pub max_inline_uniform_total_size: u32,
23168 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
23169 pub integer_dot_product_8bit_signed_accelerated: Bool32,
23170 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
23171 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
23172 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
23173 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
23174 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
23175 pub integer_dot_product_16bit_signed_accelerated: Bool32,
23176 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
23177 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
23178 pub integer_dot_product_32bit_signed_accelerated: Bool32,
23179 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
23180 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
23181 pub integer_dot_product_64bit_signed_accelerated: Bool32,
23182 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
23183 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
23184 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
23185 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
23186 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
23187 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
23188 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
23189 Bool32,
23190 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
23191 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
23192 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
23193 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
23194 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
23195 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
23196 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
23197 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
23198 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
23199 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
23200 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
23201 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
23202 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
23203 pub max_buffer_size: DeviceSize,
23204}
23205
23206impl Default for PhysicalDeviceVulkan13Properties {
23207 #[inline]
23208 fn default() -> Self {
23209 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() }
23210 }
23211}
23212
23213unsafe impl Send for PhysicalDeviceVulkan13Properties {}
23214unsafe impl Sync for PhysicalDeviceVulkan13Properties {}
23215
23216#[repr(C)]
23218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23219pub struct PhysicalDeviceVulkan14Features {
23220 pub s_type: StructureType,
23221 pub next: *mut c_void,
23222 pub global_priority_query: Bool32,
23223 pub shader_subgroup_rotate: Bool32,
23224 pub shader_subgroup_rotate_clustered: Bool32,
23225 pub shader_float_controls2: Bool32,
23226 pub shader_expect_assume: Bool32,
23227 pub rectangular_lines: Bool32,
23228 pub bresenham_lines: Bool32,
23229 pub smooth_lines: Bool32,
23230 pub stippled_rectangular_lines: Bool32,
23231 pub stippled_bresenham_lines: Bool32,
23232 pub stippled_smooth_lines: Bool32,
23233 pub vertex_attribute_instance_rate_divisor: Bool32,
23234 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
23235 pub index_type_uint8: Bool32,
23236 pub dynamic_rendering_local_read: Bool32,
23237 pub maintenance5: Bool32,
23238 pub maintenance6: Bool32,
23239 pub pipeline_protected_access: Bool32,
23240 pub pipeline_robustness: Bool32,
23241 pub host_image_copy: Bool32,
23242 pub push_descriptor: Bool32,
23243}
23244
23245impl Default for PhysicalDeviceVulkan14Features {
23246 #[inline]
23247 fn default() -> Self {
23248 Self {
23249 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
23250 next: ptr::null_mut(),
23251 global_priority_query: Bool32::default(),
23252 shader_subgroup_rotate: Bool32::default(),
23253 shader_subgroup_rotate_clustered: Bool32::default(),
23254 shader_float_controls2: Bool32::default(),
23255 shader_expect_assume: Bool32::default(),
23256 rectangular_lines: Bool32::default(),
23257 bresenham_lines: Bool32::default(),
23258 smooth_lines: Bool32::default(),
23259 stippled_rectangular_lines: Bool32::default(),
23260 stippled_bresenham_lines: Bool32::default(),
23261 stippled_smooth_lines: Bool32::default(),
23262 vertex_attribute_instance_rate_divisor: Bool32::default(),
23263 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
23264 index_type_uint8: Bool32::default(),
23265 dynamic_rendering_local_read: Bool32::default(),
23266 maintenance5: Bool32::default(),
23267 maintenance6: Bool32::default(),
23268 pipeline_protected_access: Bool32::default(),
23269 pipeline_robustness: Bool32::default(),
23270 host_image_copy: Bool32::default(),
23271 push_descriptor: Bool32::default(),
23272 }
23273 }
23274}
23275
23276unsafe impl Send for PhysicalDeviceVulkan14Features {}
23277unsafe impl Sync for PhysicalDeviceVulkan14Features {}
23278
23279#[repr(C)]
23281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23282pub struct PhysicalDeviceVulkan14Properties {
23283 pub s_type: StructureType,
23284 pub next: *mut c_void,
23285 pub line_sub_pixel_precision_bits: u32,
23286 pub max_vertex_attrib_divisor: u32,
23287 pub supports_non_zero_first_instance: Bool32,
23288 pub max_push_descriptors: u32,
23289 pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
23290 pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
23291 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
23292 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
23293 pub depth_stencil_swizzle_one_support: Bool32,
23294 pub polygon_mode_point_size: Bool32,
23295 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
23296 pub non_strict_wide_lines_use_parallelogram: Bool32,
23297 pub block_texel_view_compatible_multiple_layers: Bool32,
23298 pub max_combined_image_sampler_descriptor_count: u32,
23299 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
23300 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
23301 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
23302 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
23303 pub default_robustness_images: PipelineRobustnessImageBehavior,
23304 pub copy_src_layout_count: u32,
23305 pub copy_src_layouts: *mut ImageLayout,
23306 pub copy_dst_layout_count: u32,
23307 pub copy_dst_layouts: *mut ImageLayout,
23308 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
23309 pub identical_memory_type_requirements: Bool32,
23310}
23311
23312impl Default for PhysicalDeviceVulkan14Properties {
23313 #[inline]
23314 fn default() -> Self {
23315 Self {
23316 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
23317 next: ptr::null_mut(),
23318 line_sub_pixel_precision_bits: u32::default(),
23319 max_vertex_attrib_divisor: u32::default(),
23320 supports_non_zero_first_instance: Bool32::default(),
23321 max_push_descriptors: u32::default(),
23322 dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
23323 dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
23324 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
23325 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
23326 depth_stencil_swizzle_one_support: Bool32::default(),
23327 polygon_mode_point_size: Bool32::default(),
23328 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
23329 non_strict_wide_lines_use_parallelogram: Bool32::default(),
23330 block_texel_view_compatible_multiple_layers: Bool32::default(),
23331 max_combined_image_sampler_descriptor_count: u32::default(),
23332 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
23333 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
23334 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
23335 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
23336 default_robustness_images: PipelineRobustnessImageBehavior::default(),
23337 copy_src_layout_count: u32::default(),
23338 copy_src_layouts: ptr::null_mut(),
23339 copy_dst_layout_count: u32::default(),
23340 copy_dst_layouts: ptr::null_mut(),
23341 optimal_tiling_layout_uuid: ByteArray::default(),
23342 identical_memory_type_requirements: Bool32::default(),
23343 }
23344 }
23345}
23346
23347unsafe impl Send for PhysicalDeviceVulkan14Properties {}
23348unsafe impl Sync for PhysicalDeviceVulkan14Properties {}
23349
23350#[repr(C)]
23352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23353pub struct PhysicalDeviceVulkanMemoryModelFeatures {
23354 pub s_type: StructureType,
23355 pub next: *mut c_void,
23356 pub vulkan_memory_model: Bool32,
23357 pub vulkan_memory_model_device_scope: Bool32,
23358 pub vulkan_memory_model_availability_visibility_chains: Bool32,
23359}
23360
23361impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
23362 #[inline]
23363 fn default() -> Self {
23364 Self {
23365 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
23366 next: ptr::null_mut(),
23367 vulkan_memory_model: Bool32::default(),
23368 vulkan_memory_model_device_scope: Bool32::default(),
23369 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
23370 }
23371 }
23372}
23373
23374unsafe impl Send for PhysicalDeviceVulkanMemoryModelFeatures {}
23375unsafe impl Sync for PhysicalDeviceVulkanMemoryModelFeatures {}
23376
23377#[repr(C)]
23379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23380pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
23381 pub s_type: StructureType,
23382 pub next: *mut c_void,
23383 pub workgroup_memory_explicit_layout: Bool32,
23384 pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
23385 pub workgroup_memory_explicit_layout_8bit_access: Bool32,
23386 pub workgroup_memory_explicit_layout_16bit_access: Bool32,
23387}
23388
23389impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
23390 #[inline]
23391 fn default() -> Self {
23392 Self {
23393 s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
23394 next: ptr::null_mut(),
23395 workgroup_memory_explicit_layout: Bool32::default(),
23396 workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
23397 workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
23398 workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
23399 }
23400 }
23401}
23402
23403unsafe impl Send for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
23404unsafe impl Sync for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
23405
23406#[repr(C)]
23408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23409pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
23410 pub s_type: StructureType,
23411 pub next: *mut c_void,
23412 pub ycbcr2plane444_formats: Bool32,
23413}
23414
23415impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
23416 #[inline]
23417 fn default() -> Self {
23418 Self {
23419 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
23420 next: ptr::null_mut(),
23421 ycbcr2plane444_formats: Bool32::default(),
23422 }
23423 }
23424}
23425
23426unsafe impl Send for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
23427unsafe impl Sync for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
23428
23429#[repr(C)]
23431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23432pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
23433 pub s_type: StructureType,
23434 pub next: *mut c_void,
23435 pub ycbcr_degamma: Bool32,
23436}
23437
23438impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
23439 #[inline]
23440 fn default() -> Self {
23441 Self {
23442 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
23443 next: ptr::null_mut(),
23444 ycbcr_degamma: Bool32::default(),
23445 }
23446 }
23447}
23448
23449unsafe impl Send for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
23450unsafe impl Sync for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
23451
23452#[repr(C)]
23454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23455pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23456 pub s_type: StructureType,
23457 pub next: *mut c_void,
23458 pub ycbcr_image_arrays: Bool32,
23459}
23460
23461impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23462 #[inline]
23463 fn default() -> Self {
23464 Self {
23465 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
23466 next: ptr::null_mut(),
23467 ycbcr_image_arrays: Bool32::default(),
23468 }
23469 }
23470}
23471
23472unsafe impl Send for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23473unsafe impl Sync for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23474
23475#[repr(C)]
23477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23478pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23479 pub s_type: StructureType,
23480 pub next: *mut c_void,
23481 pub zero_initialize_device_memory: Bool32,
23482}
23483
23484impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23485 #[inline]
23486 fn default() -> Self {
23487 Self {
23488 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
23489 next: ptr::null_mut(),
23490 zero_initialize_device_memory: Bool32::default(),
23491 }
23492 }
23493}
23494
23495unsafe impl Send for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23496unsafe impl Sync for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23497
23498#[repr(C)]
23500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23501pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23502 pub s_type: StructureType,
23503 pub next: *mut c_void,
23504 pub shader_zero_initialize_workgroup_memory: Bool32,
23505}
23506
23507impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23508 #[inline]
23509 fn default() -> Self {
23510 Self {
23511 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
23512 next: ptr::null_mut(),
23513 shader_zero_initialize_workgroup_memory: Bool32::default(),
23514 }
23515 }
23516}
23517
23518unsafe impl Send for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23519unsafe impl Sync for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23520
23521#[repr(C)]
23523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23524pub struct PipelineBinaryCreateInfoKHR {
23525 pub s_type: StructureType,
23526 pub next: *const c_void,
23527 pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
23528 pub pipeline: Pipeline,
23529 pub pipeline_create_info: *const PipelineCreateInfoKHR,
23530}
23531
23532impl Default for PipelineBinaryCreateInfoKHR {
23533 #[inline]
23534 fn default() -> Self {
23535 Self {
23536 s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
23537 next: ptr::null(),
23538 keys_and_data_info: ptr::null(),
23539 pipeline: Pipeline::default(),
23540 pipeline_create_info: ptr::null(),
23541 }
23542 }
23543}
23544
23545unsafe impl Send for PipelineBinaryCreateInfoKHR {}
23546unsafe impl Sync for PipelineBinaryCreateInfoKHR {}
23547
23548#[repr(C)]
23550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23551pub struct PipelineBinaryDataInfoKHR {
23552 pub s_type: StructureType,
23553 pub next: *mut c_void,
23554 pub pipeline_binary: PipelineBinaryKHR,
23555}
23556
23557impl Default for PipelineBinaryDataInfoKHR {
23558 #[inline]
23559 fn default() -> Self {
23560 Self {
23561 s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
23562 next: ptr::null_mut(),
23563 pipeline_binary: PipelineBinaryKHR::default(),
23564 }
23565 }
23566}
23567
23568unsafe impl Send for PipelineBinaryDataInfoKHR {}
23569unsafe impl Sync for PipelineBinaryDataInfoKHR {}
23570
23571#[repr(C)]
23573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23574pub struct PipelineBinaryDataKHR {
23575 pub data_size: usize,
23576 pub data: *mut c_void,
23577}
23578
23579impl Default for PipelineBinaryDataKHR {
23580 #[inline]
23581 fn default() -> Self {
23582 Self {
23583 data_size: usize::default(),
23584 data: ptr::null_mut(),
23585 }
23586 }
23587}
23588
23589unsafe impl Send for PipelineBinaryDataKHR {}
23590unsafe impl Sync for PipelineBinaryDataKHR {}
23591
23592#[repr(C)]
23594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23595pub struct PipelineBinaryHandlesInfoKHR {
23596 pub s_type: StructureType,
23597 pub next: *const c_void,
23598 pub pipeline_binary_count: u32,
23599 pub pipeline_binaries: *mut PipelineBinaryKHR,
23600}
23601
23602impl Default for PipelineBinaryHandlesInfoKHR {
23603 #[inline]
23604 fn default() -> Self {
23605 Self {
23606 s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
23607 next: ptr::null(),
23608 pipeline_binary_count: u32::default(),
23609 pipeline_binaries: ptr::null_mut(),
23610 }
23611 }
23612}
23613
23614unsafe impl Send for PipelineBinaryHandlesInfoKHR {}
23615unsafe impl Sync for PipelineBinaryHandlesInfoKHR {}
23616
23617#[repr(C)]
23619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23620pub struct PipelineBinaryInfoKHR {
23621 pub s_type: StructureType,
23622 pub next: *const c_void,
23623 pub binary_count: u32,
23624 pub pipeline_binaries: *const PipelineBinaryKHR,
23625}
23626
23627impl Default for PipelineBinaryInfoKHR {
23628 #[inline]
23629 fn default() -> Self {
23630 Self {
23631 s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
23632 next: ptr::null(),
23633 binary_count: u32::default(),
23634 pipeline_binaries: ptr::null(),
23635 }
23636 }
23637}
23638
23639unsafe impl Send for PipelineBinaryInfoKHR {}
23640unsafe impl Sync for PipelineBinaryInfoKHR {}
23641
23642#[repr(C)]
23644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23645pub struct PipelineBinaryKeyKHR {
23646 pub s_type: StructureType,
23647 pub next: *mut c_void,
23648 pub key_size: u32,
23649 pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
23650}
23651
23652impl Default for PipelineBinaryKeyKHR {
23653 #[inline]
23654 fn default() -> Self {
23655 Self {
23656 s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
23657 next: ptr::null_mut(),
23658 key_size: u32::default(),
23659 key: ByteArray::default(),
23660 }
23661 }
23662}
23663
23664unsafe impl Send for PipelineBinaryKeyKHR {}
23665unsafe impl Sync for PipelineBinaryKeyKHR {}
23666
23667#[repr(C)]
23669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23670pub struct PipelineBinaryKeysAndDataKHR {
23671 pub binary_count: u32,
23672 pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
23673 pub pipeline_binary_data: *const PipelineBinaryDataKHR,
23674}
23675
23676impl Default for PipelineBinaryKeysAndDataKHR {
23677 #[inline]
23678 fn default() -> Self {
23679 Self {
23680 binary_count: u32::default(),
23681 pipeline_binary_keys: ptr::null(),
23682 pipeline_binary_data: ptr::null(),
23683 }
23684 }
23685}
23686
23687unsafe impl Send for PipelineBinaryKeysAndDataKHR {}
23688unsafe impl Sync for PipelineBinaryKeysAndDataKHR {}
23689
23690#[repr(C)]
23692#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23693pub struct PipelineCacheCreateInfo {
23694 pub s_type: StructureType,
23695 pub next: *const c_void,
23696 pub flags: PipelineCacheCreateFlags,
23697 pub initial_data_size: usize,
23698 pub initial_data: *const c_void,
23699}
23700
23701impl Default for PipelineCacheCreateInfo {
23702 #[inline]
23703 fn default() -> Self {
23704 Self {
23705 s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
23706 next: ptr::null(),
23707 flags: PipelineCacheCreateFlags::default(),
23708 initial_data_size: usize::default(),
23709 initial_data: ptr::null(),
23710 }
23711 }
23712}
23713
23714unsafe impl Send for PipelineCacheCreateInfo {}
23715unsafe impl Sync for PipelineCacheCreateInfo {}
23716
23717#[repr(C)]
23719#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23720pub struct PipelineCacheHeaderVersionOne {
23721 pub header_size: u32,
23722 pub header_version: PipelineCacheHeaderVersion,
23723 pub vendor_id: u32,
23724 pub device_id: u32,
23725 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
23726}
23727
23728#[repr(C)]
23730#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23731pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
23732 pub s_type: StructureType,
23733 pub next: *const c_void,
23734 pub src_premultiplied: Bool32,
23735 pub dst_premultiplied: Bool32,
23736 pub blend_overlap: BlendOverlapEXT,
23737}
23738
23739impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
23740 #[inline]
23741 fn default() -> Self {
23742 Self {
23743 s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
23744 next: ptr::null(),
23745 src_premultiplied: Bool32::default(),
23746 dst_premultiplied: Bool32::default(),
23747 blend_overlap: BlendOverlapEXT::default(),
23748 }
23749 }
23750}
23751
23752unsafe impl Send for PipelineColorBlendAdvancedStateCreateInfoEXT {}
23753unsafe impl Sync for PipelineColorBlendAdvancedStateCreateInfoEXT {}
23754
23755#[repr(C)]
23757#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23758pub struct PipelineColorBlendAttachmentState {
23759 pub blend_enable: Bool32,
23760 pub src_color_blend_factor: BlendFactor,
23761 pub dst_color_blend_factor: BlendFactor,
23762 pub color_blend_op: BlendOp,
23763 pub src_alpha_blend_factor: BlendFactor,
23764 pub dst_alpha_blend_factor: BlendFactor,
23765 pub alpha_blend_op: BlendOp,
23766 pub color_write_mask: ColorComponentFlags,
23767}
23768
23769#[repr(C)]
23771#[derive(Copy, Clone, Debug, PartialEq)]
23772pub struct PipelineColorBlendStateCreateInfo {
23773 pub s_type: StructureType,
23774 pub next: *const c_void,
23775 pub flags: PipelineColorBlendStateCreateFlags,
23776 pub logic_op_enable: Bool32,
23777 pub logic_op: LogicOp,
23778 pub attachment_count: u32,
23779 pub attachments: *const PipelineColorBlendAttachmentState,
23780 pub blend_constants: [f32; 4],
23781}
23782
23783impl Default for PipelineColorBlendStateCreateInfo {
23784 #[inline]
23785 fn default() -> Self {
23786 Self {
23787 s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
23788 next: ptr::null(),
23789 flags: PipelineColorBlendStateCreateFlags::default(),
23790 logic_op_enable: Bool32::default(),
23791 logic_op: LogicOp::default(),
23792 attachment_count: u32::default(),
23793 attachments: ptr::null(),
23794 blend_constants: [f32::default(); 4],
23795 }
23796 }
23797}
23798
23799unsafe impl Send for PipelineColorBlendStateCreateInfo {}
23800unsafe impl Sync for PipelineColorBlendStateCreateInfo {}
23801
23802#[repr(C)]
23804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23805pub struct PipelineColorWriteCreateInfoEXT {
23806 pub s_type: StructureType,
23807 pub next: *const c_void,
23808 pub attachment_count: u32,
23809 pub color_write_enables: *const Bool32,
23810}
23811
23812impl Default for PipelineColorWriteCreateInfoEXT {
23813 #[inline]
23814 fn default() -> Self {
23815 Self {
23816 s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
23817 next: ptr::null(),
23818 attachment_count: u32::default(),
23819 color_write_enables: ptr::null(),
23820 }
23821 }
23822}
23823
23824unsafe impl Send for PipelineColorWriteCreateInfoEXT {}
23825unsafe impl Sync for PipelineColorWriteCreateInfoEXT {}
23826
23827#[repr(C)]
23829#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23830pub struct PipelineCompilerControlCreateInfoAMD {
23831 pub s_type: StructureType,
23832 pub next: *const c_void,
23833 pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
23834}
23835
23836impl Default for PipelineCompilerControlCreateInfoAMD {
23837 #[inline]
23838 fn default() -> Self {
23839 Self {
23840 s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
23841 next: ptr::null(),
23842 compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
23843 }
23844 }
23845}
23846
23847unsafe impl Send for PipelineCompilerControlCreateInfoAMD {}
23848unsafe impl Sync for PipelineCompilerControlCreateInfoAMD {}
23849
23850#[repr(C)]
23852#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23853pub struct PipelineCoverageModulationStateCreateInfoNV {
23854 pub s_type: StructureType,
23855 pub next: *const c_void,
23856 pub flags: PipelineCoverageModulationStateCreateFlagsNV,
23857 pub coverage_modulation_mode: CoverageModulationModeNV,
23858 pub coverage_modulation_table_enable: Bool32,
23859 pub coverage_modulation_table_count: u32,
23860 pub coverage_modulation_table: *const f32,
23861}
23862
23863impl Default for PipelineCoverageModulationStateCreateInfoNV {
23864 #[inline]
23865 fn default() -> Self {
23866 Self {
23867 s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
23868 next: ptr::null(),
23869 flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
23870 coverage_modulation_mode: CoverageModulationModeNV::default(),
23871 coverage_modulation_table_enable: Bool32::default(),
23872 coverage_modulation_table_count: u32::default(),
23873 coverage_modulation_table: ptr::null(),
23874 }
23875 }
23876}
23877
23878unsafe impl Send for PipelineCoverageModulationStateCreateInfoNV {}
23879unsafe impl Sync for PipelineCoverageModulationStateCreateInfoNV {}
23880
23881#[repr(C)]
23883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23884pub struct PipelineCoverageReductionStateCreateInfoNV {
23885 pub s_type: StructureType,
23886 pub next: *const c_void,
23887 pub flags: PipelineCoverageReductionStateCreateFlagsNV,
23888 pub coverage_reduction_mode: CoverageReductionModeNV,
23889}
23890
23891impl Default for PipelineCoverageReductionStateCreateInfoNV {
23892 #[inline]
23893 fn default() -> Self {
23894 Self {
23895 s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
23896 next: ptr::null(),
23897 flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
23898 coverage_reduction_mode: CoverageReductionModeNV::default(),
23899 }
23900 }
23901}
23902
23903unsafe impl Send for PipelineCoverageReductionStateCreateInfoNV {}
23904unsafe impl Sync for PipelineCoverageReductionStateCreateInfoNV {}
23905
23906#[repr(C)]
23908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23909pub struct PipelineCoverageToColorStateCreateInfoNV {
23910 pub s_type: StructureType,
23911 pub next: *const c_void,
23912 pub flags: PipelineCoverageToColorStateCreateFlagsNV,
23913 pub coverage_to_color_enable: Bool32,
23914 pub coverage_to_color_location: u32,
23915}
23916
23917impl Default for PipelineCoverageToColorStateCreateInfoNV {
23918 #[inline]
23919 fn default() -> Self {
23920 Self {
23921 s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
23922 next: ptr::null(),
23923 flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
23924 coverage_to_color_enable: Bool32::default(),
23925 coverage_to_color_location: u32::default(),
23926 }
23927 }
23928}
23929
23930unsafe impl Send for PipelineCoverageToColorStateCreateInfoNV {}
23931unsafe impl Sync for PipelineCoverageToColorStateCreateInfoNV {}
23932
23933#[repr(C)]
23935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23936pub struct PipelineCreateFlags2CreateInfo {
23937 pub s_type: StructureType,
23938 pub next: *const c_void,
23939 pub flags: PipelineCreateFlags2,
23940}
23941
23942impl Default for PipelineCreateFlags2CreateInfo {
23943 #[inline]
23944 fn default() -> Self {
23945 Self {
23946 s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
23947 next: ptr::null(),
23948 flags: PipelineCreateFlags2::default(),
23949 }
23950 }
23951}
23952
23953unsafe impl Send for PipelineCreateFlags2CreateInfo {}
23954unsafe impl Sync for PipelineCreateFlags2CreateInfo {}
23955
23956#[repr(C)]
23958#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23959pub struct PipelineCreateInfoKHR {
23960 pub s_type: StructureType,
23961 pub next: *mut c_void,
23962}
23963
23964impl Default for PipelineCreateInfoKHR {
23965 #[inline]
23966 fn default() -> Self {
23967 Self {
23968 s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
23969 next: ptr::null_mut(),
23970 }
23971 }
23972}
23973
23974unsafe impl Send for PipelineCreateInfoKHR {}
23975unsafe impl Sync for PipelineCreateInfoKHR {}
23976
23977#[repr(C)]
23979#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23980pub struct PipelineCreationFeedback {
23981 pub flags: PipelineCreationFeedbackFlags,
23982 pub duration: u64,
23983}
23984
23985#[repr(C)]
23987#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23988pub struct PipelineCreationFeedbackCreateInfo {
23989 pub s_type: StructureType,
23990 pub next: *const c_void,
23991 pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
23992 pub pipeline_stage_creation_feedback_count: u32,
23993 pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
23994}
23995
23996impl Default for PipelineCreationFeedbackCreateInfo {
23997 #[inline]
23998 fn default() -> Self {
23999 Self {
24000 s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
24001 next: ptr::null(),
24002 pipeline_creation_feedback: ptr::null_mut(),
24003 pipeline_stage_creation_feedback_count: u32::default(),
24004 pipeline_stage_creation_feedbacks: ptr::null_mut(),
24005 }
24006 }
24007}
24008
24009unsafe impl Send for PipelineCreationFeedbackCreateInfo {}
24010unsafe impl Sync for PipelineCreationFeedbackCreateInfo {}
24011
24012#[repr(C)]
24014#[derive(Copy, Clone, Debug, PartialEq)]
24015pub struct PipelineDepthStencilStateCreateInfo {
24016 pub s_type: StructureType,
24017 pub next: *const c_void,
24018 pub flags: PipelineDepthStencilStateCreateFlags,
24019 pub depth_test_enable: Bool32,
24020 pub depth_write_enable: Bool32,
24021 pub depth_compare_op: CompareOp,
24022 pub depth_bounds_test_enable: Bool32,
24023 pub stencil_test_enable: Bool32,
24024 pub front: StencilOpState,
24025 pub back: StencilOpState,
24026 pub min_depth_bounds: f32,
24027 pub max_depth_bounds: f32,
24028}
24029
24030impl Default for PipelineDepthStencilStateCreateInfo {
24031 #[inline]
24032 fn default() -> Self {
24033 Self {
24034 s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
24035 next: ptr::null(),
24036 flags: PipelineDepthStencilStateCreateFlags::default(),
24037 depth_test_enable: Bool32::default(),
24038 depth_write_enable: Bool32::default(),
24039 depth_compare_op: CompareOp::default(),
24040 depth_bounds_test_enable: Bool32::default(),
24041 stencil_test_enable: Bool32::default(),
24042 front: StencilOpState::default(),
24043 back: StencilOpState::default(),
24044 min_depth_bounds: f32::default(),
24045 max_depth_bounds: f32::default(),
24046 }
24047 }
24048}
24049
24050unsafe impl Send for PipelineDepthStencilStateCreateInfo {}
24051unsafe impl Sync for PipelineDepthStencilStateCreateInfo {}
24052
24053#[repr(C)]
24055#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24056pub struct PipelineDiscardRectangleStateCreateInfoEXT {
24057 pub s_type: StructureType,
24058 pub next: *const c_void,
24059 pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
24060 pub discard_rectangle_mode: DiscardRectangleModeEXT,
24061 pub discard_rectangle_count: u32,
24062 pub discard_rectangles: *const Rect2D,
24063}
24064
24065impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
24066 #[inline]
24067 fn default() -> Self {
24068 Self {
24069 s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
24070 next: ptr::null(),
24071 flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
24072 discard_rectangle_mode: DiscardRectangleModeEXT::default(),
24073 discard_rectangle_count: u32::default(),
24074 discard_rectangles: ptr::null(),
24075 }
24076 }
24077}
24078
24079unsafe impl Send for PipelineDiscardRectangleStateCreateInfoEXT {}
24080unsafe impl Sync for PipelineDiscardRectangleStateCreateInfoEXT {}
24081
24082#[repr(C)]
24084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24085pub struct PipelineDynamicStateCreateInfo {
24086 pub s_type: StructureType,
24087 pub next: *const c_void,
24088 pub flags: PipelineDynamicStateCreateFlags,
24089 pub dynamic_state_count: u32,
24090 pub dynamic_states: *const DynamicState,
24091}
24092
24093impl Default for PipelineDynamicStateCreateInfo {
24094 #[inline]
24095 fn default() -> Self {
24096 Self {
24097 s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
24098 next: ptr::null(),
24099 flags: PipelineDynamicStateCreateFlags::default(),
24100 dynamic_state_count: u32::default(),
24101 dynamic_states: ptr::null(),
24102 }
24103 }
24104}
24105
24106unsafe impl Send for PipelineDynamicStateCreateInfo {}
24107unsafe impl Sync for PipelineDynamicStateCreateInfo {}
24108
24109#[repr(C)]
24111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24112pub struct PipelineExecutableInfoKHR {
24113 pub s_type: StructureType,
24114 pub next: *const c_void,
24115 pub pipeline: Pipeline,
24116 pub executable_index: u32,
24117}
24118
24119impl Default for PipelineExecutableInfoKHR {
24120 #[inline]
24121 fn default() -> Self {
24122 Self {
24123 s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
24124 next: ptr::null(),
24125 pipeline: Pipeline::default(),
24126 executable_index: u32::default(),
24127 }
24128 }
24129}
24130
24131unsafe impl Send for PipelineExecutableInfoKHR {}
24132unsafe impl Sync for PipelineExecutableInfoKHR {}
24133
24134#[repr(C)]
24136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24137pub struct PipelineExecutableInternalRepresentationKHR {
24138 pub s_type: StructureType,
24139 pub next: *mut c_void,
24140 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24141 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24142 pub is_text: Bool32,
24143 pub data_size: usize,
24144 pub data: *mut c_void,
24145}
24146
24147impl Default for PipelineExecutableInternalRepresentationKHR {
24148 #[inline]
24149 fn default() -> Self {
24150 Self {
24151 s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
24152 next: ptr::null_mut(),
24153 name: StringArray::default(),
24154 description: StringArray::default(),
24155 is_text: Bool32::default(),
24156 data_size: usize::default(),
24157 data: ptr::null_mut(),
24158 }
24159 }
24160}
24161
24162unsafe impl Send for PipelineExecutableInternalRepresentationKHR {}
24163unsafe impl Sync for PipelineExecutableInternalRepresentationKHR {}
24164
24165#[repr(C)]
24167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24168pub struct PipelineExecutablePropertiesKHR {
24169 pub s_type: StructureType,
24170 pub next: *mut c_void,
24171 pub stages: ShaderStageFlags,
24172 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24173 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24174 pub subgroup_size: u32,
24175}
24176
24177impl Default for PipelineExecutablePropertiesKHR {
24178 #[inline]
24179 fn default() -> Self {
24180 Self {
24181 s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
24182 next: ptr::null_mut(),
24183 stages: ShaderStageFlags::default(),
24184 name: StringArray::default(),
24185 description: StringArray::default(),
24186 subgroup_size: u32::default(),
24187 }
24188 }
24189}
24190
24191unsafe impl Send for PipelineExecutablePropertiesKHR {}
24192unsafe impl Sync for PipelineExecutablePropertiesKHR {}
24193
24194#[repr(C)]
24196#[derive(Copy, Clone, Debug)]
24197pub struct PipelineExecutableStatisticKHR {
24198 pub s_type: StructureType,
24199 pub next: *mut c_void,
24200 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24201 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24202 pub format: PipelineExecutableStatisticFormatKHR,
24203 pub value: PipelineExecutableStatisticValueKHR,
24204}
24205
24206impl Default for PipelineExecutableStatisticKHR {
24207 #[inline]
24208 fn default() -> Self {
24209 Self {
24210 s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
24211 next: ptr::null_mut(),
24212 name: StringArray::default(),
24213 description: StringArray::default(),
24214 format: PipelineExecutableStatisticFormatKHR::default(),
24215 value: PipelineExecutableStatisticValueKHR::default(),
24216 }
24217 }
24218}
24219
24220unsafe impl Send for PipelineExecutableStatisticKHR {}
24221unsafe impl Sync for PipelineExecutableStatisticKHR {}
24222
24223#[repr(C)]
24225#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24226pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
24227 pub s_type: StructureType,
24228 pub next: *const c_void,
24229 pub max_fragment_density_map_layers: u32,
24230}
24231
24232impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
24233 #[inline]
24234 fn default() -> Self {
24235 Self {
24236 s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
24237 next: ptr::null(),
24238 max_fragment_density_map_layers: u32::default(),
24239 }
24240 }
24241}
24242
24243unsafe impl Send for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
24244unsafe impl Sync for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
24245
24246#[repr(C)]
24248#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24249pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
24250 pub s_type: StructureType,
24251 pub next: *const c_void,
24252 pub shading_rate_type: FragmentShadingRateTypeNV,
24253 pub shading_rate: FragmentShadingRateNV,
24254 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
24255}
24256
24257impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
24258 #[inline]
24259 fn default() -> Self {
24260 Self {
24261 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
24262 next: ptr::null(),
24263 shading_rate_type: FragmentShadingRateTypeNV::default(),
24264 shading_rate: FragmentShadingRateNV::default(),
24265 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
24266 }
24267 }
24268}
24269
24270unsafe impl Send for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
24271unsafe impl Sync for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
24272
24273#[repr(C)]
24275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24276pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
24277 pub s_type: StructureType,
24278 pub next: *const c_void,
24279 pub fragment_size: Extent2D,
24280 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
24281}
24282
24283impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
24284 #[inline]
24285 fn default() -> Self {
24286 Self {
24287 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
24288 next: ptr::null(),
24289 fragment_size: Extent2D::default(),
24290 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
24291 }
24292 }
24293}
24294
24295unsafe impl Send for PipelineFragmentShadingRateStateCreateInfoKHR {}
24296unsafe impl Sync for PipelineFragmentShadingRateStateCreateInfoKHR {}
24297
24298#[repr(C)]
24300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24301pub struct PipelineIndirectDeviceAddressInfoNV {
24302 pub s_type: StructureType,
24303 pub next: *const c_void,
24304 pub pipeline_bind_point: PipelineBindPoint,
24305 pub pipeline: Pipeline,
24306}
24307
24308impl Default for PipelineIndirectDeviceAddressInfoNV {
24309 #[inline]
24310 fn default() -> Self {
24311 Self {
24312 s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
24313 next: ptr::null(),
24314 pipeline_bind_point: PipelineBindPoint::default(),
24315 pipeline: Pipeline::default(),
24316 }
24317 }
24318}
24319
24320unsafe impl Send for PipelineIndirectDeviceAddressInfoNV {}
24321unsafe impl Sync for PipelineIndirectDeviceAddressInfoNV {}
24322
24323#[repr(C)]
24325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24326pub struct PipelineInfoKHR {
24327 pub s_type: StructureType,
24328 pub next: *const c_void,
24329 pub pipeline: Pipeline,
24330}
24331
24332impl Default for PipelineInfoKHR {
24333 #[inline]
24334 fn default() -> Self {
24335 Self {
24336 s_type: StructureType::PIPELINE_INFO_KHR,
24337 next: ptr::null(),
24338 pipeline: Pipeline::default(),
24339 }
24340 }
24341}
24342
24343unsafe impl Send for PipelineInfoKHR {}
24344unsafe impl Sync for PipelineInfoKHR {}
24345
24346#[repr(C)]
24348#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24349pub struct PipelineInputAssemblyStateCreateInfo {
24350 pub s_type: StructureType,
24351 pub next: *const c_void,
24352 pub flags: PipelineInputAssemblyStateCreateFlags,
24353 pub topology: PrimitiveTopology,
24354 pub primitive_restart_enable: Bool32,
24355}
24356
24357impl Default for PipelineInputAssemblyStateCreateInfo {
24358 #[inline]
24359 fn default() -> Self {
24360 Self {
24361 s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
24362 next: ptr::null(),
24363 flags: PipelineInputAssemblyStateCreateFlags::default(),
24364 topology: PrimitiveTopology::default(),
24365 primitive_restart_enable: Bool32::default(),
24366 }
24367 }
24368}
24369
24370unsafe impl Send for PipelineInputAssemblyStateCreateInfo {}
24371unsafe impl Sync for PipelineInputAssemblyStateCreateInfo {}
24372
24373#[repr(C)]
24375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24376pub struct PipelineLayoutCreateInfo {
24377 pub s_type: StructureType,
24378 pub next: *const c_void,
24379 pub flags: PipelineLayoutCreateFlags,
24380 pub set_layout_count: u32,
24381 pub set_layouts: *const DescriptorSetLayout,
24382 pub push_constant_range_count: u32,
24383 pub push_constant_ranges: *const PushConstantRange,
24384}
24385
24386impl Default for PipelineLayoutCreateInfo {
24387 #[inline]
24388 fn default() -> Self {
24389 Self {
24390 s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
24391 next: ptr::null(),
24392 flags: PipelineLayoutCreateFlags::default(),
24393 set_layout_count: u32::default(),
24394 set_layouts: ptr::null(),
24395 push_constant_range_count: u32::default(),
24396 push_constant_ranges: ptr::null(),
24397 }
24398 }
24399}
24400
24401unsafe impl Send for PipelineLayoutCreateInfo {}
24402unsafe impl Sync for PipelineLayoutCreateInfo {}
24403
24404#[repr(C)]
24406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24407pub struct PipelineLibraryCreateInfoKHR {
24408 pub s_type: StructureType,
24409 pub next: *const c_void,
24410 pub library_count: u32,
24411 pub libraries: *const Pipeline,
24412}
24413
24414impl Default for PipelineLibraryCreateInfoKHR {
24415 #[inline]
24416 fn default() -> Self {
24417 Self {
24418 s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
24419 next: ptr::null(),
24420 library_count: u32::default(),
24421 libraries: ptr::null(),
24422 }
24423 }
24424}
24425
24426unsafe impl Send for PipelineLibraryCreateInfoKHR {}
24427unsafe impl Sync for PipelineLibraryCreateInfoKHR {}
24428
24429#[repr(C)]
24431#[derive(Copy, Clone, Debug, PartialEq)]
24432pub struct PipelineMultisampleStateCreateInfo {
24433 pub s_type: StructureType,
24434 pub next: *const c_void,
24435 pub flags: PipelineMultisampleStateCreateFlags,
24436 pub rasterization_samples: SampleCountFlags,
24437 pub sample_shading_enable: Bool32,
24438 pub min_sample_shading: f32,
24439 pub sample_mask: *const SampleMask,
24440 pub alpha_to_coverage_enable: Bool32,
24441 pub alpha_to_one_enable: Bool32,
24442}
24443
24444impl Default for PipelineMultisampleStateCreateInfo {
24445 #[inline]
24446 fn default() -> Self {
24447 Self {
24448 s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
24449 next: ptr::null(),
24450 flags: PipelineMultisampleStateCreateFlags::default(),
24451 rasterization_samples: SampleCountFlags::default(),
24452 sample_shading_enable: Bool32::default(),
24453 min_sample_shading: f32::default(),
24454 sample_mask: ptr::null(),
24455 alpha_to_coverage_enable: Bool32::default(),
24456 alpha_to_one_enable: Bool32::default(),
24457 }
24458 }
24459}
24460
24461unsafe impl Send for PipelineMultisampleStateCreateInfo {}
24462unsafe impl Sync for PipelineMultisampleStateCreateInfo {}
24463
24464#[repr(C)]
24466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24467pub struct PipelinePropertiesIdentifierEXT {
24468 pub s_type: StructureType,
24469 pub next: *mut c_void,
24470 pub pipeline_identifier: ByteArray<UUID_SIZE>,
24471}
24472
24473impl Default for PipelinePropertiesIdentifierEXT {
24474 #[inline]
24475 fn default() -> Self {
24476 Self {
24477 s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
24478 next: ptr::null_mut(),
24479 pipeline_identifier: ByteArray::default(),
24480 }
24481 }
24482}
24483
24484unsafe impl Send for PipelinePropertiesIdentifierEXT {}
24485unsafe impl Sync for PipelinePropertiesIdentifierEXT {}
24486
24487#[repr(C)]
24489#[derive(Copy, Clone, Debug, PartialEq)]
24490pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
24491 pub s_type: StructureType,
24492 pub next: *const c_void,
24493 pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
24494 pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
24495 pub extra_primitive_overestimation_size: f32,
24496}
24497
24498impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
24499 #[inline]
24500 fn default() -> Self {
24501 Self {
24502 s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
24503 next: ptr::null(),
24504 flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
24505 conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
24506 extra_primitive_overestimation_size: f32::default(),
24507 }
24508 }
24509}
24510
24511unsafe impl Send for PipelineRasterizationConservativeStateCreateInfoEXT {}
24512unsafe impl Sync for PipelineRasterizationConservativeStateCreateInfoEXT {}
24513
24514#[repr(C)]
24516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24517pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
24518 pub s_type: StructureType,
24519 pub next: *const c_void,
24520 pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
24521 pub depth_clip_enable: Bool32,
24522}
24523
24524impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
24525 #[inline]
24526 fn default() -> Self {
24527 Self {
24528 s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
24529 next: ptr::null(),
24530 flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
24531 depth_clip_enable: Bool32::default(),
24532 }
24533 }
24534}
24535
24536unsafe impl Send for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24537unsafe impl Sync for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24538
24539#[repr(C)]
24541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24542pub struct PipelineRasterizationLineStateCreateInfo {
24543 pub s_type: StructureType,
24544 pub next: *const c_void,
24545 pub line_rasterization_mode: LineRasterizationMode,
24546 pub stippled_line_enable: Bool32,
24547 pub line_stipple_factor: u32,
24548 pub line_stipple_pattern: u16,
24549}
24550
24551impl Default for PipelineRasterizationLineStateCreateInfo {
24552 #[inline]
24553 fn default() -> Self {
24554 Self {
24555 s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
24556 next: ptr::null(),
24557 line_rasterization_mode: LineRasterizationMode::default(),
24558 stippled_line_enable: Bool32::default(),
24559 line_stipple_factor: u32::default(),
24560 line_stipple_pattern: u16::default(),
24561 }
24562 }
24563}
24564
24565unsafe impl Send for PipelineRasterizationLineStateCreateInfo {}
24566unsafe impl Sync for PipelineRasterizationLineStateCreateInfo {}
24567
24568#[repr(C)]
24570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24571pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24572 pub s_type: StructureType,
24573 pub next: *const c_void,
24574 pub provoking_vertex_mode: ProvokingVertexModeEXT,
24575}
24576
24577impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24578 #[inline]
24579 fn default() -> Self {
24580 Self {
24581 s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
24582 next: ptr::null(),
24583 provoking_vertex_mode: ProvokingVertexModeEXT::default(),
24584 }
24585 }
24586}
24587
24588unsafe impl Send for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24589unsafe impl Sync for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24590
24591#[repr(C)]
24593#[derive(Copy, Clone, Debug, PartialEq)]
24594pub struct PipelineRasterizationStateCreateInfo {
24595 pub s_type: StructureType,
24596 pub next: *const c_void,
24597 pub flags: PipelineRasterizationStateCreateFlags,
24598 pub depth_clamp_enable: Bool32,
24599 pub rasterizer_discard_enable: Bool32,
24600 pub polygon_mode: PolygonMode,
24601 pub cull_mode: CullModeFlags,
24602 pub front_face: FrontFace,
24603 pub depth_bias_enable: Bool32,
24604 pub depth_bias_constant_factor: f32,
24605 pub depth_bias_clamp: f32,
24606 pub depth_bias_slope_factor: f32,
24607 pub line_width: f32,
24608}
24609
24610impl Default for PipelineRasterizationStateCreateInfo {
24611 #[inline]
24612 fn default() -> Self {
24613 Self {
24614 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
24615 next: ptr::null(),
24616 flags: PipelineRasterizationStateCreateFlags::default(),
24617 depth_clamp_enable: Bool32::default(),
24618 rasterizer_discard_enable: Bool32::default(),
24619 polygon_mode: PolygonMode::default(),
24620 cull_mode: CullModeFlags::default(),
24621 front_face: FrontFace::default(),
24622 depth_bias_enable: Bool32::default(),
24623 depth_bias_constant_factor: f32::default(),
24624 depth_bias_clamp: f32::default(),
24625 depth_bias_slope_factor: f32::default(),
24626 line_width: f32::default(),
24627 }
24628 }
24629}
24630
24631unsafe impl Send for PipelineRasterizationStateCreateInfo {}
24632unsafe impl Sync for PipelineRasterizationStateCreateInfo {}
24633
24634#[repr(C)]
24636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24637pub struct PipelineRasterizationStateRasterizationOrderAMD {
24638 pub s_type: StructureType,
24639 pub next: *const c_void,
24640 pub rasterization_order: RasterizationOrderAMD,
24641}
24642
24643impl Default for PipelineRasterizationStateRasterizationOrderAMD {
24644 #[inline]
24645 fn default() -> Self {
24646 Self {
24647 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
24648 next: ptr::null(),
24649 rasterization_order: RasterizationOrderAMD::default(),
24650 }
24651 }
24652}
24653
24654unsafe impl Send for PipelineRasterizationStateRasterizationOrderAMD {}
24655unsafe impl Sync for PipelineRasterizationStateRasterizationOrderAMD {}
24656
24657#[repr(C)]
24659#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24660pub struct PipelineRasterizationStateStreamCreateInfoEXT {
24661 pub s_type: StructureType,
24662 pub next: *const c_void,
24663 pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
24664 pub rasterization_stream: u32,
24665}
24666
24667impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
24668 #[inline]
24669 fn default() -> Self {
24670 Self {
24671 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
24672 next: ptr::null(),
24673 flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
24674 rasterization_stream: u32::default(),
24675 }
24676 }
24677}
24678
24679unsafe impl Send for PipelineRasterizationStateStreamCreateInfoEXT {}
24680unsafe impl Sync for PipelineRasterizationStateStreamCreateInfoEXT {}
24681
24682#[repr(C)]
24684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24685pub struct PipelineRenderingCreateInfo {
24686 pub s_type: StructureType,
24687 pub next: *const c_void,
24688 pub view_mask: u32,
24689 pub color_attachment_count: u32,
24690 pub color_attachment_formats: *const Format,
24691 pub depth_attachment_format: Format,
24692 pub stencil_attachment_format: Format,
24693}
24694
24695impl Default for PipelineRenderingCreateInfo {
24696 #[inline]
24697 fn default() -> Self {
24698 Self {
24699 s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
24700 next: ptr::null(),
24701 view_mask: u32::default(),
24702 color_attachment_count: u32::default(),
24703 color_attachment_formats: ptr::null(),
24704 depth_attachment_format: Format::default(),
24705 stencil_attachment_format: Format::default(),
24706 }
24707 }
24708}
24709
24710unsafe impl Send for PipelineRenderingCreateInfo {}
24711unsafe impl Sync for PipelineRenderingCreateInfo {}
24712
24713#[repr(C)]
24715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24716pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
24717 pub s_type: StructureType,
24718 pub next: *const c_void,
24719 pub representative_fragment_test_enable: Bool32,
24720}
24721
24722impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
24723 #[inline]
24724 fn default() -> Self {
24725 Self {
24726 s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
24727 next: ptr::null(),
24728 representative_fragment_test_enable: Bool32::default(),
24729 }
24730 }
24731}
24732
24733unsafe impl Send for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
24734unsafe impl Sync for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
24735
24736#[repr(C)]
24738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24739pub struct PipelineRobustnessCreateInfo {
24740 pub s_type: StructureType,
24741 pub next: *const c_void,
24742 pub storage_buffers: PipelineRobustnessBufferBehavior,
24743 pub uniform_buffers: PipelineRobustnessBufferBehavior,
24744 pub vertex_inputs: PipelineRobustnessBufferBehavior,
24745 pub images: PipelineRobustnessImageBehavior,
24746}
24747
24748impl Default for PipelineRobustnessCreateInfo {
24749 #[inline]
24750 fn default() -> Self {
24751 Self {
24752 s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
24753 next: ptr::null(),
24754 storage_buffers: PipelineRobustnessBufferBehavior::default(),
24755 uniform_buffers: PipelineRobustnessBufferBehavior::default(),
24756 vertex_inputs: PipelineRobustnessBufferBehavior::default(),
24757 images: PipelineRobustnessImageBehavior::default(),
24758 }
24759 }
24760}
24761
24762unsafe impl Send for PipelineRobustnessCreateInfo {}
24763unsafe impl Sync for PipelineRobustnessCreateInfo {}
24764
24765#[repr(C)]
24767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24768pub struct PipelineSampleLocationsStateCreateInfoEXT {
24769 pub s_type: StructureType,
24770 pub next: *const c_void,
24771 pub sample_locations_enable: Bool32,
24772 pub sample_locations_info: SampleLocationsInfoEXT,
24773}
24774
24775impl Default for PipelineSampleLocationsStateCreateInfoEXT {
24776 #[inline]
24777 fn default() -> Self {
24778 Self {
24779 s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
24780 next: ptr::null(),
24781 sample_locations_enable: Bool32::default(),
24782 sample_locations_info: SampleLocationsInfoEXT::default(),
24783 }
24784 }
24785}
24786
24787unsafe impl Send for PipelineSampleLocationsStateCreateInfoEXT {}
24788unsafe impl Sync for PipelineSampleLocationsStateCreateInfoEXT {}
24789
24790#[repr(C)]
24792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24793pub struct PipelineShaderStageCreateInfo {
24794 pub s_type: StructureType,
24795 pub next: *const c_void,
24796 pub flags: PipelineShaderStageCreateFlags,
24797 pub stage: ShaderStageFlags,
24798 pub module: ShaderModule,
24799 pub name: *const c_char,
24800 pub specialization_info: *const SpecializationInfo,
24801}
24802
24803impl Default for PipelineShaderStageCreateInfo {
24804 #[inline]
24805 fn default() -> Self {
24806 Self {
24807 s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
24808 next: ptr::null(),
24809 flags: PipelineShaderStageCreateFlags::default(),
24810 stage: ShaderStageFlags::default(),
24811 module: ShaderModule::default(),
24812 name: ptr::null(),
24813 specialization_info: ptr::null(),
24814 }
24815 }
24816}
24817
24818unsafe impl Send for PipelineShaderStageCreateInfo {}
24819unsafe impl Sync for PipelineShaderStageCreateInfo {}
24820
24821#[repr(C)]
24823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24824pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
24825 pub s_type: StructureType,
24826 pub next: *const c_void,
24827 pub identifier_size: u32,
24828 pub identifier: *const u8,
24829}
24830
24831impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
24832 #[inline]
24833 fn default() -> Self {
24834 Self {
24835 s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
24836 next: ptr::null(),
24837 identifier_size: u32::default(),
24838 identifier: ptr::null(),
24839 }
24840 }
24841}
24842
24843unsafe impl Send for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
24844unsafe impl Sync for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
24845
24846#[repr(C)]
24848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24849pub struct PipelineShaderStageNodeCreateInfoAMDX {
24850 pub s_type: StructureType,
24851 pub next: *const c_void,
24852 pub name: *const c_char,
24853 pub index: u32,
24854}
24855
24856impl Default for PipelineShaderStageNodeCreateInfoAMDX {
24857 #[inline]
24858 fn default() -> Self {
24859 Self {
24860 s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
24861 next: ptr::null(),
24862 name: ptr::null(),
24863 index: u32::default(),
24864 }
24865 }
24866}
24867
24868unsafe impl Send for PipelineShaderStageNodeCreateInfoAMDX {}
24869unsafe impl Sync for PipelineShaderStageNodeCreateInfoAMDX {}
24870
24871#[repr(C)]
24873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24874pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
24875 pub s_type: StructureType,
24876 pub next: *const c_void,
24877 pub required_subgroup_size: u32,
24878}
24879
24880impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
24881 #[inline]
24882 fn default() -> Self {
24883 Self {
24884 s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
24885 next: ptr::null(),
24886 required_subgroup_size: u32::default(),
24887 }
24888 }
24889}
24890
24891unsafe impl Send for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
24892unsafe impl Sync for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
24893
24894#[repr(C)]
24896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24897pub struct PipelineTessellationDomainOriginStateCreateInfo {
24898 pub s_type: StructureType,
24899 pub next: *const c_void,
24900 pub domain_origin: TessellationDomainOrigin,
24901}
24902
24903impl Default for PipelineTessellationDomainOriginStateCreateInfo {
24904 #[inline]
24905 fn default() -> Self {
24906 Self {
24907 s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
24908 next: ptr::null(),
24909 domain_origin: TessellationDomainOrigin::default(),
24910 }
24911 }
24912}
24913
24914unsafe impl Send for PipelineTessellationDomainOriginStateCreateInfo {}
24915unsafe impl Sync for PipelineTessellationDomainOriginStateCreateInfo {}
24916
24917#[repr(C)]
24919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24920pub struct PipelineTessellationStateCreateInfo {
24921 pub s_type: StructureType,
24922 pub next: *const c_void,
24923 pub flags: PipelineTessellationStateCreateFlags,
24924 pub patch_control_points: u32,
24925}
24926
24927impl Default for PipelineTessellationStateCreateInfo {
24928 #[inline]
24929 fn default() -> Self {
24930 Self {
24931 s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
24932 next: ptr::null(),
24933 flags: PipelineTessellationStateCreateFlags::default(),
24934 patch_control_points: u32::default(),
24935 }
24936 }
24937}
24938
24939unsafe impl Send for PipelineTessellationStateCreateInfo {}
24940unsafe impl Sync for PipelineTessellationStateCreateInfo {}
24941
24942#[repr(C)]
24944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24945pub struct PipelineVertexInputDivisorStateCreateInfo {
24946 pub s_type: StructureType,
24947 pub next: *const c_void,
24948 pub vertex_binding_divisor_count: u32,
24949 pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
24950}
24951
24952impl Default for PipelineVertexInputDivisorStateCreateInfo {
24953 #[inline]
24954 fn default() -> Self {
24955 Self {
24956 s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
24957 next: ptr::null(),
24958 vertex_binding_divisor_count: u32::default(),
24959 vertex_binding_divisors: ptr::null(),
24960 }
24961 }
24962}
24963
24964unsafe impl Send for PipelineVertexInputDivisorStateCreateInfo {}
24965unsafe impl Sync for PipelineVertexInputDivisorStateCreateInfo {}
24966
24967#[repr(C)]
24969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24970pub struct PipelineVertexInputStateCreateInfo {
24971 pub s_type: StructureType,
24972 pub next: *const c_void,
24973 pub flags: PipelineVertexInputStateCreateFlags,
24974 pub vertex_binding_description_count: u32,
24975 pub vertex_binding_descriptions: *const VertexInputBindingDescription,
24976 pub vertex_attribute_description_count: u32,
24977 pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
24978}
24979
24980impl Default for PipelineVertexInputStateCreateInfo {
24981 #[inline]
24982 fn default() -> Self {
24983 Self {
24984 s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
24985 next: ptr::null(),
24986 flags: PipelineVertexInputStateCreateFlags::default(),
24987 vertex_binding_description_count: u32::default(),
24988 vertex_binding_descriptions: ptr::null(),
24989 vertex_attribute_description_count: u32::default(),
24990 vertex_attribute_descriptions: ptr::null(),
24991 }
24992 }
24993}
24994
24995unsafe impl Send for PipelineVertexInputStateCreateInfo {}
24996unsafe impl Sync for PipelineVertexInputStateCreateInfo {}
24997
24998#[repr(C)]
25000#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25001pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
25002 pub s_type: StructureType,
25003 pub next: *const c_void,
25004 pub sample_order_type: CoarseSampleOrderTypeNV,
25005 pub custom_sample_order_count: u32,
25006 pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
25007}
25008
25009impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
25010 #[inline]
25011 fn default() -> Self {
25012 Self {
25013 s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
25014 next: ptr::null(),
25015 sample_order_type: CoarseSampleOrderTypeNV::default(),
25016 custom_sample_order_count: u32::default(),
25017 custom_sample_orders: ptr::null(),
25018 }
25019 }
25020}
25021
25022unsafe impl Send for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
25023unsafe impl Sync for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
25024
25025#[repr(C)]
25027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25028pub struct PipelineViewportDepthClampControlCreateInfoEXT {
25029 pub s_type: StructureType,
25030 pub next: *const c_void,
25031 pub depth_clamp_mode: DepthClampModeEXT,
25032 pub depth_clamp_range: *const DepthClampRangeEXT,
25033}
25034
25035impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
25036 #[inline]
25037 fn default() -> Self {
25038 Self {
25039 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
25040 next: ptr::null(),
25041 depth_clamp_mode: DepthClampModeEXT::default(),
25042 depth_clamp_range: ptr::null(),
25043 }
25044 }
25045}
25046
25047unsafe impl Send for PipelineViewportDepthClampControlCreateInfoEXT {}
25048unsafe impl Sync for PipelineViewportDepthClampControlCreateInfoEXT {}
25049
25050#[repr(C)]
25052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25053pub struct PipelineViewportDepthClipControlCreateInfoEXT {
25054 pub s_type: StructureType,
25055 pub next: *const c_void,
25056 pub negative_one_to_one: Bool32,
25057}
25058
25059impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
25060 #[inline]
25061 fn default() -> Self {
25062 Self {
25063 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
25064 next: ptr::null(),
25065 negative_one_to_one: Bool32::default(),
25066 }
25067 }
25068}
25069
25070unsafe impl Send for PipelineViewportDepthClipControlCreateInfoEXT {}
25071unsafe impl Sync for PipelineViewportDepthClipControlCreateInfoEXT {}
25072
25073#[repr(C)]
25075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25076pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
25077 pub s_type: StructureType,
25078 pub next: *const c_void,
25079 pub exclusive_scissor_count: u32,
25080 pub exclusive_scissors: *const Rect2D,
25081}
25082
25083impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
25084 #[inline]
25085 fn default() -> Self {
25086 Self {
25087 s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
25088 next: ptr::null(),
25089 exclusive_scissor_count: u32::default(),
25090 exclusive_scissors: ptr::null(),
25091 }
25092 }
25093}
25094
25095unsafe impl Send for PipelineViewportExclusiveScissorStateCreateInfoNV {}
25096unsafe impl Sync for PipelineViewportExclusiveScissorStateCreateInfoNV {}
25097
25098#[repr(C)]
25100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25101pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
25102 pub s_type: StructureType,
25103 pub next: *const c_void,
25104 pub shading_rate_image_enable: Bool32,
25105 pub viewport_count: u32,
25106 pub shading_rate_palettes: *const ShadingRatePaletteNV,
25107}
25108
25109impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
25110 #[inline]
25111 fn default() -> Self {
25112 Self {
25113 s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
25114 next: ptr::null(),
25115 shading_rate_image_enable: Bool32::default(),
25116 viewport_count: u32::default(),
25117 shading_rate_palettes: ptr::null(),
25118 }
25119 }
25120}
25121
25122unsafe impl Send for PipelineViewportShadingRateImageStateCreateInfoNV {}
25123unsafe impl Sync for PipelineViewportShadingRateImageStateCreateInfoNV {}
25124
25125#[repr(C)]
25127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25128pub struct PipelineViewportStateCreateInfo {
25129 pub s_type: StructureType,
25130 pub next: *const c_void,
25131 pub flags: PipelineViewportStateCreateFlags,
25132 pub viewport_count: u32,
25133 pub viewports: *const Viewport,
25134 pub scissor_count: u32,
25135 pub scissors: *const Rect2D,
25136}
25137
25138impl Default for PipelineViewportStateCreateInfo {
25139 #[inline]
25140 fn default() -> Self {
25141 Self {
25142 s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
25143 next: ptr::null(),
25144 flags: PipelineViewportStateCreateFlags::default(),
25145 viewport_count: u32::default(),
25146 viewports: ptr::null(),
25147 scissor_count: u32::default(),
25148 scissors: ptr::null(),
25149 }
25150 }
25151}
25152
25153unsafe impl Send for PipelineViewportStateCreateInfo {}
25154unsafe impl Sync for PipelineViewportStateCreateInfo {}
25155
25156#[repr(C)]
25158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25159pub struct PipelineViewportSwizzleStateCreateInfoNV {
25160 pub s_type: StructureType,
25161 pub next: *const c_void,
25162 pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
25163 pub viewport_count: u32,
25164 pub viewport_swizzles: *const ViewportSwizzleNV,
25165}
25166
25167impl Default for PipelineViewportSwizzleStateCreateInfoNV {
25168 #[inline]
25169 fn default() -> Self {
25170 Self {
25171 s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
25172 next: ptr::null(),
25173 flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
25174 viewport_count: u32::default(),
25175 viewport_swizzles: ptr::null(),
25176 }
25177 }
25178}
25179
25180unsafe impl Send for PipelineViewportSwizzleStateCreateInfoNV {}
25181unsafe impl Sync for PipelineViewportSwizzleStateCreateInfoNV {}
25182
25183#[repr(C)]
25185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25186pub struct PipelineViewportWScalingStateCreateInfoNV {
25187 pub s_type: StructureType,
25188 pub next: *const c_void,
25189 pub viewport_w_scaling_enable: Bool32,
25190 pub viewport_count: u32,
25191 pub viewport_w_scalings: *const ViewportWScalingNV,
25192}
25193
25194impl Default for PipelineViewportWScalingStateCreateInfoNV {
25195 #[inline]
25196 fn default() -> Self {
25197 Self {
25198 s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
25199 next: ptr::null(),
25200 viewport_w_scaling_enable: Bool32::default(),
25201 viewport_count: u32::default(),
25202 viewport_w_scalings: ptr::null(),
25203 }
25204 }
25205}
25206
25207unsafe impl Send for PipelineViewportWScalingStateCreateInfoNV {}
25208unsafe impl Sync for PipelineViewportWScalingStateCreateInfoNV {}
25209
25210#[repr(C)]
25212#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25213pub struct PresentFrameTokenGGP {
25214 pub s_type: StructureType,
25215 pub next: *const c_void,
25216 pub frame_token: GgpFrameToken,
25217}
25218
25219impl Default for PresentFrameTokenGGP {
25220 #[inline]
25221 fn default() -> Self {
25222 Self {
25223 s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
25224 next: ptr::null(),
25225 frame_token: GgpFrameToken::default(),
25226 }
25227 }
25228}
25229
25230unsafe impl Send for PresentFrameTokenGGP {}
25231unsafe impl Sync for PresentFrameTokenGGP {}
25232
25233#[repr(C)]
25235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25236pub struct PresentId2KHR {
25237 pub s_type: StructureType,
25238 pub next: *const c_void,
25239 pub swapchain_count: u32,
25240 pub present_ids: *const u64,
25241}
25242
25243impl Default for PresentId2KHR {
25244 #[inline]
25245 fn default() -> Self {
25246 Self {
25247 s_type: StructureType::PRESENT_ID_2_KHR,
25248 next: ptr::null(),
25249 swapchain_count: u32::default(),
25250 present_ids: ptr::null(),
25251 }
25252 }
25253}
25254
25255unsafe impl Send for PresentId2KHR {}
25256unsafe impl Sync for PresentId2KHR {}
25257
25258#[repr(C)]
25260#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25261pub struct PresentIdKHR {
25262 pub s_type: StructureType,
25263 pub next: *const c_void,
25264 pub swapchain_count: u32,
25265 pub present_ids: *const u64,
25266}
25267
25268impl Default for PresentIdKHR {
25269 #[inline]
25270 fn default() -> Self {
25271 Self {
25272 s_type: StructureType::PRESENT_ID_KHR,
25273 next: ptr::null(),
25274 swapchain_count: u32::default(),
25275 present_ids: ptr::null(),
25276 }
25277 }
25278}
25279
25280unsafe impl Send for PresentIdKHR {}
25281unsafe impl Sync for PresentIdKHR {}
25282
25283#[repr(C)]
25285#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25286pub struct PresentInfoKHR {
25287 pub s_type: StructureType,
25288 pub next: *const c_void,
25289 pub wait_semaphore_count: u32,
25290 pub wait_semaphores: *const Semaphore,
25291 pub swapchain_count: u32,
25292 pub swapchains: *const SwapchainKHR,
25293 pub image_indices: *const u32,
25294 pub results: *mut Result,
25295}
25296
25297impl Default for PresentInfoKHR {
25298 #[inline]
25299 fn default() -> Self {
25300 Self {
25301 s_type: StructureType::PRESENT_INFO_KHR,
25302 next: ptr::null(),
25303 wait_semaphore_count: u32::default(),
25304 wait_semaphores: ptr::null(),
25305 swapchain_count: u32::default(),
25306 swapchains: ptr::null(),
25307 image_indices: ptr::null(),
25308 results: ptr::null_mut(),
25309 }
25310 }
25311}
25312
25313unsafe impl Send for PresentInfoKHR {}
25314unsafe impl Sync for PresentInfoKHR {}
25315
25316#[repr(C)]
25318#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25319pub struct PresentRegionKHR {
25320 pub rectangle_count: u32,
25321 pub rectangles: *const RectLayerKHR,
25322}
25323
25324impl Default for PresentRegionKHR {
25325 #[inline]
25326 fn default() -> Self {
25327 Self {
25328 rectangle_count: u32::default(),
25329 rectangles: ptr::null(),
25330 }
25331 }
25332}
25333
25334unsafe impl Send for PresentRegionKHR {}
25335unsafe impl Sync for PresentRegionKHR {}
25336
25337#[repr(C)]
25339#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25340pub struct PresentRegionsKHR {
25341 pub s_type: StructureType,
25342 pub next: *const c_void,
25343 pub swapchain_count: u32,
25344 pub regions: *const PresentRegionKHR,
25345}
25346
25347impl Default for PresentRegionsKHR {
25348 #[inline]
25349 fn default() -> Self {
25350 Self {
25351 s_type: StructureType::PRESENT_REGIONS_KHR,
25352 next: ptr::null(),
25353 swapchain_count: u32::default(),
25354 regions: ptr::null(),
25355 }
25356 }
25357}
25358
25359unsafe impl Send for PresentRegionsKHR {}
25360unsafe impl Sync for PresentRegionsKHR {}
25361
25362#[repr(C)]
25364#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25365pub struct PresentTimeGOOGLE {
25366 pub present_id: u32,
25367 pub desired_present_time: u64,
25368}
25369
25370#[repr(C)]
25372#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25373pub struct PresentTimesInfoGOOGLE {
25374 pub s_type: StructureType,
25375 pub next: *const c_void,
25376 pub swapchain_count: u32,
25377 pub times: *const PresentTimeGOOGLE,
25378}
25379
25380impl Default for PresentTimesInfoGOOGLE {
25381 #[inline]
25382 fn default() -> Self {
25383 Self {
25384 s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
25385 next: ptr::null(),
25386 swapchain_count: u32::default(),
25387 times: ptr::null(),
25388 }
25389 }
25390}
25391
25392unsafe impl Send for PresentTimesInfoGOOGLE {}
25393unsafe impl Sync for PresentTimesInfoGOOGLE {}
25394
25395#[repr(C)]
25397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25398pub struct PresentWait2InfoKHR {
25399 pub s_type: StructureType,
25400 pub next: *const c_void,
25401 pub present_id: u64,
25402 pub timeout: u64,
25403}
25404
25405impl Default for PresentWait2InfoKHR {
25406 #[inline]
25407 fn default() -> Self {
25408 Self {
25409 s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
25410 next: ptr::null(),
25411 present_id: u64::default(),
25412 timeout: u64::default(),
25413 }
25414 }
25415}
25416
25417unsafe impl Send for PresentWait2InfoKHR {}
25418unsafe impl Sync for PresentWait2InfoKHR {}
25419
25420#[repr(C)]
25422#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25423pub struct PrivateDataSlotCreateInfo {
25424 pub s_type: StructureType,
25425 pub next: *const c_void,
25426 pub flags: PrivateDataSlotCreateFlags,
25427}
25428
25429impl Default for PrivateDataSlotCreateInfo {
25430 #[inline]
25431 fn default() -> Self {
25432 Self {
25433 s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
25434 next: ptr::null(),
25435 flags: PrivateDataSlotCreateFlags::default(),
25436 }
25437 }
25438}
25439
25440unsafe impl Send for PrivateDataSlotCreateInfo {}
25441unsafe impl Sync for PrivateDataSlotCreateInfo {}
25442
25443#[repr(C)]
25445#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25446pub struct ProtectedSubmitInfo {
25447 pub s_type: StructureType,
25448 pub next: *const c_void,
25449 pub protected_submit: Bool32,
25450}
25451
25452impl Default for ProtectedSubmitInfo {
25453 #[inline]
25454 fn default() -> Self {
25455 Self {
25456 s_type: StructureType::PROTECTED_SUBMIT_INFO,
25457 next: ptr::null(),
25458 protected_submit: Bool32::default(),
25459 }
25460 }
25461}
25462
25463unsafe impl Send for ProtectedSubmitInfo {}
25464unsafe impl Sync for ProtectedSubmitInfo {}
25465
25466#[repr(C)]
25468#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25469pub struct PushConstantRange {
25470 pub stage_flags: ShaderStageFlags,
25471 pub offset: u32,
25472 pub size: u32,
25473}
25474
25475#[repr(C)]
25477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25478pub struct PushConstantsInfo {
25479 pub s_type: StructureType,
25480 pub next: *const c_void,
25481 pub layout: PipelineLayout,
25482 pub stage_flags: ShaderStageFlags,
25483 pub offset: u32,
25484 pub size: u32,
25485 pub values: *const c_void,
25486}
25487
25488impl Default for PushConstantsInfo {
25489 #[inline]
25490 fn default() -> Self {
25491 Self {
25492 s_type: StructureType::PUSH_CONSTANTS_INFO,
25493 next: ptr::null(),
25494 layout: PipelineLayout::default(),
25495 stage_flags: ShaderStageFlags::default(),
25496 offset: u32::default(),
25497 size: u32::default(),
25498 values: ptr::null(),
25499 }
25500 }
25501}
25502
25503unsafe impl Send for PushConstantsInfo {}
25504unsafe impl Sync for PushConstantsInfo {}
25505
25506#[repr(C)]
25508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25509pub struct PushDescriptorSetInfo {
25510 pub s_type: StructureType,
25511 pub next: *const c_void,
25512 pub stage_flags: ShaderStageFlags,
25513 pub layout: PipelineLayout,
25514 pub set: u32,
25515 pub descriptor_write_count: u32,
25516 pub descriptor_writes: *const WriteDescriptorSet,
25517}
25518
25519impl Default for PushDescriptorSetInfo {
25520 #[inline]
25521 fn default() -> Self {
25522 Self {
25523 s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
25524 next: ptr::null(),
25525 stage_flags: ShaderStageFlags::default(),
25526 layout: PipelineLayout::default(),
25527 set: u32::default(),
25528 descriptor_write_count: u32::default(),
25529 descriptor_writes: ptr::null(),
25530 }
25531 }
25532}
25533
25534unsafe impl Send for PushDescriptorSetInfo {}
25535unsafe impl Sync for PushDescriptorSetInfo {}
25536
25537#[repr(C)]
25539#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25540pub struct PushDescriptorSetWithTemplateInfo {
25541 pub s_type: StructureType,
25542 pub next: *const c_void,
25543 pub descriptor_update_template: DescriptorUpdateTemplate,
25544 pub layout: PipelineLayout,
25545 pub set: u32,
25546 pub data: *const c_void,
25547}
25548
25549impl Default for PushDescriptorSetWithTemplateInfo {
25550 #[inline]
25551 fn default() -> Self {
25552 Self {
25553 s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
25554 next: ptr::null(),
25555 descriptor_update_template: DescriptorUpdateTemplate::default(),
25556 layout: PipelineLayout::default(),
25557 set: u32::default(),
25558 data: ptr::null(),
25559 }
25560 }
25561}
25562
25563unsafe impl Send for PushDescriptorSetWithTemplateInfo {}
25564unsafe impl Sync for PushDescriptorSetWithTemplateInfo {}
25565
25566#[repr(C)]
25568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25569pub struct QueryLowLatencySupportNV {
25570 pub s_type: StructureType,
25571 pub next: *const c_void,
25572 pub queried_low_latency_data: *mut c_void,
25573}
25574
25575impl Default for QueryLowLatencySupportNV {
25576 #[inline]
25577 fn default() -> Self {
25578 Self {
25579 s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
25580 next: ptr::null(),
25581 queried_low_latency_data: ptr::null_mut(),
25582 }
25583 }
25584}
25585
25586unsafe impl Send for QueryLowLatencySupportNV {}
25587unsafe impl Sync for QueryLowLatencySupportNV {}
25588
25589#[repr(C)]
25591#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25592pub struct QueryPoolCreateInfo {
25593 pub s_type: StructureType,
25594 pub next: *const c_void,
25595 pub flags: QueryPoolCreateFlags,
25596 pub query_type: QueryType,
25597 pub query_count: u32,
25598 pub pipeline_statistics: QueryPipelineStatisticFlags,
25599}
25600
25601impl Default for QueryPoolCreateInfo {
25602 #[inline]
25603 fn default() -> Self {
25604 Self {
25605 s_type: StructureType::QUERY_POOL_CREATE_INFO,
25606 next: ptr::null(),
25607 flags: QueryPoolCreateFlags::default(),
25608 query_type: QueryType::default(),
25609 query_count: u32::default(),
25610 pipeline_statistics: QueryPipelineStatisticFlags::default(),
25611 }
25612 }
25613}
25614
25615unsafe impl Send for QueryPoolCreateInfo {}
25616unsafe impl Sync for QueryPoolCreateInfo {}
25617
25618#[repr(C)]
25620#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25621pub struct QueryPoolPerformanceCreateInfoKHR {
25622 pub s_type: StructureType,
25623 pub next: *const c_void,
25624 pub queue_family_index: u32,
25625 pub counter_index_count: u32,
25626 pub counter_indices: *const u32,
25627}
25628
25629impl Default for QueryPoolPerformanceCreateInfoKHR {
25630 #[inline]
25631 fn default() -> Self {
25632 Self {
25633 s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
25634 next: ptr::null(),
25635 queue_family_index: u32::default(),
25636 counter_index_count: u32::default(),
25637 counter_indices: ptr::null(),
25638 }
25639 }
25640}
25641
25642unsafe impl Send for QueryPoolPerformanceCreateInfoKHR {}
25643unsafe impl Sync for QueryPoolPerformanceCreateInfoKHR {}
25644
25645#[repr(C)]
25647#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25648pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
25649 pub s_type: StructureType,
25650 pub next: *const c_void,
25651 pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
25652}
25653
25654impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
25655 #[inline]
25656 fn default() -> Self {
25657 Self {
25658 s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
25659 next: ptr::null(),
25660 performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
25661 }
25662 }
25663}
25664
25665unsafe impl Send for QueryPoolPerformanceQueryCreateInfoINTEL {}
25666unsafe impl Sync for QueryPoolPerformanceQueryCreateInfoINTEL {}
25667
25668#[repr(C)]
25670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25671pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
25672 pub s_type: StructureType,
25673 pub next: *const c_void,
25674 pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
25675}
25676
25677impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
25678 #[inline]
25679 fn default() -> Self {
25680 Self {
25681 s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
25682 next: ptr::null(),
25683 encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
25684 }
25685 }
25686}
25687
25688unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
25689unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
25690
25691#[repr(C)]
25693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25694pub struct QueueFamilyCheckpointProperties2NV {
25695 pub s_type: StructureType,
25696 pub next: *mut c_void,
25697 pub checkpoint_execution_stage_mask: PipelineStageFlags2,
25698}
25699
25700impl Default for QueueFamilyCheckpointProperties2NV {
25701 #[inline]
25702 fn default() -> Self {
25703 Self {
25704 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
25705 next: ptr::null_mut(),
25706 checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
25707 }
25708 }
25709}
25710
25711unsafe impl Send for QueueFamilyCheckpointProperties2NV {}
25712unsafe impl Sync for QueueFamilyCheckpointProperties2NV {}
25713
25714#[repr(C)]
25716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25717pub struct QueueFamilyCheckpointPropertiesNV {
25718 pub s_type: StructureType,
25719 pub next: *mut c_void,
25720 pub checkpoint_execution_stage_mask: PipelineStageFlags,
25721}
25722
25723impl Default for QueueFamilyCheckpointPropertiesNV {
25724 #[inline]
25725 fn default() -> Self {
25726 Self {
25727 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
25728 next: ptr::null_mut(),
25729 checkpoint_execution_stage_mask: PipelineStageFlags::default(),
25730 }
25731 }
25732}
25733
25734unsafe impl Send for QueueFamilyCheckpointPropertiesNV {}
25735unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {}
25736
25737#[repr(C)]
25739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25740pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
25741 pub s_type: StructureType,
25742 pub next: *const c_void,
25743 pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
25744 pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
25745}
25746
25747impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
25748 #[inline]
25749 fn default() -> Self {
25750 Self {
25751 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
25752 next: ptr::null(),
25753 foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
25754 foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
25755 }
25756 }
25757}
25758
25759unsafe impl Send for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
25760unsafe impl Sync for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
25761
25762#[repr(C)]
25764#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25765pub struct QueueFamilyDataGraphPropertiesARM {
25766 pub s_type: StructureType,
25767 pub next: *const c_void,
25768 pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
25769 pub operation: PhysicalDeviceDataGraphOperationSupportARM,
25770}
25771
25772impl Default for QueueFamilyDataGraphPropertiesARM {
25773 #[inline]
25774 fn default() -> Self {
25775 Self {
25776 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
25777 next: ptr::null(),
25778 engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
25779 operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
25780 }
25781 }
25782}
25783
25784unsafe impl Send for QueueFamilyDataGraphPropertiesARM {}
25785unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {}
25786
25787#[repr(C)]
25789#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25790pub struct QueueFamilyGlobalPriorityProperties {
25791 pub s_type: StructureType,
25792 pub next: *mut c_void,
25793 pub priority_count: u32,
25794 pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE],
25795}
25796
25797impl Default for QueueFamilyGlobalPriorityProperties {
25798 #[inline]
25799 fn default() -> Self {
25800 Self {
25801 s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
25802 next: ptr::null_mut(),
25803 priority_count: u32::default(),
25804 priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
25805 }
25806 }
25807}
25808
25809unsafe impl Send for QueueFamilyGlobalPriorityProperties {}
25810unsafe impl Sync for QueueFamilyGlobalPriorityProperties {}
25811
25812#[repr(C)]
25814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25815pub struct QueueFamilyOwnershipTransferPropertiesKHR {
25816 pub s_type: StructureType,
25817 pub next: *mut c_void,
25818 pub optimal_image_transfer_to_queue_families: u32,
25819}
25820
25821impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
25822 #[inline]
25823 fn default() -> Self {
25824 Self {
25825 s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
25826 next: ptr::null_mut(),
25827 optimal_image_transfer_to_queue_families: u32::default(),
25828 }
25829 }
25830}
25831
25832unsafe impl Send for QueueFamilyOwnershipTransferPropertiesKHR {}
25833unsafe impl Sync for QueueFamilyOwnershipTransferPropertiesKHR {}
25834
25835#[repr(C)]
25837#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25838pub struct QueueFamilyProperties {
25839 pub queue_flags: QueueFlags,
25840 pub queue_count: u32,
25841 pub timestamp_valid_bits: u32,
25842 pub min_image_transfer_granularity: Extent3D,
25843}
25844
25845#[repr(C)]
25847#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25848pub struct QueueFamilyProperties2 {
25849 pub s_type: StructureType,
25850 pub next: *mut c_void,
25851 pub queue_family_properties: QueueFamilyProperties,
25852}
25853
25854impl Default for QueueFamilyProperties2 {
25855 #[inline]
25856 fn default() -> Self {
25857 Self {
25858 s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
25859 next: ptr::null_mut(),
25860 queue_family_properties: QueueFamilyProperties::default(),
25861 }
25862 }
25863}
25864
25865unsafe impl Send for QueueFamilyProperties2 {}
25866unsafe impl Sync for QueueFamilyProperties2 {}
25867
25868#[repr(C)]
25870#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25871pub struct QueueFamilyQueryResultStatusPropertiesKHR {
25872 pub s_type: StructureType,
25873 pub next: *mut c_void,
25874 pub query_result_status_support: Bool32,
25875}
25876
25877impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
25878 #[inline]
25879 fn default() -> Self {
25880 Self {
25881 s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
25882 next: ptr::null_mut(),
25883 query_result_status_support: Bool32::default(),
25884 }
25885 }
25886}
25887
25888unsafe impl Send for QueueFamilyQueryResultStatusPropertiesKHR {}
25889unsafe impl Sync for QueueFamilyQueryResultStatusPropertiesKHR {}
25890
25891#[repr(C)]
25893#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25894pub struct QueueFamilyVideoPropertiesKHR {
25895 pub s_type: StructureType,
25896 pub next: *mut c_void,
25897 pub video_codec_operations: VideoCodecOperationFlagsKHR,
25898}
25899
25900impl Default for QueueFamilyVideoPropertiesKHR {
25901 #[inline]
25902 fn default() -> Self {
25903 Self {
25904 s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
25905 next: ptr::null_mut(),
25906 video_codec_operations: VideoCodecOperationFlagsKHR::default(),
25907 }
25908 }
25909}
25910
25911unsafe impl Send for QueueFamilyVideoPropertiesKHR {}
25912unsafe impl Sync for QueueFamilyVideoPropertiesKHR {}
25913
25914#[repr(C)]
25916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25917pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
25918 pub s_type: StructureType,
25919 pub next: *mut c_void,
25920 pub allow_cluster_acceleration_structure: Bool32,
25921}
25922
25923impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
25924 #[inline]
25925 fn default() -> Self {
25926 Self {
25927 s_type:
25928 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
25929 next: ptr::null_mut(),
25930 allow_cluster_acceleration_structure: Bool32::default(),
25931 }
25932 }
25933}
25934
25935unsafe impl Send for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
25936unsafe impl Sync for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
25937
25938#[repr(C)]
25940#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25941pub struct RayTracingPipelineCreateInfoKHR {
25942 pub s_type: StructureType,
25943 pub next: *const c_void,
25944 pub flags: PipelineCreateFlags,
25945 pub stage_count: u32,
25946 pub stages: *const PipelineShaderStageCreateInfo,
25947 pub group_count: u32,
25948 pub groups: *const RayTracingShaderGroupCreateInfoKHR,
25949 pub max_pipeline_ray_recursion_depth: u32,
25950 pub library_info: *const PipelineLibraryCreateInfoKHR,
25951 pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
25952 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
25953 pub layout: PipelineLayout,
25954 pub base_pipeline_handle: Pipeline,
25955 pub base_pipeline_index: i32,
25956}
25957
25958impl Default for RayTracingPipelineCreateInfoKHR {
25959 #[inline]
25960 fn default() -> Self {
25961 Self {
25962 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
25963 next: ptr::null(),
25964 flags: PipelineCreateFlags::default(),
25965 stage_count: u32::default(),
25966 stages: ptr::null(),
25967 group_count: u32::default(),
25968 groups: ptr::null(),
25969 max_pipeline_ray_recursion_depth: u32::default(),
25970 library_info: ptr::null(),
25971 library_interface: ptr::null(),
25972 dynamic_state: ptr::null(),
25973 layout: PipelineLayout::default(),
25974 base_pipeline_handle: Pipeline::default(),
25975 base_pipeline_index: i32::default(),
25976 }
25977 }
25978}
25979
25980unsafe impl Send for RayTracingPipelineCreateInfoKHR {}
25981unsafe impl Sync for RayTracingPipelineCreateInfoKHR {}
25982
25983#[repr(C)]
25985#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25986pub struct RayTracingPipelineCreateInfoNV {
25987 pub s_type: StructureType,
25988 pub next: *const c_void,
25989 pub flags: PipelineCreateFlags,
25990 pub stage_count: u32,
25991 pub stages: *const PipelineShaderStageCreateInfo,
25992 pub group_count: u32,
25993 pub groups: *const RayTracingShaderGroupCreateInfoNV,
25994 pub max_recursion_depth: u32,
25995 pub layout: PipelineLayout,
25996 pub base_pipeline_handle: Pipeline,
25997 pub base_pipeline_index: i32,
25998}
25999
26000impl Default for RayTracingPipelineCreateInfoNV {
26001 #[inline]
26002 fn default() -> Self {
26003 Self {
26004 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
26005 next: ptr::null(),
26006 flags: PipelineCreateFlags::default(),
26007 stage_count: u32::default(),
26008 stages: ptr::null(),
26009 group_count: u32::default(),
26010 groups: ptr::null(),
26011 max_recursion_depth: u32::default(),
26012 layout: PipelineLayout::default(),
26013 base_pipeline_handle: Pipeline::default(),
26014 base_pipeline_index: i32::default(),
26015 }
26016 }
26017}
26018
26019unsafe impl Send for RayTracingPipelineCreateInfoNV {}
26020unsafe impl Sync for RayTracingPipelineCreateInfoNV {}
26021
26022#[repr(C)]
26024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26025pub struct RayTracingPipelineInterfaceCreateInfoKHR {
26026 pub s_type: StructureType,
26027 pub next: *const c_void,
26028 pub max_pipeline_ray_payload_size: u32,
26029 pub max_pipeline_ray_hit_attribute_size: u32,
26030}
26031
26032impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
26033 #[inline]
26034 fn default() -> Self {
26035 Self {
26036 s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
26037 next: ptr::null(),
26038 max_pipeline_ray_payload_size: u32::default(),
26039 max_pipeline_ray_hit_attribute_size: u32::default(),
26040 }
26041 }
26042}
26043
26044unsafe impl Send for RayTracingPipelineInterfaceCreateInfoKHR {}
26045unsafe impl Sync for RayTracingPipelineInterfaceCreateInfoKHR {}
26046
26047#[repr(C)]
26049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26050pub struct RayTracingShaderGroupCreateInfoKHR {
26051 pub s_type: StructureType,
26052 pub next: *const c_void,
26053 pub type_: RayTracingShaderGroupTypeKHR,
26054 pub general_shader: u32,
26055 pub closest_hit_shader: u32,
26056 pub any_hit_shader: u32,
26057 pub intersection_shader: u32,
26058 pub shader_group_capture_replay_handle: *const c_void,
26059}
26060
26061impl Default for RayTracingShaderGroupCreateInfoKHR {
26062 #[inline]
26063 fn default() -> Self {
26064 Self {
26065 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
26066 next: ptr::null(),
26067 type_: RayTracingShaderGroupTypeKHR::default(),
26068 general_shader: u32::default(),
26069 closest_hit_shader: u32::default(),
26070 any_hit_shader: u32::default(),
26071 intersection_shader: u32::default(),
26072 shader_group_capture_replay_handle: ptr::null(),
26073 }
26074 }
26075}
26076
26077unsafe impl Send for RayTracingShaderGroupCreateInfoKHR {}
26078unsafe impl Sync for RayTracingShaderGroupCreateInfoKHR {}
26079
26080#[repr(C)]
26082#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26083pub struct RayTracingShaderGroupCreateInfoNV {
26084 pub s_type: StructureType,
26085 pub next: *const c_void,
26086 pub type_: RayTracingShaderGroupTypeKHR,
26087 pub general_shader: u32,
26088 pub closest_hit_shader: u32,
26089 pub any_hit_shader: u32,
26090 pub intersection_shader: u32,
26091}
26092
26093impl Default for RayTracingShaderGroupCreateInfoNV {
26094 #[inline]
26095 fn default() -> Self {
26096 Self {
26097 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
26098 next: ptr::null(),
26099 type_: RayTracingShaderGroupTypeKHR::default(),
26100 general_shader: u32::default(),
26101 closest_hit_shader: u32::default(),
26102 any_hit_shader: u32::default(),
26103 intersection_shader: u32::default(),
26104 }
26105 }
26106}
26107
26108unsafe impl Send for RayTracingShaderGroupCreateInfoNV {}
26109unsafe impl Sync for RayTracingShaderGroupCreateInfoNV {}
26110
26111#[repr(C)]
26113#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26114pub struct Rect2D {
26115 pub offset: Offset2D,
26116 pub extent: Extent2D,
26117}
26118
26119#[repr(C)]
26121#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26122pub struct RectLayerKHR {
26123 pub offset: Offset2D,
26124 pub extent: Extent2D,
26125 pub layer: u32,
26126}
26127
26128#[repr(C)]
26130#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26131pub struct RefreshCycleDurationGOOGLE {
26132 pub refresh_duration: u64,
26133}
26134
26135#[repr(C)]
26137#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26138pub struct RefreshObjectKHR {
26139 pub object_type: ObjectType,
26140 pub object_handle: u64,
26141 pub flags: RefreshObjectFlagsKHR,
26142}
26143
26144#[repr(C)]
26146#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26147pub struct RefreshObjectListKHR {
26148 pub s_type: StructureType,
26149 pub next: *const c_void,
26150 pub object_count: u32,
26151 pub objects: *const RefreshObjectKHR,
26152}
26153
26154impl Default for RefreshObjectListKHR {
26155 #[inline]
26156 fn default() -> Self {
26157 Self {
26158 s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
26159 next: ptr::null(),
26160 object_count: u32::default(),
26161 objects: ptr::null(),
26162 }
26163 }
26164}
26165
26166unsafe impl Send for RefreshObjectListKHR {}
26167unsafe impl Sync for RefreshObjectListKHR {}
26168
26169#[repr(C)]
26171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26172pub struct ReleaseCapturedPipelineDataInfoKHR {
26173 pub s_type: StructureType,
26174 pub next: *mut c_void,
26175 pub pipeline: Pipeline,
26176}
26177
26178impl Default for ReleaseCapturedPipelineDataInfoKHR {
26179 #[inline]
26180 fn default() -> Self {
26181 Self {
26182 s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
26183 next: ptr::null_mut(),
26184 pipeline: Pipeline::default(),
26185 }
26186 }
26187}
26188
26189unsafe impl Send for ReleaseCapturedPipelineDataInfoKHR {}
26190unsafe impl Sync for ReleaseCapturedPipelineDataInfoKHR {}
26191
26192#[repr(C)]
26194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26195pub struct ReleaseSwapchainImagesInfoKHR {
26196 pub s_type: StructureType,
26197 pub next: *const c_void,
26198 pub swapchain: SwapchainKHR,
26199 pub image_index_count: u32,
26200 pub image_indices: *const u32,
26201}
26202
26203impl Default for ReleaseSwapchainImagesInfoKHR {
26204 #[inline]
26205 fn default() -> Self {
26206 Self {
26207 s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
26208 next: ptr::null(),
26209 swapchain: SwapchainKHR::default(),
26210 image_index_count: u32::default(),
26211 image_indices: ptr::null(),
26212 }
26213 }
26214}
26215
26216unsafe impl Send for ReleaseSwapchainImagesInfoKHR {}
26217unsafe impl Sync for ReleaseSwapchainImagesInfoKHR {}
26218
26219#[repr(C)]
26221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26222pub struct RenderPassAttachmentBeginInfo {
26223 pub s_type: StructureType,
26224 pub next: *const c_void,
26225 pub attachment_count: u32,
26226 pub attachments: *const ImageView,
26227}
26228
26229impl Default for RenderPassAttachmentBeginInfo {
26230 #[inline]
26231 fn default() -> Self {
26232 Self {
26233 s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
26234 next: ptr::null(),
26235 attachment_count: u32::default(),
26236 attachments: ptr::null(),
26237 }
26238 }
26239}
26240
26241unsafe impl Send for RenderPassAttachmentBeginInfo {}
26242unsafe impl Sync for RenderPassAttachmentBeginInfo {}
26243
26244#[repr(C)]
26246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26247pub struct RenderPassBeginInfo {
26248 pub s_type: StructureType,
26249 pub next: *const c_void,
26250 pub render_pass: RenderPass,
26251 pub framebuffer: Framebuffer,
26252 pub render_area: Rect2D,
26253 pub clear_value_count: u32,
26254 pub clear_values: *const ClearValue,
26255}
26256
26257impl Default for RenderPassBeginInfo {
26258 #[inline]
26259 fn default() -> Self {
26260 Self {
26261 s_type: StructureType::RENDER_PASS_BEGIN_INFO,
26262 next: ptr::null(),
26263 render_pass: RenderPass::default(),
26264 framebuffer: Framebuffer::default(),
26265 render_area: Rect2D::default(),
26266 clear_value_count: u32::default(),
26267 clear_values: ptr::null(),
26268 }
26269 }
26270}
26271
26272unsafe impl Send for RenderPassBeginInfo {}
26273unsafe impl Sync for RenderPassBeginInfo {}
26274
26275#[repr(C)]
26277#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26278pub struct RenderPassCreateInfo {
26279 pub s_type: StructureType,
26280 pub next: *const c_void,
26281 pub flags: RenderPassCreateFlags,
26282 pub attachment_count: u32,
26283 pub attachments: *const AttachmentDescription,
26284 pub subpass_count: u32,
26285 pub subpasses: *const SubpassDescription,
26286 pub dependency_count: u32,
26287 pub dependencies: *const SubpassDependency,
26288}
26289
26290impl Default for RenderPassCreateInfo {
26291 #[inline]
26292 fn default() -> Self {
26293 Self {
26294 s_type: StructureType::RENDER_PASS_CREATE_INFO,
26295 next: ptr::null(),
26296 flags: RenderPassCreateFlags::default(),
26297 attachment_count: u32::default(),
26298 attachments: ptr::null(),
26299 subpass_count: u32::default(),
26300 subpasses: ptr::null(),
26301 dependency_count: u32::default(),
26302 dependencies: ptr::null(),
26303 }
26304 }
26305}
26306
26307unsafe impl Send for RenderPassCreateInfo {}
26308unsafe impl Sync for RenderPassCreateInfo {}
26309
26310#[repr(C)]
26312#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26313pub struct RenderPassCreateInfo2 {
26314 pub s_type: StructureType,
26315 pub next: *const c_void,
26316 pub flags: RenderPassCreateFlags,
26317 pub attachment_count: u32,
26318 pub attachments: *const AttachmentDescription2,
26319 pub subpass_count: u32,
26320 pub subpasses: *const SubpassDescription2,
26321 pub dependency_count: u32,
26322 pub dependencies: *const SubpassDependency2,
26323 pub correlated_view_mask_count: u32,
26324 pub correlated_view_masks: *const u32,
26325}
26326
26327impl Default for RenderPassCreateInfo2 {
26328 #[inline]
26329 fn default() -> Self {
26330 Self {
26331 s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
26332 next: ptr::null(),
26333 flags: RenderPassCreateFlags::default(),
26334 attachment_count: u32::default(),
26335 attachments: ptr::null(),
26336 subpass_count: u32::default(),
26337 subpasses: ptr::null(),
26338 dependency_count: u32::default(),
26339 dependencies: ptr::null(),
26340 correlated_view_mask_count: u32::default(),
26341 correlated_view_masks: ptr::null(),
26342 }
26343 }
26344}
26345
26346unsafe impl Send for RenderPassCreateInfo2 {}
26347unsafe impl Sync for RenderPassCreateInfo2 {}
26348
26349#[repr(C)]
26351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26352pub struct RenderPassCreationControlEXT {
26353 pub s_type: StructureType,
26354 pub next: *const c_void,
26355 pub disallow_merging: Bool32,
26356}
26357
26358impl Default for RenderPassCreationControlEXT {
26359 #[inline]
26360 fn default() -> Self {
26361 Self {
26362 s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
26363 next: ptr::null(),
26364 disallow_merging: Bool32::default(),
26365 }
26366 }
26367}
26368
26369unsafe impl Send for RenderPassCreationControlEXT {}
26370unsafe impl Sync for RenderPassCreationControlEXT {}
26371
26372#[repr(C)]
26374#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26375pub struct RenderPassCreationFeedbackCreateInfoEXT {
26376 pub s_type: StructureType,
26377 pub next: *const c_void,
26378 pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
26379}
26380
26381impl Default for RenderPassCreationFeedbackCreateInfoEXT {
26382 #[inline]
26383 fn default() -> Self {
26384 Self {
26385 s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
26386 next: ptr::null(),
26387 render_pass_feedback: ptr::null_mut(),
26388 }
26389 }
26390}
26391
26392unsafe impl Send for RenderPassCreationFeedbackCreateInfoEXT {}
26393unsafe impl Sync for RenderPassCreationFeedbackCreateInfoEXT {}
26394
26395#[repr(C)]
26397#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26398pub struct RenderPassCreationFeedbackInfoEXT {
26399 pub post_merge_subpass_count: u32,
26400}
26401
26402#[repr(C)]
26404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26405pub struct RenderPassFragmentDensityMapCreateInfoEXT {
26406 pub s_type: StructureType,
26407 pub next: *const c_void,
26408 pub fragment_density_map_attachment: AttachmentReference,
26409}
26410
26411impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
26412 #[inline]
26413 fn default() -> Self {
26414 Self {
26415 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
26416 next: ptr::null(),
26417 fragment_density_map_attachment: AttachmentReference::default(),
26418 }
26419 }
26420}
26421
26422unsafe impl Send for RenderPassFragmentDensityMapCreateInfoEXT {}
26423unsafe impl Sync for RenderPassFragmentDensityMapCreateInfoEXT {}
26424
26425#[repr(C)]
26427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26428pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
26429 pub s_type: StructureType,
26430 pub next: *const c_void,
26431 pub fragment_density_offset_count: u32,
26432 pub fragment_density_offsets: *const Offset2D,
26433}
26434
26435impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
26436 #[inline]
26437 fn default() -> Self {
26438 Self {
26439 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
26440 next: ptr::null(),
26441 fragment_density_offset_count: u32::default(),
26442 fragment_density_offsets: ptr::null(),
26443 }
26444 }
26445}
26446
26447unsafe impl Send for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
26448unsafe impl Sync for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
26449
26450#[repr(C)]
26452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26453pub struct RenderPassInputAttachmentAspectCreateInfo {
26454 pub s_type: StructureType,
26455 pub next: *const c_void,
26456 pub aspect_reference_count: u32,
26457 pub aspect_references: *const InputAttachmentAspectReference,
26458}
26459
26460impl Default for RenderPassInputAttachmentAspectCreateInfo {
26461 #[inline]
26462 fn default() -> Self {
26463 Self {
26464 s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
26465 next: ptr::null(),
26466 aspect_reference_count: u32::default(),
26467 aspect_references: ptr::null(),
26468 }
26469 }
26470}
26471
26472unsafe impl Send for RenderPassInputAttachmentAspectCreateInfo {}
26473unsafe impl Sync for RenderPassInputAttachmentAspectCreateInfo {}
26474
26475#[repr(C)]
26477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26478pub struct RenderPassMultiviewCreateInfo {
26479 pub s_type: StructureType,
26480 pub next: *const c_void,
26481 pub subpass_count: u32,
26482 pub view_masks: *const u32,
26483 pub dependency_count: u32,
26484 pub view_offsets: *const i32,
26485 pub correlation_mask_count: u32,
26486 pub correlation_masks: *const u32,
26487}
26488
26489impl Default for RenderPassMultiviewCreateInfo {
26490 #[inline]
26491 fn default() -> Self {
26492 Self {
26493 s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
26494 next: ptr::null(),
26495 subpass_count: u32::default(),
26496 view_masks: ptr::null(),
26497 dependency_count: u32::default(),
26498 view_offsets: ptr::null(),
26499 correlation_mask_count: u32::default(),
26500 correlation_masks: ptr::null(),
26501 }
26502 }
26503}
26504
26505unsafe impl Send for RenderPassMultiviewCreateInfo {}
26506unsafe impl Sync for RenderPassMultiviewCreateInfo {}
26507
26508#[repr(C)]
26510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26511pub struct RenderPassPerformanceCountersByRegionBeginInfoARM {
26512 pub s_type: StructureType,
26513 pub next: *mut c_void,
26514 pub counter_address_count: u32,
26515 pub counter_addresses: *const DeviceAddress,
26516 pub serialize_regions: Bool32,
26517 pub counter_index_count: u32,
26518 pub counter_indices: *mut u32,
26519}
26520
26521impl Default for RenderPassPerformanceCountersByRegionBeginInfoARM {
26522 #[inline]
26523 fn default() -> Self {
26524 Self {
26525 s_type: StructureType::RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM,
26526 next: ptr::null_mut(),
26527 counter_address_count: u32::default(),
26528 counter_addresses: ptr::null(),
26529 serialize_regions: Bool32::default(),
26530 counter_index_count: u32::default(),
26531 counter_indices: ptr::null_mut(),
26532 }
26533 }
26534}
26535
26536unsafe impl Send for RenderPassPerformanceCountersByRegionBeginInfoARM {}
26537unsafe impl Sync for RenderPassPerformanceCountersByRegionBeginInfoARM {}
26538
26539#[repr(C)]
26541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26542pub struct RenderPassSampleLocationsBeginInfoEXT {
26543 pub s_type: StructureType,
26544 pub next: *const c_void,
26545 pub attachment_initial_sample_locations_count: u32,
26546 pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
26547 pub post_subpass_sample_locations_count: u32,
26548 pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
26549}
26550
26551impl Default for RenderPassSampleLocationsBeginInfoEXT {
26552 #[inline]
26553 fn default() -> Self {
26554 Self {
26555 s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
26556 next: ptr::null(),
26557 attachment_initial_sample_locations_count: u32::default(),
26558 attachment_initial_sample_locations: ptr::null(),
26559 post_subpass_sample_locations_count: u32::default(),
26560 post_subpass_sample_locations: ptr::null(),
26561 }
26562 }
26563}
26564
26565unsafe impl Send for RenderPassSampleLocationsBeginInfoEXT {}
26566unsafe impl Sync for RenderPassSampleLocationsBeginInfoEXT {}
26567
26568#[repr(C)]
26570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26571pub struct RenderPassStripeBeginInfoARM {
26572 pub s_type: StructureType,
26573 pub next: *const c_void,
26574 pub stripe_info_count: u32,
26575 pub stripe_infos: *const RenderPassStripeInfoARM,
26576}
26577
26578impl Default for RenderPassStripeBeginInfoARM {
26579 #[inline]
26580 fn default() -> Self {
26581 Self {
26582 s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
26583 next: ptr::null(),
26584 stripe_info_count: u32::default(),
26585 stripe_infos: ptr::null(),
26586 }
26587 }
26588}
26589
26590unsafe impl Send for RenderPassStripeBeginInfoARM {}
26591unsafe impl Sync for RenderPassStripeBeginInfoARM {}
26592
26593#[repr(C)]
26595#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26596pub struct RenderPassStripeInfoARM {
26597 pub s_type: StructureType,
26598 pub next: *const c_void,
26599 pub stripe_area: Rect2D,
26600}
26601
26602impl Default for RenderPassStripeInfoARM {
26603 #[inline]
26604 fn default() -> Self {
26605 Self {
26606 s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
26607 next: ptr::null(),
26608 stripe_area: Rect2D::default(),
26609 }
26610 }
26611}
26612
26613unsafe impl Send for RenderPassStripeInfoARM {}
26614unsafe impl Sync for RenderPassStripeInfoARM {}
26615
26616#[repr(C)]
26618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26619pub struct RenderPassStripeSubmitInfoARM {
26620 pub s_type: StructureType,
26621 pub next: *const c_void,
26622 pub stripe_semaphore_info_count: u32,
26623 pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
26624}
26625
26626impl Default for RenderPassStripeSubmitInfoARM {
26627 #[inline]
26628 fn default() -> Self {
26629 Self {
26630 s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
26631 next: ptr::null(),
26632 stripe_semaphore_info_count: u32::default(),
26633 stripe_semaphore_infos: ptr::null(),
26634 }
26635 }
26636}
26637
26638unsafe impl Send for RenderPassStripeSubmitInfoARM {}
26639unsafe impl Sync for RenderPassStripeSubmitInfoARM {}
26640
26641#[repr(C)]
26643#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26644pub struct RenderPassSubpassFeedbackCreateInfoEXT {
26645 pub s_type: StructureType,
26646 pub next: *const c_void,
26647 pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
26648}
26649
26650impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
26651 #[inline]
26652 fn default() -> Self {
26653 Self {
26654 s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
26655 next: ptr::null(),
26656 subpass_feedback: ptr::null_mut(),
26657 }
26658 }
26659}
26660
26661unsafe impl Send for RenderPassSubpassFeedbackCreateInfoEXT {}
26662unsafe impl Sync for RenderPassSubpassFeedbackCreateInfoEXT {}
26663
26664#[repr(C)]
26666#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26667pub struct RenderPassSubpassFeedbackInfoEXT {
26668 pub subpass_merge_status: SubpassMergeStatusEXT,
26669 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
26670 pub post_merge_index: u32,
26671}
26672
26673#[repr(C)]
26675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26676pub struct RenderPassTileShadingCreateInfoQCOM {
26677 pub s_type: StructureType,
26678 pub next: *const c_void,
26679 pub flags: TileShadingRenderPassFlagsQCOM,
26680 pub tile_apron_size: Extent2D,
26681}
26682
26683impl Default for RenderPassTileShadingCreateInfoQCOM {
26684 #[inline]
26685 fn default() -> Self {
26686 Self {
26687 s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
26688 next: ptr::null(),
26689 flags: TileShadingRenderPassFlagsQCOM::default(),
26690 tile_apron_size: Extent2D::default(),
26691 }
26692 }
26693}
26694
26695unsafe impl Send for RenderPassTileShadingCreateInfoQCOM {}
26696unsafe impl Sync for RenderPassTileShadingCreateInfoQCOM {}
26697
26698#[repr(C)]
26700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26701pub struct RenderPassTransformBeginInfoQCOM {
26702 pub s_type: StructureType,
26703 pub next: *const c_void,
26704 pub transform: SurfaceTransformFlagsKHR,
26705}
26706
26707impl Default for RenderPassTransformBeginInfoQCOM {
26708 #[inline]
26709 fn default() -> Self {
26710 Self {
26711 s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
26712 next: ptr::null(),
26713 transform: SurfaceTransformFlagsKHR::default(),
26714 }
26715 }
26716}
26717
26718unsafe impl Send for RenderPassTransformBeginInfoQCOM {}
26719unsafe impl Sync for RenderPassTransformBeginInfoQCOM {}
26720
26721#[repr(C)]
26723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26724pub struct RenderingAreaInfo {
26725 pub s_type: StructureType,
26726 pub next: *const c_void,
26727 pub view_mask: u32,
26728 pub color_attachment_count: u32,
26729 pub color_attachment_formats: *const Format,
26730 pub depth_attachment_format: Format,
26731 pub stencil_attachment_format: Format,
26732}
26733
26734impl Default for RenderingAreaInfo {
26735 #[inline]
26736 fn default() -> Self {
26737 Self {
26738 s_type: StructureType::RENDERING_AREA_INFO,
26739 next: ptr::null(),
26740 view_mask: u32::default(),
26741 color_attachment_count: u32::default(),
26742 color_attachment_formats: ptr::null(),
26743 depth_attachment_format: Format::default(),
26744 stencil_attachment_format: Format::default(),
26745 }
26746 }
26747}
26748
26749unsafe impl Send for RenderingAreaInfo {}
26750unsafe impl Sync for RenderingAreaInfo {}
26751
26752#[repr(C)]
26754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26755pub struct RenderingAttachmentFlagsInfoKHR {
26756 pub s_type: StructureType,
26757 pub next: *const c_void,
26758 pub flags: RenderingAttachmentFlagsKHR,
26759}
26760
26761impl Default for RenderingAttachmentFlagsInfoKHR {
26762 #[inline]
26763 fn default() -> Self {
26764 Self {
26765 s_type: StructureType::RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
26766 next: ptr::null(),
26767 flags: RenderingAttachmentFlagsKHR::default(),
26768 }
26769 }
26770}
26771
26772unsafe impl Send for RenderingAttachmentFlagsInfoKHR {}
26773unsafe impl Sync for RenderingAttachmentFlagsInfoKHR {}
26774
26775#[repr(C)]
26777#[derive(Copy, Clone, Debug)]
26778pub struct RenderingAttachmentInfo {
26779 pub s_type: StructureType,
26780 pub next: *const c_void,
26781 pub image_view: ImageView,
26782 pub image_layout: ImageLayout,
26783 pub resolve_mode: ResolveModeFlags,
26784 pub resolve_image_view: ImageView,
26785 pub resolve_image_layout: ImageLayout,
26786 pub load_op: AttachmentLoadOp,
26787 pub store_op: AttachmentStoreOp,
26788 pub clear_value: ClearValue,
26789}
26790
26791impl Default for RenderingAttachmentInfo {
26792 #[inline]
26793 fn default() -> Self {
26794 Self {
26795 s_type: StructureType::RENDERING_ATTACHMENT_INFO,
26796 next: ptr::null(),
26797 image_view: ImageView::default(),
26798 image_layout: ImageLayout::default(),
26799 resolve_mode: ResolveModeFlags::default(),
26800 resolve_image_view: ImageView::default(),
26801 resolve_image_layout: ImageLayout::default(),
26802 load_op: AttachmentLoadOp::default(),
26803 store_op: AttachmentStoreOp::default(),
26804 clear_value: ClearValue::default(),
26805 }
26806 }
26807}
26808
26809unsafe impl Send for RenderingAttachmentInfo {}
26810unsafe impl Sync for RenderingAttachmentInfo {}
26811
26812#[repr(C)]
26814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26815pub struct RenderingAttachmentLocationInfo {
26816 pub s_type: StructureType,
26817 pub next: *const c_void,
26818 pub color_attachment_count: u32,
26819 pub color_attachment_locations: *const u32,
26820}
26821
26822impl Default for RenderingAttachmentLocationInfo {
26823 #[inline]
26824 fn default() -> Self {
26825 Self {
26826 s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
26827 next: ptr::null(),
26828 color_attachment_count: u32::default(),
26829 color_attachment_locations: ptr::null(),
26830 }
26831 }
26832}
26833
26834unsafe impl Send for RenderingAttachmentLocationInfo {}
26835unsafe impl Sync for RenderingAttachmentLocationInfo {}
26836
26837#[repr(C)]
26839#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26840pub struct RenderingEndInfoKHR {
26841 pub s_type: StructureType,
26842 pub next: *const c_void,
26843}
26844
26845impl Default for RenderingEndInfoKHR {
26846 #[inline]
26847 fn default() -> Self {
26848 Self {
26849 s_type: StructureType::RENDERING_END_INFO_KHR,
26850 next: ptr::null(),
26851 }
26852 }
26853}
26854
26855unsafe impl Send for RenderingEndInfoKHR {}
26856unsafe impl Sync for RenderingEndInfoKHR {}
26857
26858#[repr(C)]
26860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26861pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
26862 pub s_type: StructureType,
26863 pub next: *const c_void,
26864 pub image_view: ImageView,
26865 pub image_layout: ImageLayout,
26866}
26867
26868impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
26869 #[inline]
26870 fn default() -> Self {
26871 Self {
26872 s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
26873 next: ptr::null(),
26874 image_view: ImageView::default(),
26875 image_layout: ImageLayout::default(),
26876 }
26877 }
26878}
26879
26880unsafe impl Send for RenderingFragmentDensityMapAttachmentInfoEXT {}
26881unsafe impl Sync for RenderingFragmentDensityMapAttachmentInfoEXT {}
26882
26883#[repr(C)]
26885#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26886pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
26887 pub s_type: StructureType,
26888 pub next: *const c_void,
26889 pub image_view: ImageView,
26890 pub image_layout: ImageLayout,
26891 pub shading_rate_attachment_texel_size: Extent2D,
26892}
26893
26894impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
26895 #[inline]
26896 fn default() -> Self {
26897 Self {
26898 s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
26899 next: ptr::null(),
26900 image_view: ImageView::default(),
26901 image_layout: ImageLayout::default(),
26902 shading_rate_attachment_texel_size: Extent2D::default(),
26903 }
26904 }
26905}
26906
26907unsafe impl Send for RenderingFragmentShadingRateAttachmentInfoKHR {}
26908unsafe impl Sync for RenderingFragmentShadingRateAttachmentInfoKHR {}
26909
26910#[repr(C)]
26912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26913pub struct RenderingInfo {
26914 pub s_type: StructureType,
26915 pub next: *const c_void,
26916 pub flags: RenderingFlags,
26917 pub render_area: Rect2D,
26918 pub layer_count: u32,
26919 pub view_mask: u32,
26920 pub color_attachment_count: u32,
26921 pub color_attachments: *const RenderingAttachmentInfo,
26922 pub depth_attachment: *const RenderingAttachmentInfo,
26923 pub stencil_attachment: *const RenderingAttachmentInfo,
26924}
26925
26926impl Default for RenderingInfo {
26927 #[inline]
26928 fn default() -> Self {
26929 Self {
26930 s_type: StructureType::RENDERING_INFO,
26931 next: ptr::null(),
26932 flags: RenderingFlags::default(),
26933 render_area: Rect2D::default(),
26934 layer_count: u32::default(),
26935 view_mask: u32::default(),
26936 color_attachment_count: u32::default(),
26937 color_attachments: ptr::null(),
26938 depth_attachment: ptr::null(),
26939 stencil_attachment: ptr::null(),
26940 }
26941 }
26942}
26943
26944unsafe impl Send for RenderingInfo {}
26945unsafe impl Sync for RenderingInfo {}
26946
26947#[repr(C)]
26949#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26950pub struct RenderingInputAttachmentIndexInfo {
26951 pub s_type: StructureType,
26952 pub next: *const c_void,
26953 pub color_attachment_count: u32,
26954 pub color_attachment_input_indices: *const u32,
26955 pub depth_input_attachment_index: *const u32,
26956 pub stencil_input_attachment_index: *const u32,
26957}
26958
26959impl Default for RenderingInputAttachmentIndexInfo {
26960 #[inline]
26961 fn default() -> Self {
26962 Self {
26963 s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
26964 next: ptr::null(),
26965 color_attachment_count: u32::default(),
26966 color_attachment_input_indices: ptr::null(),
26967 depth_input_attachment_index: ptr::null(),
26968 stencil_input_attachment_index: ptr::null(),
26969 }
26970 }
26971}
26972
26973unsafe impl Send for RenderingInputAttachmentIndexInfo {}
26974unsafe impl Sync for RenderingInputAttachmentIndexInfo {}
26975
26976#[repr(C)]
26978#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26979pub struct ResolveImageInfo2 {
26980 pub s_type: StructureType,
26981 pub next: *const c_void,
26982 pub src_image: Image,
26983 pub src_image_layout: ImageLayout,
26984 pub dst_image: Image,
26985 pub dst_image_layout: ImageLayout,
26986 pub region_count: u32,
26987 pub regions: *const ImageResolve2,
26988}
26989
26990impl Default for ResolveImageInfo2 {
26991 #[inline]
26992 fn default() -> Self {
26993 Self {
26994 s_type: StructureType::RESOLVE_IMAGE_INFO_2,
26995 next: ptr::null(),
26996 src_image: Image::default(),
26997 src_image_layout: ImageLayout::default(),
26998 dst_image: Image::default(),
26999 dst_image_layout: ImageLayout::default(),
27000 region_count: u32::default(),
27001 regions: ptr::null(),
27002 }
27003 }
27004}
27005
27006unsafe impl Send for ResolveImageInfo2 {}
27007unsafe impl Sync for ResolveImageInfo2 {}
27008
27009#[repr(C)]
27011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27012pub struct ResolveImageModeInfoKHR {
27013 pub s_type: StructureType,
27014 pub next: *const c_void,
27015 pub flags: ResolveImageFlagsKHR,
27016 pub resolve_mode: ResolveModeFlags,
27017 pub stencil_resolve_mode: ResolveModeFlags,
27018}
27019
27020impl Default for ResolveImageModeInfoKHR {
27021 #[inline]
27022 fn default() -> Self {
27023 Self {
27024 s_type: StructureType::RESOLVE_IMAGE_MODE_INFO_KHR,
27025 next: ptr::null(),
27026 flags: ResolveImageFlagsKHR::default(),
27027 resolve_mode: ResolveModeFlags::default(),
27028 stencil_resolve_mode: ResolveModeFlags::default(),
27029 }
27030 }
27031}
27032
27033unsafe impl Send for ResolveImageModeInfoKHR {}
27034unsafe impl Sync for ResolveImageModeInfoKHR {}
27035
27036#[repr(C)]
27038#[derive(Copy, Clone, Default, Debug, PartialEq)]
27039pub struct SRTDataNV {
27040 pub sx: f32,
27041 pub a: f32,
27042 pub b: f32,
27043 pub pvx: f32,
27044 pub sy: f32,
27045 pub c: f32,
27046 pub pvy: f32,
27047 pub sz: f32,
27048 pub pvz: f32,
27049 pub qx: f32,
27050 pub qy: f32,
27051 pub qz: f32,
27052 pub qw: f32,
27053 pub tx: f32,
27054 pub ty: f32,
27055 pub tz: f32,
27056}
27057
27058#[repr(C)]
27060#[derive(Copy, Clone, Default, Debug, PartialEq)]
27061pub struct SampleLocationEXT {
27062 pub x: f32,
27063 pub y: f32,
27064}
27065
27066#[repr(C)]
27068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27069pub struct SampleLocationsInfoEXT {
27070 pub s_type: StructureType,
27071 pub next: *const c_void,
27072 pub sample_locations_per_pixel: SampleCountFlags,
27073 pub sample_location_grid_size: Extent2D,
27074 pub sample_locations_count: u32,
27075 pub sample_locations: *const SampleLocationEXT,
27076}
27077
27078impl Default for SampleLocationsInfoEXT {
27079 #[inline]
27080 fn default() -> Self {
27081 Self {
27082 s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
27083 next: ptr::null(),
27084 sample_locations_per_pixel: SampleCountFlags::default(),
27085 sample_location_grid_size: Extent2D::default(),
27086 sample_locations_count: u32::default(),
27087 sample_locations: ptr::null(),
27088 }
27089 }
27090}
27091
27092unsafe impl Send for SampleLocationsInfoEXT {}
27093unsafe impl Sync for SampleLocationsInfoEXT {}
27094
27095#[repr(C)]
27097#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27098pub struct SamplerBlockMatchWindowCreateInfoQCOM {
27099 pub s_type: StructureType,
27100 pub next: *const c_void,
27101 pub window_extent: Extent2D,
27102 pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
27103}
27104
27105impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
27106 #[inline]
27107 fn default() -> Self {
27108 Self {
27109 s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
27110 next: ptr::null(),
27111 window_extent: Extent2D::default(),
27112 window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
27113 }
27114 }
27115}
27116
27117unsafe impl Send for SamplerBlockMatchWindowCreateInfoQCOM {}
27118unsafe impl Sync for SamplerBlockMatchWindowCreateInfoQCOM {}
27119
27120#[repr(C)]
27122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27123pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
27124 pub s_type: StructureType,
27125 pub next: *const c_void,
27126 pub components: ComponentMapping,
27127 pub srgb: Bool32,
27128}
27129
27130impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
27131 #[inline]
27132 fn default() -> Self {
27133 Self {
27134 s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
27135 next: ptr::null(),
27136 components: ComponentMapping::default(),
27137 srgb: Bool32::default(),
27138 }
27139 }
27140}
27141
27142unsafe impl Send for SamplerBorderColorComponentMappingCreateInfoEXT {}
27143unsafe impl Sync for SamplerBorderColorComponentMappingCreateInfoEXT {}
27144
27145#[repr(C)]
27147#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27148pub struct SamplerCaptureDescriptorDataInfoEXT {
27149 pub s_type: StructureType,
27150 pub next: *const c_void,
27151 pub sampler: Sampler,
27152}
27153
27154impl Default for SamplerCaptureDescriptorDataInfoEXT {
27155 #[inline]
27156 fn default() -> Self {
27157 Self {
27158 s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
27159 next: ptr::null(),
27160 sampler: Sampler::default(),
27161 }
27162 }
27163}
27164
27165unsafe impl Send for SamplerCaptureDescriptorDataInfoEXT {}
27166unsafe impl Sync for SamplerCaptureDescriptorDataInfoEXT {}
27167
27168#[repr(C)]
27170#[derive(Copy, Clone, Debug, PartialEq)]
27171pub struct SamplerCreateInfo {
27172 pub s_type: StructureType,
27173 pub next: *const c_void,
27174 pub flags: SamplerCreateFlags,
27175 pub mag_filter: Filter,
27176 pub min_filter: Filter,
27177 pub mipmap_mode: SamplerMipmapMode,
27178 pub address_mode_u: SamplerAddressMode,
27179 pub address_mode_v: SamplerAddressMode,
27180 pub address_mode_w: SamplerAddressMode,
27181 pub mip_lod_bias: f32,
27182 pub anisotropy_enable: Bool32,
27183 pub max_anisotropy: f32,
27184 pub compare_enable: Bool32,
27185 pub compare_op: CompareOp,
27186 pub min_lod: f32,
27187 pub max_lod: f32,
27188 pub border_color: BorderColor,
27189 pub unnormalized_coordinates: Bool32,
27190}
27191
27192impl Default for SamplerCreateInfo {
27193 #[inline]
27194 fn default() -> Self {
27195 Self {
27196 s_type: StructureType::SAMPLER_CREATE_INFO,
27197 next: ptr::null(),
27198 flags: SamplerCreateFlags::default(),
27199 mag_filter: Filter::default(),
27200 min_filter: Filter::default(),
27201 mipmap_mode: SamplerMipmapMode::default(),
27202 address_mode_u: SamplerAddressMode::default(),
27203 address_mode_v: SamplerAddressMode::default(),
27204 address_mode_w: SamplerAddressMode::default(),
27205 mip_lod_bias: f32::default(),
27206 anisotropy_enable: Bool32::default(),
27207 max_anisotropy: f32::default(),
27208 compare_enable: Bool32::default(),
27209 compare_op: CompareOp::default(),
27210 min_lod: f32::default(),
27211 max_lod: f32::default(),
27212 border_color: BorderColor::default(),
27213 unnormalized_coordinates: Bool32::default(),
27214 }
27215 }
27216}
27217
27218unsafe impl Send for SamplerCreateInfo {}
27219unsafe impl Sync for SamplerCreateInfo {}
27220
27221#[repr(C)]
27223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27224pub struct SamplerCubicWeightsCreateInfoQCOM {
27225 pub s_type: StructureType,
27226 pub next: *const c_void,
27227 pub cubic_weights: CubicFilterWeightsQCOM,
27228}
27229
27230impl Default for SamplerCubicWeightsCreateInfoQCOM {
27231 #[inline]
27232 fn default() -> Self {
27233 Self {
27234 s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
27235 next: ptr::null(),
27236 cubic_weights: CubicFilterWeightsQCOM::default(),
27237 }
27238 }
27239}
27240
27241unsafe impl Send for SamplerCubicWeightsCreateInfoQCOM {}
27242unsafe impl Sync for SamplerCubicWeightsCreateInfoQCOM {}
27243
27244#[repr(C)]
27246#[derive(Copy, Clone, Debug)]
27247pub struct SamplerCustomBorderColorCreateInfoEXT {
27248 pub s_type: StructureType,
27249 pub next: *const c_void,
27250 pub custom_border_color: ClearColorValue,
27251 pub format: Format,
27252}
27253
27254impl Default for SamplerCustomBorderColorCreateInfoEXT {
27255 #[inline]
27256 fn default() -> Self {
27257 Self {
27258 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
27259 next: ptr::null(),
27260 custom_border_color: ClearColorValue::default(),
27261 format: Format::default(),
27262 }
27263 }
27264}
27265
27266unsafe impl Send for SamplerCustomBorderColorCreateInfoEXT {}
27267unsafe impl Sync for SamplerCustomBorderColorCreateInfoEXT {}
27268
27269#[repr(C)]
27271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27272pub struct SamplerReductionModeCreateInfo {
27273 pub s_type: StructureType,
27274 pub next: *const c_void,
27275 pub reduction_mode: SamplerReductionMode,
27276}
27277
27278impl Default for SamplerReductionModeCreateInfo {
27279 #[inline]
27280 fn default() -> Self {
27281 Self {
27282 s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
27283 next: ptr::null(),
27284 reduction_mode: SamplerReductionMode::default(),
27285 }
27286 }
27287}
27288
27289unsafe impl Send for SamplerReductionModeCreateInfo {}
27290unsafe impl Sync for SamplerReductionModeCreateInfo {}
27291
27292#[repr(C)]
27294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27295pub struct SamplerYcbcrConversionCreateInfo {
27296 pub s_type: StructureType,
27297 pub next: *const c_void,
27298 pub format: Format,
27299 pub ycbcr_model: SamplerYcbcrModelConversion,
27300 pub ycbcr_range: SamplerYcbcrRange,
27301 pub components: ComponentMapping,
27302 pub x_chroma_offset: ChromaLocation,
27303 pub y_chroma_offset: ChromaLocation,
27304 pub chroma_filter: Filter,
27305 pub force_explicit_reconstruction: Bool32,
27306}
27307
27308impl Default for SamplerYcbcrConversionCreateInfo {
27309 #[inline]
27310 fn default() -> Self {
27311 Self {
27312 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
27313 next: ptr::null(),
27314 format: Format::default(),
27315 ycbcr_model: SamplerYcbcrModelConversion::default(),
27316 ycbcr_range: SamplerYcbcrRange::default(),
27317 components: ComponentMapping::default(),
27318 x_chroma_offset: ChromaLocation::default(),
27319 y_chroma_offset: ChromaLocation::default(),
27320 chroma_filter: Filter::default(),
27321 force_explicit_reconstruction: Bool32::default(),
27322 }
27323 }
27324}
27325
27326unsafe impl Send for SamplerYcbcrConversionCreateInfo {}
27327unsafe impl Sync for SamplerYcbcrConversionCreateInfo {}
27328
27329#[repr(C)]
27331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27332pub struct SamplerYcbcrConversionImageFormatProperties {
27333 pub s_type: StructureType,
27334 pub next: *mut c_void,
27335 pub combined_image_sampler_descriptor_count: u32,
27336}
27337
27338impl Default for SamplerYcbcrConversionImageFormatProperties {
27339 #[inline]
27340 fn default() -> Self {
27341 Self {
27342 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
27343 next: ptr::null_mut(),
27344 combined_image_sampler_descriptor_count: u32::default(),
27345 }
27346 }
27347}
27348
27349unsafe impl Send for SamplerYcbcrConversionImageFormatProperties {}
27350unsafe impl Sync for SamplerYcbcrConversionImageFormatProperties {}
27351
27352#[repr(C)]
27354#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27355pub struct SamplerYcbcrConversionInfo {
27356 pub s_type: StructureType,
27357 pub next: *const c_void,
27358 pub conversion: SamplerYcbcrConversion,
27359}
27360
27361impl Default for SamplerYcbcrConversionInfo {
27362 #[inline]
27363 fn default() -> Self {
27364 Self {
27365 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
27366 next: ptr::null(),
27367 conversion: SamplerYcbcrConversion::default(),
27368 }
27369 }
27370}
27371
27372unsafe impl Send for SamplerYcbcrConversionInfo {}
27373unsafe impl Sync for SamplerYcbcrConversionInfo {}
27374
27375#[repr(C)]
27377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27378pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
27379 pub s_type: StructureType,
27380 pub next: *mut c_void,
27381 pub enable_y_degamma: Bool32,
27382 pub enable_cb_cr_degamma: Bool32,
27383}
27384
27385impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
27386 #[inline]
27387 fn default() -> Self {
27388 Self {
27389 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
27390 next: ptr::null_mut(),
27391 enable_y_degamma: Bool32::default(),
27392 enable_cb_cr_degamma: Bool32::default(),
27393 }
27394 }
27395}
27396
27397unsafe impl Send for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
27398unsafe impl Sync for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
27399
27400#[repr(C)]
27402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27403pub struct SciSyncAttributesInfoNV {
27404 pub s_type: StructureType,
27405 pub next: *const c_void,
27406 pub client_type: SciSyncClientTypeNV,
27407 pub primitive_type: SciSyncPrimitiveTypeNV,
27408}
27409
27410impl Default for SciSyncAttributesInfoNV {
27411 #[inline]
27412 fn default() -> Self {
27413 Self {
27414 s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
27415 next: ptr::null(),
27416 client_type: SciSyncClientTypeNV::default(),
27417 primitive_type: SciSyncPrimitiveTypeNV::default(),
27418 }
27419 }
27420}
27421
27422unsafe impl Send for SciSyncAttributesInfoNV {}
27423unsafe impl Sync for SciSyncAttributesInfoNV {}
27424
27425#[repr(C)]
27427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27428pub struct ScreenBufferFormatPropertiesQNX {
27429 pub s_type: StructureType,
27430 pub next: *mut c_void,
27431 pub format: Format,
27432 pub external_format: u64,
27433 pub screen_usage: u64,
27434 pub format_features: FormatFeatureFlags,
27435 pub sampler_ycbcr_conversion_components: ComponentMapping,
27436 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
27437 pub suggested_ycbcr_range: SamplerYcbcrRange,
27438 pub suggested_x_chroma_offset: ChromaLocation,
27439 pub suggested_y_chroma_offset: ChromaLocation,
27440}
27441
27442impl Default for ScreenBufferFormatPropertiesQNX {
27443 #[inline]
27444 fn default() -> Self {
27445 Self {
27446 s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
27447 next: ptr::null_mut(),
27448 format: Format::default(),
27449 external_format: u64::default(),
27450 screen_usage: u64::default(),
27451 format_features: FormatFeatureFlags::default(),
27452 sampler_ycbcr_conversion_components: ComponentMapping::default(),
27453 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
27454 suggested_ycbcr_range: SamplerYcbcrRange::default(),
27455 suggested_x_chroma_offset: ChromaLocation::default(),
27456 suggested_y_chroma_offset: ChromaLocation::default(),
27457 }
27458 }
27459}
27460
27461unsafe impl Send for ScreenBufferFormatPropertiesQNX {}
27462unsafe impl Sync for ScreenBufferFormatPropertiesQNX {}
27463
27464#[repr(C)]
27466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27467pub struct ScreenBufferPropertiesQNX {
27468 pub s_type: StructureType,
27469 pub next: *mut c_void,
27470 pub allocation_size: DeviceSize,
27471 pub memory_type_bits: u32,
27472}
27473
27474impl Default for ScreenBufferPropertiesQNX {
27475 #[inline]
27476 fn default() -> Self {
27477 Self {
27478 s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
27479 next: ptr::null_mut(),
27480 allocation_size: DeviceSize::default(),
27481 memory_type_bits: u32::default(),
27482 }
27483 }
27484}
27485
27486unsafe impl Send for ScreenBufferPropertiesQNX {}
27487unsafe impl Sync for ScreenBufferPropertiesQNX {}
27488
27489#[repr(C)]
27491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27492pub struct ScreenSurfaceCreateInfoQNX {
27493 pub s_type: StructureType,
27494 pub next: *const c_void,
27495 pub flags: ScreenSurfaceCreateFlagsQNX,
27496 pub context: *mut _screen_context,
27497 pub window: *mut _screen_window,
27498}
27499
27500impl Default for ScreenSurfaceCreateInfoQNX {
27501 #[inline]
27502 fn default() -> Self {
27503 Self {
27504 s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
27505 next: ptr::null(),
27506 flags: ScreenSurfaceCreateFlagsQNX::default(),
27507 context: ptr::null_mut(),
27508 window: ptr::null_mut(),
27509 }
27510 }
27511}
27512
27513unsafe impl Send for ScreenSurfaceCreateInfoQNX {}
27514unsafe impl Sync for ScreenSurfaceCreateInfoQNX {}
27515
27516#[repr(C)]
27518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27519pub struct SemaphoreCreateInfo {
27520 pub s_type: StructureType,
27521 pub next: *const c_void,
27522 pub flags: SemaphoreCreateFlags,
27523}
27524
27525impl Default for SemaphoreCreateInfo {
27526 #[inline]
27527 fn default() -> Self {
27528 Self {
27529 s_type: StructureType::SEMAPHORE_CREATE_INFO,
27530 next: ptr::null(),
27531 flags: SemaphoreCreateFlags::default(),
27532 }
27533 }
27534}
27535
27536unsafe impl Send for SemaphoreCreateInfo {}
27537unsafe impl Sync for SemaphoreCreateInfo {}
27538
27539#[repr(C)]
27541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27542pub struct SemaphoreGetFdInfoKHR {
27543 pub s_type: StructureType,
27544 pub next: *const c_void,
27545 pub semaphore: Semaphore,
27546 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27547}
27548
27549impl Default for SemaphoreGetFdInfoKHR {
27550 #[inline]
27551 fn default() -> Self {
27552 Self {
27553 s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
27554 next: ptr::null(),
27555 semaphore: Semaphore::default(),
27556 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27557 }
27558 }
27559}
27560
27561unsafe impl Send for SemaphoreGetFdInfoKHR {}
27562unsafe impl Sync for SemaphoreGetFdInfoKHR {}
27563
27564#[repr(C)]
27566#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27567pub struct SemaphoreGetSciSyncInfoNV {
27568 pub s_type: StructureType,
27569 pub next: *const c_void,
27570 pub semaphore: Semaphore,
27571 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27572}
27573
27574impl Default for SemaphoreGetSciSyncInfoNV {
27575 #[inline]
27576 fn default() -> Self {
27577 Self {
27578 s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
27579 next: ptr::null(),
27580 semaphore: Semaphore::default(),
27581 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27582 }
27583 }
27584}
27585
27586unsafe impl Send for SemaphoreGetSciSyncInfoNV {}
27587unsafe impl Sync for SemaphoreGetSciSyncInfoNV {}
27588
27589#[repr(C)]
27591#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27592pub struct SemaphoreGetWin32HandleInfoKHR {
27593 pub s_type: StructureType,
27594 pub next: *const c_void,
27595 pub semaphore: Semaphore,
27596 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27597}
27598
27599impl Default for SemaphoreGetWin32HandleInfoKHR {
27600 #[inline]
27601 fn default() -> Self {
27602 Self {
27603 s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
27604 next: ptr::null(),
27605 semaphore: Semaphore::default(),
27606 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27607 }
27608 }
27609}
27610
27611unsafe impl Send for SemaphoreGetWin32HandleInfoKHR {}
27612unsafe impl Sync for SemaphoreGetWin32HandleInfoKHR {}
27613
27614#[repr(C)]
27616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27617pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
27618 pub s_type: StructureType,
27619 pub next: *const c_void,
27620 pub semaphore: Semaphore,
27621 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27622}
27623
27624impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
27625 #[inline]
27626 fn default() -> Self {
27627 Self {
27628 s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
27629 next: ptr::null(),
27630 semaphore: Semaphore::default(),
27631 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27632 }
27633 }
27634}
27635
27636unsafe impl Send for SemaphoreGetZirconHandleInfoFUCHSIA {}
27637unsafe impl Sync for SemaphoreGetZirconHandleInfoFUCHSIA {}
27638
27639#[repr(C)]
27641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27642pub struct SemaphoreSciSyncCreateInfoNV {
27643 pub s_type: StructureType,
27644 pub next: *const c_void,
27645 pub semaphore_pool: SemaphoreSciSyncPoolNV,
27646 pub fence: *const NvSciSyncFence,
27647}
27648
27649impl Default for SemaphoreSciSyncCreateInfoNV {
27650 #[inline]
27651 fn default() -> Self {
27652 Self {
27653 s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
27654 next: ptr::null(),
27655 semaphore_pool: SemaphoreSciSyncPoolNV::default(),
27656 fence: ptr::null(),
27657 }
27658 }
27659}
27660
27661unsafe impl Send for SemaphoreSciSyncCreateInfoNV {}
27662unsafe impl Sync for SemaphoreSciSyncCreateInfoNV {}
27663
27664#[repr(C)]
27666#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27667pub struct SemaphoreSciSyncPoolCreateInfoNV {
27668 pub s_type: StructureType,
27669 pub next: *const c_void,
27670 pub handle: NvSciSyncObj,
27671}
27672
27673impl Default for SemaphoreSciSyncPoolCreateInfoNV {
27674 #[inline]
27675 fn default() -> Self {
27676 Self {
27677 s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
27678 next: ptr::null(),
27679 handle: ptr::null_mut(),
27680 }
27681 }
27682}
27683
27684unsafe impl Send for SemaphoreSciSyncPoolCreateInfoNV {}
27685unsafe impl Sync for SemaphoreSciSyncPoolCreateInfoNV {}
27686
27687#[repr(C)]
27689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27690pub struct SemaphoreSignalInfo {
27691 pub s_type: StructureType,
27692 pub next: *const c_void,
27693 pub semaphore: Semaphore,
27694 pub value: u64,
27695}
27696
27697impl Default for SemaphoreSignalInfo {
27698 #[inline]
27699 fn default() -> Self {
27700 Self {
27701 s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
27702 next: ptr::null(),
27703 semaphore: Semaphore::default(),
27704 value: u64::default(),
27705 }
27706 }
27707}
27708
27709unsafe impl Send for SemaphoreSignalInfo {}
27710unsafe impl Sync for SemaphoreSignalInfo {}
27711
27712#[repr(C)]
27714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27715pub struct SemaphoreSubmitInfo {
27716 pub s_type: StructureType,
27717 pub next: *const c_void,
27718 pub semaphore: Semaphore,
27719 pub value: u64,
27720 pub stage_mask: PipelineStageFlags2,
27721 pub device_index: u32,
27722}
27723
27724impl Default for SemaphoreSubmitInfo {
27725 #[inline]
27726 fn default() -> Self {
27727 Self {
27728 s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
27729 next: ptr::null(),
27730 semaphore: Semaphore::default(),
27731 value: u64::default(),
27732 stage_mask: PipelineStageFlags2::default(),
27733 device_index: u32::default(),
27734 }
27735 }
27736}
27737
27738unsafe impl Send for SemaphoreSubmitInfo {}
27739unsafe impl Sync for SemaphoreSubmitInfo {}
27740
27741#[repr(C)]
27743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27744pub struct SemaphoreTypeCreateInfo {
27745 pub s_type: StructureType,
27746 pub next: *const c_void,
27747 pub semaphore_type: SemaphoreType,
27748 pub initial_value: u64,
27749}
27750
27751impl Default for SemaphoreTypeCreateInfo {
27752 #[inline]
27753 fn default() -> Self {
27754 Self {
27755 s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
27756 next: ptr::null(),
27757 semaphore_type: SemaphoreType::default(),
27758 initial_value: u64::default(),
27759 }
27760 }
27761}
27762
27763unsafe impl Send for SemaphoreTypeCreateInfo {}
27764unsafe impl Sync for SemaphoreTypeCreateInfo {}
27765
27766#[repr(C)]
27768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27769pub struct SemaphoreWaitInfo {
27770 pub s_type: StructureType,
27771 pub next: *const c_void,
27772 pub flags: SemaphoreWaitFlags,
27773 pub semaphore_count: u32,
27774 pub semaphores: *const Semaphore,
27775 pub values: *const u64,
27776}
27777
27778impl Default for SemaphoreWaitInfo {
27779 #[inline]
27780 fn default() -> Self {
27781 Self {
27782 s_type: StructureType::SEMAPHORE_WAIT_INFO,
27783 next: ptr::null(),
27784 flags: SemaphoreWaitFlags::default(),
27785 semaphore_count: u32::default(),
27786 semaphores: ptr::null(),
27787 values: ptr::null(),
27788 }
27789 }
27790}
27791
27792unsafe impl Send for SemaphoreWaitInfo {}
27793unsafe impl Sync for SemaphoreWaitInfo {}
27794
27795#[repr(C)]
27797#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27798pub struct SetDescriptorBufferOffsetsInfoEXT {
27799 pub s_type: StructureType,
27800 pub next: *const c_void,
27801 pub stage_flags: ShaderStageFlags,
27802 pub layout: PipelineLayout,
27803 pub first_set: u32,
27804 pub set_count: u32,
27805 pub buffer_indices: *const u32,
27806 pub offsets: *const DeviceSize,
27807}
27808
27809impl Default for SetDescriptorBufferOffsetsInfoEXT {
27810 #[inline]
27811 fn default() -> Self {
27812 Self {
27813 s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
27814 next: ptr::null(),
27815 stage_flags: ShaderStageFlags::default(),
27816 layout: PipelineLayout::default(),
27817 first_set: u32::default(),
27818 set_count: u32::default(),
27819 buffer_indices: ptr::null(),
27820 offsets: ptr::null(),
27821 }
27822 }
27823}
27824
27825unsafe impl Send for SetDescriptorBufferOffsetsInfoEXT {}
27826unsafe impl Sync for SetDescriptorBufferOffsetsInfoEXT {}
27827
27828#[repr(C)]
27830#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27831pub struct SetLatencyMarkerInfoNV {
27832 pub s_type: StructureType,
27833 pub next: *const c_void,
27834 pub present_id: u64,
27835 pub marker: LatencyMarkerNV,
27836}
27837
27838impl Default for SetLatencyMarkerInfoNV {
27839 #[inline]
27840 fn default() -> Self {
27841 Self {
27842 s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
27843 next: ptr::null(),
27844 present_id: u64::default(),
27845 marker: LatencyMarkerNV::default(),
27846 }
27847 }
27848}
27849
27850unsafe impl Send for SetLatencyMarkerInfoNV {}
27851unsafe impl Sync for SetLatencyMarkerInfoNV {}
27852
27853#[repr(C)]
27855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27856pub struct SetPresentConfigNV {
27857 pub s_type: StructureType,
27858 pub next: *const c_void,
27859 pub num_frames_per_batch: u32,
27860 pub present_config_feedback: u32,
27861}
27862
27863impl Default for SetPresentConfigNV {
27864 #[inline]
27865 fn default() -> Self {
27866 Self {
27867 s_type: StructureType::SET_PRESENT_CONFIG_NV,
27868 next: ptr::null(),
27869 num_frames_per_batch: u32::default(),
27870 present_config_feedback: u32::default(),
27871 }
27872 }
27873}
27874
27875unsafe impl Send for SetPresentConfigNV {}
27876unsafe impl Sync for SetPresentConfigNV {}
27877
27878#[repr(C)]
27880#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27881pub struct SetStateFlagsIndirectCommandNV {
27882 pub data: u32,
27883}
27884
27885#[repr(C)]
27887#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27888pub struct ShaderCreateInfoEXT {
27889 pub s_type: StructureType,
27890 pub next: *const c_void,
27891 pub flags: ShaderCreateFlagsEXT,
27892 pub stage: ShaderStageFlags,
27893 pub next_stage: ShaderStageFlags,
27894 pub code_type: ShaderCodeTypeEXT,
27895 pub code_size: usize,
27896 pub code: *const c_void,
27897 pub name: *const c_char,
27898 pub set_layout_count: u32,
27899 pub set_layouts: *const DescriptorSetLayout,
27900 pub push_constant_range_count: u32,
27901 pub push_constant_ranges: *const PushConstantRange,
27902 pub specialization_info: *const SpecializationInfo,
27903}
27904
27905impl Default for ShaderCreateInfoEXT {
27906 #[inline]
27907 fn default() -> Self {
27908 Self {
27909 s_type: StructureType::SHADER_CREATE_INFO_EXT,
27910 next: ptr::null(),
27911 flags: ShaderCreateFlagsEXT::default(),
27912 stage: ShaderStageFlags::default(),
27913 next_stage: ShaderStageFlags::default(),
27914 code_type: ShaderCodeTypeEXT::default(),
27915 code_size: usize::default(),
27916 code: ptr::null(),
27917 name: ptr::null(),
27918 set_layout_count: u32::default(),
27919 set_layouts: ptr::null(),
27920 push_constant_range_count: u32::default(),
27921 push_constant_ranges: ptr::null(),
27922 specialization_info: ptr::null(),
27923 }
27924 }
27925}
27926
27927unsafe impl Send for ShaderCreateInfoEXT {}
27928unsafe impl Sync for ShaderCreateInfoEXT {}
27929
27930#[repr(C)]
27932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27933pub struct ShaderModuleCreateInfo {
27934 pub s_type: StructureType,
27935 pub next: *const c_void,
27936 pub flags: ShaderModuleCreateFlags,
27937 pub code_size: usize,
27938 pub code: *const u32,
27939}
27940
27941impl Default for ShaderModuleCreateInfo {
27942 #[inline]
27943 fn default() -> Self {
27944 Self {
27945 s_type: StructureType::SHADER_MODULE_CREATE_INFO,
27946 next: ptr::null(),
27947 flags: ShaderModuleCreateFlags::default(),
27948 code_size: usize::default(),
27949 code: ptr::null(),
27950 }
27951 }
27952}
27953
27954unsafe impl Send for ShaderModuleCreateInfo {}
27955unsafe impl Sync for ShaderModuleCreateInfo {}
27956
27957#[repr(C)]
27959#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27960pub struct ShaderModuleIdentifierEXT {
27961 pub s_type: StructureType,
27962 pub next: *mut c_void,
27963 pub identifier_size: u32,
27964 pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
27965}
27966
27967impl Default for ShaderModuleIdentifierEXT {
27968 #[inline]
27969 fn default() -> Self {
27970 Self {
27971 s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
27972 next: ptr::null_mut(),
27973 identifier_size: u32::default(),
27974 identifier: ByteArray::default(),
27975 }
27976 }
27977}
27978
27979unsafe impl Send for ShaderModuleIdentifierEXT {}
27980unsafe impl Sync for ShaderModuleIdentifierEXT {}
27981
27982#[repr(C)]
27984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27985pub struct ShaderModuleValidationCacheCreateInfoEXT {
27986 pub s_type: StructureType,
27987 pub next: *const c_void,
27988 pub validation_cache: ValidationCacheEXT,
27989}
27990
27991impl Default for ShaderModuleValidationCacheCreateInfoEXT {
27992 #[inline]
27993 fn default() -> Self {
27994 Self {
27995 s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
27996 next: ptr::null(),
27997 validation_cache: ValidationCacheEXT::default(),
27998 }
27999 }
28000}
28001
28002unsafe impl Send for ShaderModuleValidationCacheCreateInfoEXT {}
28003unsafe impl Sync for ShaderModuleValidationCacheCreateInfoEXT {}
28004
28005#[repr(C)]
28007#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28008pub struct ShaderResourceUsageAMD {
28009 pub num_used_vgprs: u32,
28010 pub num_used_sgprs: u32,
28011 pub lds_size_per_local_work_group: u32,
28012 pub lds_usage_size_in_bytes: usize,
28013 pub scratch_mem_usage_in_bytes: usize,
28014}
28015
28016#[repr(C)]
28018#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28019pub struct ShaderStatisticsInfoAMD {
28020 pub shader_stage_mask: ShaderStageFlags,
28021 pub resource_usage: ShaderResourceUsageAMD,
28022 pub num_physical_vgprs: u32,
28023 pub num_physical_sgprs: u32,
28024 pub num_available_vgprs: u32,
28025 pub num_available_sgprs: u32,
28026 pub compute_work_group_size: [u32; 3],
28027}
28028
28029#[repr(C)]
28031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28032pub struct ShadingRatePaletteNV {
28033 pub shading_rate_palette_entry_count: u32,
28034 pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
28035}
28036
28037impl Default for ShadingRatePaletteNV {
28038 #[inline]
28039 fn default() -> Self {
28040 Self {
28041 shading_rate_palette_entry_count: u32::default(),
28042 shading_rate_palette_entries: ptr::null(),
28043 }
28044 }
28045}
28046
28047unsafe impl Send for ShadingRatePaletteNV {}
28048unsafe impl Sync for ShadingRatePaletteNV {}
28049
28050#[repr(C)]
28052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28053pub struct SharedPresentSurfaceCapabilitiesKHR {
28054 pub s_type: StructureType,
28055 pub next: *mut c_void,
28056 pub shared_present_supported_usage_flags: ImageUsageFlags,
28057}
28058
28059impl Default for SharedPresentSurfaceCapabilitiesKHR {
28060 #[inline]
28061 fn default() -> Self {
28062 Self {
28063 s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
28064 next: ptr::null_mut(),
28065 shared_present_supported_usage_flags: ImageUsageFlags::default(),
28066 }
28067 }
28068}
28069
28070unsafe impl Send for SharedPresentSurfaceCapabilitiesKHR {}
28071unsafe impl Sync for SharedPresentSurfaceCapabilitiesKHR {}
28072
28073#[repr(C)]
28075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28076pub struct SparseBufferMemoryBindInfo {
28077 pub buffer: Buffer,
28078 pub bind_count: u32,
28079 pub binds: *const SparseMemoryBind,
28080}
28081
28082impl Default for SparseBufferMemoryBindInfo {
28083 #[inline]
28084 fn default() -> Self {
28085 Self {
28086 buffer: Buffer::default(),
28087 bind_count: u32::default(),
28088 binds: ptr::null(),
28089 }
28090 }
28091}
28092
28093unsafe impl Send for SparseBufferMemoryBindInfo {}
28094unsafe impl Sync for SparseBufferMemoryBindInfo {}
28095
28096#[repr(C)]
28098#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28099pub struct SparseImageFormatProperties {
28100 pub aspect_mask: ImageAspectFlags,
28101 pub image_granularity: Extent3D,
28102 pub flags: SparseImageFormatFlags,
28103}
28104
28105#[repr(C)]
28107#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28108pub struct SparseImageFormatProperties2 {
28109 pub s_type: StructureType,
28110 pub next: *mut c_void,
28111 pub properties: SparseImageFormatProperties,
28112}
28113
28114impl Default for SparseImageFormatProperties2 {
28115 #[inline]
28116 fn default() -> Self {
28117 Self {
28118 s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
28119 next: ptr::null_mut(),
28120 properties: SparseImageFormatProperties::default(),
28121 }
28122 }
28123}
28124
28125unsafe impl Send for SparseImageFormatProperties2 {}
28126unsafe impl Sync for SparseImageFormatProperties2 {}
28127
28128#[repr(C)]
28130#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28131pub struct SparseImageMemoryBind {
28132 pub subresource: ImageSubresource,
28133 pub offset: Offset3D,
28134 pub extent: Extent3D,
28135 pub memory: DeviceMemory,
28136 pub memory_offset: DeviceSize,
28137 pub flags: SparseMemoryBindFlags,
28138}
28139
28140#[repr(C)]
28142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28143pub struct SparseImageMemoryBindInfo {
28144 pub image: Image,
28145 pub bind_count: u32,
28146 pub binds: *const SparseImageMemoryBind,
28147}
28148
28149impl Default for SparseImageMemoryBindInfo {
28150 #[inline]
28151 fn default() -> Self {
28152 Self {
28153 image: Image::default(),
28154 bind_count: u32::default(),
28155 binds: ptr::null(),
28156 }
28157 }
28158}
28159
28160unsafe impl Send for SparseImageMemoryBindInfo {}
28161unsafe impl Sync for SparseImageMemoryBindInfo {}
28162
28163#[repr(C)]
28165#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28166pub struct SparseImageMemoryRequirements {
28167 pub format_properties: SparseImageFormatProperties,
28168 pub image_mip_tail_first_lod: u32,
28169 pub image_mip_tail_size: DeviceSize,
28170 pub image_mip_tail_offset: DeviceSize,
28171 pub image_mip_tail_stride: DeviceSize,
28172}
28173
28174#[repr(C)]
28176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28177pub struct SparseImageMemoryRequirements2 {
28178 pub s_type: StructureType,
28179 pub next: *mut c_void,
28180 pub memory_requirements: SparseImageMemoryRequirements,
28181}
28182
28183impl Default for SparseImageMemoryRequirements2 {
28184 #[inline]
28185 fn default() -> Self {
28186 Self {
28187 s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
28188 next: ptr::null_mut(),
28189 memory_requirements: SparseImageMemoryRequirements::default(),
28190 }
28191 }
28192}
28193
28194unsafe impl Send for SparseImageMemoryRequirements2 {}
28195unsafe impl Sync for SparseImageMemoryRequirements2 {}
28196
28197#[repr(C)]
28199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28200pub struct SparseImageOpaqueMemoryBindInfo {
28201 pub image: Image,
28202 pub bind_count: u32,
28203 pub binds: *const SparseMemoryBind,
28204}
28205
28206impl Default for SparseImageOpaqueMemoryBindInfo {
28207 #[inline]
28208 fn default() -> Self {
28209 Self {
28210 image: Image::default(),
28211 bind_count: u32::default(),
28212 binds: ptr::null(),
28213 }
28214 }
28215}
28216
28217unsafe impl Send for SparseImageOpaqueMemoryBindInfo {}
28218unsafe impl Sync for SparseImageOpaqueMemoryBindInfo {}
28219
28220#[repr(C)]
28222#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28223pub struct SparseMemoryBind {
28224 pub resource_offset: DeviceSize,
28225 pub size: DeviceSize,
28226 pub memory: DeviceMemory,
28227 pub memory_offset: DeviceSize,
28228 pub flags: SparseMemoryBindFlags,
28229}
28230
28231#[repr(C)]
28233#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28234pub struct SpecializationInfo {
28235 pub map_entry_count: u32,
28236 pub map_entries: *const SpecializationMapEntry,
28237 pub data_size: usize,
28238 pub data: *const c_void,
28239}
28240
28241impl Default for SpecializationInfo {
28242 #[inline]
28243 fn default() -> Self {
28244 Self {
28245 map_entry_count: u32::default(),
28246 map_entries: ptr::null(),
28247 data_size: usize::default(),
28248 data: ptr::null(),
28249 }
28250 }
28251}
28252
28253unsafe impl Send for SpecializationInfo {}
28254unsafe impl Sync for SpecializationInfo {}
28255
28256#[repr(C)]
28258#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28259pub struct SpecializationMapEntry {
28260 pub constant_id: u32,
28261 pub offset: u32,
28262 pub size: usize,
28263}
28264
28265#[repr(C)]
28267#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28268pub struct StencilOpState {
28269 pub fail_op: StencilOp,
28270 pub pass_op: StencilOp,
28271 pub depth_fail_op: StencilOp,
28272 pub compare_op: CompareOp,
28273 pub compare_mask: u32,
28274 pub write_mask: u32,
28275 pub reference: u32,
28276}
28277
28278#[repr(C)]
28280#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28281pub struct StreamDescriptorSurfaceCreateInfoGGP {
28282 pub s_type: StructureType,
28283 pub next: *const c_void,
28284 pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
28285 pub stream_descriptor: GgpStreamDescriptor,
28286}
28287
28288impl Default for StreamDescriptorSurfaceCreateInfoGGP {
28289 #[inline]
28290 fn default() -> Self {
28291 Self {
28292 s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
28293 next: ptr::null(),
28294 flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
28295 stream_descriptor: GgpStreamDescriptor::default(),
28296 }
28297 }
28298}
28299
28300unsafe impl Send for StreamDescriptorSurfaceCreateInfoGGP {}
28301unsafe impl Sync for StreamDescriptorSurfaceCreateInfoGGP {}
28302
28303#[repr(C)]
28305#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28306pub struct StridedDeviceAddressNV {
28307 pub start_address: DeviceAddress,
28308 pub stride_in_bytes: DeviceSize,
28309}
28310
28311#[repr(C)]
28313#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28314pub struct StridedDeviceAddressRangeKHR {
28315 pub address: DeviceAddress,
28316 pub size: DeviceSize,
28317 pub stride: DeviceSize,
28318}
28319
28320#[repr(C)]
28322#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28323pub struct StridedDeviceAddressRegionKHR {
28324 pub device_address: DeviceAddress,
28325 pub stride: DeviceSize,
28326 pub size: DeviceSize,
28327}
28328
28329#[repr(C)]
28331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28332pub struct SubmitInfo {
28333 pub s_type: StructureType,
28334 pub next: *const c_void,
28335 pub wait_semaphore_count: u32,
28336 pub wait_semaphores: *const Semaphore,
28337 pub wait_dst_stage_mask: *const PipelineStageFlags,
28338 pub command_buffer_count: u32,
28339 pub command_buffers: *const CommandBuffer,
28340 pub signal_semaphore_count: u32,
28341 pub signal_semaphores: *const Semaphore,
28342}
28343
28344impl Default for SubmitInfo {
28345 #[inline]
28346 fn default() -> Self {
28347 Self {
28348 s_type: StructureType::SUBMIT_INFO,
28349 next: ptr::null(),
28350 wait_semaphore_count: u32::default(),
28351 wait_semaphores: ptr::null(),
28352 wait_dst_stage_mask: ptr::null(),
28353 command_buffer_count: u32::default(),
28354 command_buffers: ptr::null(),
28355 signal_semaphore_count: u32::default(),
28356 signal_semaphores: ptr::null(),
28357 }
28358 }
28359}
28360
28361unsafe impl Send for SubmitInfo {}
28362unsafe impl Sync for SubmitInfo {}
28363
28364#[repr(C)]
28366#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28367pub struct SubmitInfo2 {
28368 pub s_type: StructureType,
28369 pub next: *const c_void,
28370 pub flags: SubmitFlags,
28371 pub wait_semaphore_info_count: u32,
28372 pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
28373 pub command_buffer_info_count: u32,
28374 pub command_buffer_infos: *const CommandBufferSubmitInfo,
28375 pub signal_semaphore_info_count: u32,
28376 pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
28377}
28378
28379impl Default for SubmitInfo2 {
28380 #[inline]
28381 fn default() -> Self {
28382 Self {
28383 s_type: StructureType::SUBMIT_INFO_2,
28384 next: ptr::null(),
28385 flags: SubmitFlags::default(),
28386 wait_semaphore_info_count: u32::default(),
28387 wait_semaphore_infos: ptr::null(),
28388 command_buffer_info_count: u32::default(),
28389 command_buffer_infos: ptr::null(),
28390 signal_semaphore_info_count: u32::default(),
28391 signal_semaphore_infos: ptr::null(),
28392 }
28393 }
28394}
28395
28396unsafe impl Send for SubmitInfo2 {}
28397unsafe impl Sync for SubmitInfo2 {}
28398
28399#[repr(C)]
28401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28402pub struct SubpassBeginInfo {
28403 pub s_type: StructureType,
28404 pub next: *const c_void,
28405 pub contents: SubpassContents,
28406}
28407
28408impl Default for SubpassBeginInfo {
28409 #[inline]
28410 fn default() -> Self {
28411 Self {
28412 s_type: StructureType::SUBPASS_BEGIN_INFO,
28413 next: ptr::null(),
28414 contents: SubpassContents::default(),
28415 }
28416 }
28417}
28418
28419unsafe impl Send for SubpassBeginInfo {}
28420unsafe impl Sync for SubpassBeginInfo {}
28421
28422#[repr(C)]
28424#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28425pub struct SubpassDependency {
28426 pub src_subpass: u32,
28427 pub dst_subpass: u32,
28428 pub src_stage_mask: PipelineStageFlags,
28429 pub dst_stage_mask: PipelineStageFlags,
28430 pub src_access_mask: AccessFlags,
28431 pub dst_access_mask: AccessFlags,
28432 pub dependency_flags: DependencyFlags,
28433}
28434
28435#[repr(C)]
28437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28438pub struct SubpassDependency2 {
28439 pub s_type: StructureType,
28440 pub next: *const c_void,
28441 pub src_subpass: u32,
28442 pub dst_subpass: u32,
28443 pub src_stage_mask: PipelineStageFlags,
28444 pub dst_stage_mask: PipelineStageFlags,
28445 pub src_access_mask: AccessFlags,
28446 pub dst_access_mask: AccessFlags,
28447 pub dependency_flags: DependencyFlags,
28448 pub view_offset: i32,
28449}
28450
28451impl Default for SubpassDependency2 {
28452 #[inline]
28453 fn default() -> Self {
28454 Self {
28455 s_type: StructureType::SUBPASS_DEPENDENCY_2,
28456 next: ptr::null(),
28457 src_subpass: u32::default(),
28458 dst_subpass: u32::default(),
28459 src_stage_mask: PipelineStageFlags::default(),
28460 dst_stage_mask: PipelineStageFlags::default(),
28461 src_access_mask: AccessFlags::default(),
28462 dst_access_mask: AccessFlags::default(),
28463 dependency_flags: DependencyFlags::default(),
28464 view_offset: i32::default(),
28465 }
28466 }
28467}
28468
28469unsafe impl Send for SubpassDependency2 {}
28470unsafe impl Sync for SubpassDependency2 {}
28471
28472#[repr(C)]
28474#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28475pub struct SubpassDescription {
28476 pub flags: SubpassDescriptionFlags,
28477 pub pipeline_bind_point: PipelineBindPoint,
28478 pub input_attachment_count: u32,
28479 pub input_attachments: *const AttachmentReference,
28480 pub color_attachment_count: u32,
28481 pub color_attachments: *const AttachmentReference,
28482 pub resolve_attachments: *const AttachmentReference,
28483 pub depth_stencil_attachment: *const AttachmentReference,
28484 pub preserve_attachment_count: u32,
28485 pub preserve_attachments: *const u32,
28486}
28487
28488impl Default for SubpassDescription {
28489 #[inline]
28490 fn default() -> Self {
28491 Self {
28492 flags: SubpassDescriptionFlags::default(),
28493 pipeline_bind_point: PipelineBindPoint::default(),
28494 input_attachment_count: u32::default(),
28495 input_attachments: ptr::null(),
28496 color_attachment_count: u32::default(),
28497 color_attachments: ptr::null(),
28498 resolve_attachments: ptr::null(),
28499 depth_stencil_attachment: ptr::null(),
28500 preserve_attachment_count: u32::default(),
28501 preserve_attachments: ptr::null(),
28502 }
28503 }
28504}
28505
28506unsafe impl Send for SubpassDescription {}
28507unsafe impl Sync for SubpassDescription {}
28508
28509#[repr(C)]
28511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28512pub struct SubpassDescription2 {
28513 pub s_type: StructureType,
28514 pub next: *const c_void,
28515 pub flags: SubpassDescriptionFlags,
28516 pub pipeline_bind_point: PipelineBindPoint,
28517 pub view_mask: u32,
28518 pub input_attachment_count: u32,
28519 pub input_attachments: *const AttachmentReference2,
28520 pub color_attachment_count: u32,
28521 pub color_attachments: *const AttachmentReference2,
28522 pub resolve_attachments: *const AttachmentReference2,
28523 pub depth_stencil_attachment: *const AttachmentReference2,
28524 pub preserve_attachment_count: u32,
28525 pub preserve_attachments: *const u32,
28526}
28527
28528impl Default for SubpassDescription2 {
28529 #[inline]
28530 fn default() -> Self {
28531 Self {
28532 s_type: StructureType::SUBPASS_DESCRIPTION_2,
28533 next: ptr::null(),
28534 flags: SubpassDescriptionFlags::default(),
28535 pipeline_bind_point: PipelineBindPoint::default(),
28536 view_mask: u32::default(),
28537 input_attachment_count: u32::default(),
28538 input_attachments: ptr::null(),
28539 color_attachment_count: u32::default(),
28540 color_attachments: ptr::null(),
28541 resolve_attachments: ptr::null(),
28542 depth_stencil_attachment: ptr::null(),
28543 preserve_attachment_count: u32::default(),
28544 preserve_attachments: ptr::null(),
28545 }
28546 }
28547}
28548
28549unsafe impl Send for SubpassDescription2 {}
28550unsafe impl Sync for SubpassDescription2 {}
28551
28552#[repr(C)]
28554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28555pub struct SubpassDescriptionDepthStencilResolve {
28556 pub s_type: StructureType,
28557 pub next: *const c_void,
28558 pub depth_resolve_mode: ResolveModeFlags,
28559 pub stencil_resolve_mode: ResolveModeFlags,
28560 pub depth_stencil_resolve_attachment: *const AttachmentReference2,
28561}
28562
28563impl Default for SubpassDescriptionDepthStencilResolve {
28564 #[inline]
28565 fn default() -> Self {
28566 Self {
28567 s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
28568 next: ptr::null(),
28569 depth_resolve_mode: ResolveModeFlags::default(),
28570 stencil_resolve_mode: ResolveModeFlags::default(),
28571 depth_stencil_resolve_attachment: ptr::null(),
28572 }
28573 }
28574}
28575
28576unsafe impl Send for SubpassDescriptionDepthStencilResolve {}
28577unsafe impl Sync for SubpassDescriptionDepthStencilResolve {}
28578
28579#[repr(C)]
28581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28582pub struct SubpassEndInfo {
28583 pub s_type: StructureType,
28584 pub next: *const c_void,
28585}
28586
28587impl Default for SubpassEndInfo {
28588 #[inline]
28589 fn default() -> Self {
28590 Self {
28591 s_type: StructureType::SUBPASS_END_INFO,
28592 next: ptr::null(),
28593 }
28594 }
28595}
28596
28597unsafe impl Send for SubpassEndInfo {}
28598unsafe impl Sync for SubpassEndInfo {}
28599
28600#[repr(C)]
28602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28603pub struct SubpassResolvePerformanceQueryEXT {
28604 pub s_type: StructureType,
28605 pub next: *mut c_void,
28606 pub optimal: Bool32,
28607}
28608
28609impl Default for SubpassResolvePerformanceQueryEXT {
28610 #[inline]
28611 fn default() -> Self {
28612 Self {
28613 s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
28614 next: ptr::null_mut(),
28615 optimal: Bool32::default(),
28616 }
28617 }
28618}
28619
28620unsafe impl Send for SubpassResolvePerformanceQueryEXT {}
28621unsafe impl Sync for SubpassResolvePerformanceQueryEXT {}
28622
28623#[repr(C)]
28625#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28626pub struct SubpassSampleLocationsEXT {
28627 pub subpass_index: u32,
28628 pub sample_locations_info: SampleLocationsInfoEXT,
28629}
28630
28631#[repr(C)]
28633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28634pub struct SubpassShadingPipelineCreateInfoHUAWEI {
28635 pub s_type: StructureType,
28636 pub next: *mut c_void,
28637 pub render_pass: RenderPass,
28638 pub subpass: u32,
28639}
28640
28641impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
28642 #[inline]
28643 fn default() -> Self {
28644 Self {
28645 s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
28646 next: ptr::null_mut(),
28647 render_pass: RenderPass::default(),
28648 subpass: u32::default(),
28649 }
28650 }
28651}
28652
28653unsafe impl Send for SubpassShadingPipelineCreateInfoHUAWEI {}
28654unsafe impl Sync for SubpassShadingPipelineCreateInfoHUAWEI {}
28655
28656#[repr(C)]
28658#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28659pub struct SubresourceHostMemcpySize {
28660 pub s_type: StructureType,
28661 pub next: *mut c_void,
28662 pub size: DeviceSize,
28663}
28664
28665impl Default for SubresourceHostMemcpySize {
28666 #[inline]
28667 fn default() -> Self {
28668 Self {
28669 s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
28670 next: ptr::null_mut(),
28671 size: DeviceSize::default(),
28672 }
28673 }
28674}
28675
28676unsafe impl Send for SubresourceHostMemcpySize {}
28677unsafe impl Sync for SubresourceHostMemcpySize {}
28678
28679#[repr(C)]
28681#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28682pub struct SubresourceLayout {
28683 pub offset: DeviceSize,
28684 pub size: DeviceSize,
28685 pub row_pitch: DeviceSize,
28686 pub array_pitch: DeviceSize,
28687 pub depth_pitch: DeviceSize,
28688}
28689
28690#[repr(C)]
28692#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28693pub struct SubresourceLayout2 {
28694 pub s_type: StructureType,
28695 pub next: *mut c_void,
28696 pub subresource_layout: SubresourceLayout,
28697}
28698
28699impl Default for SubresourceLayout2 {
28700 #[inline]
28701 fn default() -> Self {
28702 Self {
28703 s_type: StructureType::SUBRESOURCE_LAYOUT_2,
28704 next: ptr::null_mut(),
28705 subresource_layout: SubresourceLayout::default(),
28706 }
28707 }
28708}
28709
28710unsafe impl Send for SubresourceLayout2 {}
28711unsafe impl Sync for SubresourceLayout2 {}
28712
28713#[repr(C)]
28715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28716pub struct SurfaceCapabilities2EXT {
28717 pub s_type: StructureType,
28718 pub next: *mut c_void,
28719 pub min_image_count: u32,
28720 pub max_image_count: u32,
28721 pub current_extent: Extent2D,
28722 pub min_image_extent: Extent2D,
28723 pub max_image_extent: Extent2D,
28724 pub max_image_array_layers: u32,
28725 pub supported_transforms: SurfaceTransformFlagsKHR,
28726 pub current_transform: SurfaceTransformFlagsKHR,
28727 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
28728 pub supported_usage_flags: ImageUsageFlags,
28729 pub supported_surface_counters: SurfaceCounterFlagsEXT,
28730}
28731
28732impl Default for SurfaceCapabilities2EXT {
28733 #[inline]
28734 fn default() -> Self {
28735 Self {
28736 s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
28737 next: ptr::null_mut(),
28738 min_image_count: u32::default(),
28739 max_image_count: u32::default(),
28740 current_extent: Extent2D::default(),
28741 min_image_extent: Extent2D::default(),
28742 max_image_extent: Extent2D::default(),
28743 max_image_array_layers: u32::default(),
28744 supported_transforms: SurfaceTransformFlagsKHR::default(),
28745 current_transform: SurfaceTransformFlagsKHR::default(),
28746 supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
28747 supported_usage_flags: ImageUsageFlags::default(),
28748 supported_surface_counters: SurfaceCounterFlagsEXT::default(),
28749 }
28750 }
28751}
28752
28753unsafe impl Send for SurfaceCapabilities2EXT {}
28754unsafe impl Sync for SurfaceCapabilities2EXT {}
28755
28756#[repr(C)]
28758#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28759pub struct SurfaceCapabilities2KHR {
28760 pub s_type: StructureType,
28761 pub next: *mut c_void,
28762 pub surface_capabilities: SurfaceCapabilitiesKHR,
28763}
28764
28765impl Default for SurfaceCapabilities2KHR {
28766 #[inline]
28767 fn default() -> Self {
28768 Self {
28769 s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
28770 next: ptr::null_mut(),
28771 surface_capabilities: SurfaceCapabilitiesKHR::default(),
28772 }
28773 }
28774}
28775
28776unsafe impl Send for SurfaceCapabilities2KHR {}
28777unsafe impl Sync for SurfaceCapabilities2KHR {}
28778
28779#[repr(C)]
28781#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28782pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
28783 pub s_type: StructureType,
28784 pub next: *mut c_void,
28785 pub full_screen_exclusive_supported: Bool32,
28786}
28787
28788impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
28789 #[inline]
28790 fn default() -> Self {
28791 Self {
28792 s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
28793 next: ptr::null_mut(),
28794 full_screen_exclusive_supported: Bool32::default(),
28795 }
28796 }
28797}
28798
28799unsafe impl Send for SurfaceCapabilitiesFullScreenExclusiveEXT {}
28800unsafe impl Sync for SurfaceCapabilitiesFullScreenExclusiveEXT {}
28801
28802#[repr(C)]
28804#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28805pub struct SurfaceCapabilitiesKHR {
28806 pub min_image_count: u32,
28807 pub max_image_count: u32,
28808 pub current_extent: Extent2D,
28809 pub min_image_extent: Extent2D,
28810 pub max_image_extent: Extent2D,
28811 pub max_image_array_layers: u32,
28812 pub supported_transforms: SurfaceTransformFlagsKHR,
28813 pub current_transform: SurfaceTransformFlagsKHR,
28814 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
28815 pub supported_usage_flags: ImageUsageFlags,
28816}
28817
28818#[repr(C)]
28820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28821pub struct SurfaceCapabilitiesPresentBarrierNV {
28822 pub s_type: StructureType,
28823 pub next: *mut c_void,
28824 pub present_barrier_supported: Bool32,
28825}
28826
28827impl Default for SurfaceCapabilitiesPresentBarrierNV {
28828 #[inline]
28829 fn default() -> Self {
28830 Self {
28831 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
28832 next: ptr::null_mut(),
28833 present_barrier_supported: Bool32::default(),
28834 }
28835 }
28836}
28837
28838unsafe impl Send for SurfaceCapabilitiesPresentBarrierNV {}
28839unsafe impl Sync for SurfaceCapabilitiesPresentBarrierNV {}
28840
28841#[repr(C)]
28843#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28844pub struct SurfaceCapabilitiesPresentId2KHR {
28845 pub s_type: StructureType,
28846 pub next: *mut c_void,
28847 pub present_id2_supported: Bool32,
28848}
28849
28850impl Default for SurfaceCapabilitiesPresentId2KHR {
28851 #[inline]
28852 fn default() -> Self {
28853 Self {
28854 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
28855 next: ptr::null_mut(),
28856 present_id2_supported: Bool32::default(),
28857 }
28858 }
28859}
28860
28861unsafe impl Send for SurfaceCapabilitiesPresentId2KHR {}
28862unsafe impl Sync for SurfaceCapabilitiesPresentId2KHR {}
28863
28864#[repr(C)]
28866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28867pub struct SurfaceCapabilitiesPresentWait2KHR {
28868 pub s_type: StructureType,
28869 pub next: *mut c_void,
28870 pub present_wait2_supported: Bool32,
28871}
28872
28873impl Default for SurfaceCapabilitiesPresentWait2KHR {
28874 #[inline]
28875 fn default() -> Self {
28876 Self {
28877 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
28878 next: ptr::null_mut(),
28879 present_wait2_supported: Bool32::default(),
28880 }
28881 }
28882}
28883
28884unsafe impl Send for SurfaceCapabilitiesPresentWait2KHR {}
28885unsafe impl Sync for SurfaceCapabilitiesPresentWait2KHR {}
28886
28887#[repr(C)]
28889#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28890pub struct SurfaceCreateInfoOHOS {
28891 pub s_type: StructureType,
28892 pub next: *const c_void,
28893 pub flags: SurfaceCreateFlagsOHOS,
28894 pub window: *mut OHNativeWindow,
28895}
28896
28897impl Default for SurfaceCreateInfoOHOS {
28898 #[inline]
28899 fn default() -> Self {
28900 Self {
28901 s_type: StructureType::SURFACE_CREATE_INFO_OHOS,
28902 next: ptr::null(),
28903 flags: SurfaceCreateFlagsOHOS::default(),
28904 window: ptr::null_mut(),
28905 }
28906 }
28907}
28908
28909unsafe impl Send for SurfaceCreateInfoOHOS {}
28910unsafe impl Sync for SurfaceCreateInfoOHOS {}
28911
28912#[repr(C)]
28914#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28915pub struct SurfaceFormat2KHR {
28916 pub s_type: StructureType,
28917 pub next: *mut c_void,
28918 pub surface_format: SurfaceFormatKHR,
28919}
28920
28921impl Default for SurfaceFormat2KHR {
28922 #[inline]
28923 fn default() -> Self {
28924 Self {
28925 s_type: StructureType::SURFACE_FORMAT_2_KHR,
28926 next: ptr::null_mut(),
28927 surface_format: SurfaceFormatKHR::default(),
28928 }
28929 }
28930}
28931
28932unsafe impl Send for SurfaceFormat2KHR {}
28933unsafe impl Sync for SurfaceFormat2KHR {}
28934
28935#[repr(C)]
28937#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28938pub struct SurfaceFormatKHR {
28939 pub format: Format,
28940 pub color_space: ColorSpaceKHR,
28941}
28942
28943#[repr(C)]
28945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28946pub struct SurfaceFullScreenExclusiveInfoEXT {
28947 pub s_type: StructureType,
28948 pub next: *mut c_void,
28949 pub full_screen_exclusive: FullScreenExclusiveEXT,
28950}
28951
28952impl Default for SurfaceFullScreenExclusiveInfoEXT {
28953 #[inline]
28954 fn default() -> Self {
28955 Self {
28956 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
28957 next: ptr::null_mut(),
28958 full_screen_exclusive: FullScreenExclusiveEXT::default(),
28959 }
28960 }
28961}
28962
28963unsafe impl Send for SurfaceFullScreenExclusiveInfoEXT {}
28964unsafe impl Sync for SurfaceFullScreenExclusiveInfoEXT {}
28965
28966#[repr(C)]
28968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28969pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
28970 pub s_type: StructureType,
28971 pub next: *const c_void,
28972 pub hmonitor: HMONITOR,
28973}
28974
28975impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
28976 #[inline]
28977 fn default() -> Self {
28978 Self {
28979 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
28980 next: ptr::null(),
28981 hmonitor: ptr::null_mut(),
28982 }
28983 }
28984}
28985
28986unsafe impl Send for SurfaceFullScreenExclusiveWin32InfoEXT {}
28987unsafe impl Sync for SurfaceFullScreenExclusiveWin32InfoEXT {}
28988
28989#[repr(C)]
28991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28992pub struct SurfacePresentModeCompatibilityKHR {
28993 pub s_type: StructureType,
28994 pub next: *mut c_void,
28995 pub present_mode_count: u32,
28996 pub present_modes: *mut PresentModeKHR,
28997}
28998
28999impl Default for SurfacePresentModeCompatibilityKHR {
29000 #[inline]
29001 fn default() -> Self {
29002 Self {
29003 s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
29004 next: ptr::null_mut(),
29005 present_mode_count: u32::default(),
29006 present_modes: ptr::null_mut(),
29007 }
29008 }
29009}
29010
29011unsafe impl Send for SurfacePresentModeCompatibilityKHR {}
29012unsafe impl Sync for SurfacePresentModeCompatibilityKHR {}
29013
29014#[repr(C)]
29016#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29017pub struct SurfacePresentModeKHR {
29018 pub s_type: StructureType,
29019 pub next: *mut c_void,
29020 pub present_mode: PresentModeKHR,
29021}
29022
29023impl Default for SurfacePresentModeKHR {
29024 #[inline]
29025 fn default() -> Self {
29026 Self {
29027 s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
29028 next: ptr::null_mut(),
29029 present_mode: PresentModeKHR::default(),
29030 }
29031 }
29032}
29033
29034unsafe impl Send for SurfacePresentModeKHR {}
29035unsafe impl Sync for SurfacePresentModeKHR {}
29036
29037#[repr(C)]
29039#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29040pub struct SurfacePresentScalingCapabilitiesKHR {
29041 pub s_type: StructureType,
29042 pub next: *mut c_void,
29043 pub supported_present_scaling: PresentScalingFlagsKHR,
29044 pub supported_present_gravity_x: PresentGravityFlagsKHR,
29045 pub supported_present_gravity_y: PresentGravityFlagsKHR,
29046 pub min_scaled_image_extent: Extent2D,
29047 pub max_scaled_image_extent: Extent2D,
29048}
29049
29050impl Default for SurfacePresentScalingCapabilitiesKHR {
29051 #[inline]
29052 fn default() -> Self {
29053 Self {
29054 s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
29055 next: ptr::null_mut(),
29056 supported_present_scaling: PresentScalingFlagsKHR::default(),
29057 supported_present_gravity_x: PresentGravityFlagsKHR::default(),
29058 supported_present_gravity_y: PresentGravityFlagsKHR::default(),
29059 min_scaled_image_extent: Extent2D::default(),
29060 max_scaled_image_extent: Extent2D::default(),
29061 }
29062 }
29063}
29064
29065unsafe impl Send for SurfacePresentScalingCapabilitiesKHR {}
29066unsafe impl Sync for SurfacePresentScalingCapabilitiesKHR {}
29067
29068#[repr(C)]
29070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29071pub struct SurfaceProtectedCapabilitiesKHR {
29072 pub s_type: StructureType,
29073 pub next: *const c_void,
29074 pub supports_protected: Bool32,
29075}
29076
29077impl Default for SurfaceProtectedCapabilitiesKHR {
29078 #[inline]
29079 fn default() -> Self {
29080 Self {
29081 s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
29082 next: ptr::null(),
29083 supports_protected: Bool32::default(),
29084 }
29085 }
29086}
29087
29088unsafe impl Send for SurfaceProtectedCapabilitiesKHR {}
29089unsafe impl Sync for SurfaceProtectedCapabilitiesKHR {}
29090
29091#[repr(C)]
29093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29094pub struct SwapchainCounterCreateInfoEXT {
29095 pub s_type: StructureType,
29096 pub next: *const c_void,
29097 pub surface_counters: SurfaceCounterFlagsEXT,
29098}
29099
29100impl Default for SwapchainCounterCreateInfoEXT {
29101 #[inline]
29102 fn default() -> Self {
29103 Self {
29104 s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
29105 next: ptr::null(),
29106 surface_counters: SurfaceCounterFlagsEXT::default(),
29107 }
29108 }
29109}
29110
29111unsafe impl Send for SwapchainCounterCreateInfoEXT {}
29112unsafe impl Sync for SwapchainCounterCreateInfoEXT {}
29113
29114#[repr(C)]
29116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29117pub struct SwapchainCreateInfoKHR {
29118 pub s_type: StructureType,
29119 pub next: *const c_void,
29120 pub flags: SwapchainCreateFlagsKHR,
29121 pub surface: SurfaceKHR,
29122 pub min_image_count: u32,
29123 pub image_format: Format,
29124 pub image_color_space: ColorSpaceKHR,
29125 pub image_extent: Extent2D,
29126 pub image_array_layers: u32,
29127 pub image_usage: ImageUsageFlags,
29128 pub image_sharing_mode: SharingMode,
29129 pub queue_family_index_count: u32,
29130 pub queue_family_indices: *const u32,
29131 pub pre_transform: SurfaceTransformFlagsKHR,
29132 pub composite_alpha: CompositeAlphaFlagsKHR,
29133 pub present_mode: PresentModeKHR,
29134 pub clipped: Bool32,
29135 pub old_swapchain: SwapchainKHR,
29136}
29137
29138impl Default for SwapchainCreateInfoKHR {
29139 #[inline]
29140 fn default() -> Self {
29141 Self {
29142 s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
29143 next: ptr::null(),
29144 flags: SwapchainCreateFlagsKHR::default(),
29145 surface: SurfaceKHR::default(),
29146 min_image_count: u32::default(),
29147 image_format: Format::default(),
29148 image_color_space: ColorSpaceKHR::default(),
29149 image_extent: Extent2D::default(),
29150 image_array_layers: u32::default(),
29151 image_usage: ImageUsageFlags::default(),
29152 image_sharing_mode: SharingMode::default(),
29153 queue_family_index_count: u32::default(),
29154 queue_family_indices: ptr::null(),
29155 pre_transform: SurfaceTransformFlagsKHR::default(),
29156 composite_alpha: CompositeAlphaFlagsKHR::default(),
29157 present_mode: PresentModeKHR::default(),
29158 clipped: Bool32::default(),
29159 old_swapchain: SwapchainKHR::default(),
29160 }
29161 }
29162}
29163
29164unsafe impl Send for SwapchainCreateInfoKHR {}
29165unsafe impl Sync for SwapchainCreateInfoKHR {}
29166
29167#[repr(C)]
29169#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29170pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
29171 pub s_type: StructureType,
29172 pub next: *const c_void,
29173 pub local_dimming_enable: Bool32,
29174}
29175
29176impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
29177 #[inline]
29178 fn default() -> Self {
29179 Self {
29180 s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
29181 next: ptr::null(),
29182 local_dimming_enable: Bool32::default(),
29183 }
29184 }
29185}
29186
29187unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {}
29188unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {}
29189
29190#[repr(C)]
29192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29193pub struct SwapchainImageCreateInfoOHOS {
29194 pub s_type: StructureType,
29195 pub next: *const c_void,
29196 pub usage: SwapchainImageUsageFlagsOHOS,
29197}
29198
29199impl Default for SwapchainImageCreateInfoOHOS {
29200 #[inline]
29201 fn default() -> Self {
29202 Self {
29203 s_type: StructureType::SWAPCHAIN_IMAGE_CREATE_INFO_OHOS,
29204 next: ptr::null(),
29205 usage: SwapchainImageUsageFlagsOHOS::default(),
29206 }
29207 }
29208}
29209
29210unsafe impl Send for SwapchainImageCreateInfoOHOS {}
29211unsafe impl Sync for SwapchainImageCreateInfoOHOS {}
29212
29213#[repr(C)]
29215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29216pub struct SwapchainLatencyCreateInfoNV {
29217 pub s_type: StructureType,
29218 pub next: *const c_void,
29219 pub latency_mode_enable: Bool32,
29220}
29221
29222impl Default for SwapchainLatencyCreateInfoNV {
29223 #[inline]
29224 fn default() -> Self {
29225 Self {
29226 s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
29227 next: ptr::null(),
29228 latency_mode_enable: Bool32::default(),
29229 }
29230 }
29231}
29232
29233unsafe impl Send for SwapchainLatencyCreateInfoNV {}
29234unsafe impl Sync for SwapchainLatencyCreateInfoNV {}
29235
29236#[repr(C)]
29238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29239pub struct SwapchainPresentBarrierCreateInfoNV {
29240 pub s_type: StructureType,
29241 pub next: *mut c_void,
29242 pub present_barrier_enable: Bool32,
29243}
29244
29245impl Default for SwapchainPresentBarrierCreateInfoNV {
29246 #[inline]
29247 fn default() -> Self {
29248 Self {
29249 s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
29250 next: ptr::null_mut(),
29251 present_barrier_enable: Bool32::default(),
29252 }
29253 }
29254}
29255
29256unsafe impl Send for SwapchainPresentBarrierCreateInfoNV {}
29257unsafe impl Sync for SwapchainPresentBarrierCreateInfoNV {}
29258
29259#[repr(C)]
29261#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29262pub struct SwapchainPresentFenceInfoKHR {
29263 pub s_type: StructureType,
29264 pub next: *const c_void,
29265 pub swapchain_count: u32,
29266 pub fences: *const Fence,
29267}
29268
29269impl Default for SwapchainPresentFenceInfoKHR {
29270 #[inline]
29271 fn default() -> Self {
29272 Self {
29273 s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
29274 next: ptr::null(),
29275 swapchain_count: u32::default(),
29276 fences: ptr::null(),
29277 }
29278 }
29279}
29280
29281unsafe impl Send for SwapchainPresentFenceInfoKHR {}
29282unsafe impl Sync for SwapchainPresentFenceInfoKHR {}
29283
29284#[repr(C)]
29286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29287pub struct SwapchainPresentModeInfoKHR {
29288 pub s_type: StructureType,
29289 pub next: *const c_void,
29290 pub swapchain_count: u32,
29291 pub present_modes: *const PresentModeKHR,
29292}
29293
29294impl Default for SwapchainPresentModeInfoKHR {
29295 #[inline]
29296 fn default() -> Self {
29297 Self {
29298 s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
29299 next: ptr::null(),
29300 swapchain_count: u32::default(),
29301 present_modes: ptr::null(),
29302 }
29303 }
29304}
29305
29306unsafe impl Send for SwapchainPresentModeInfoKHR {}
29307unsafe impl Sync for SwapchainPresentModeInfoKHR {}
29308
29309#[repr(C)]
29311#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29312pub struct SwapchainPresentModesCreateInfoKHR {
29313 pub s_type: StructureType,
29314 pub next: *const c_void,
29315 pub present_mode_count: u32,
29316 pub present_modes: *const PresentModeKHR,
29317}
29318
29319impl Default for SwapchainPresentModesCreateInfoKHR {
29320 #[inline]
29321 fn default() -> Self {
29322 Self {
29323 s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
29324 next: ptr::null(),
29325 present_mode_count: u32::default(),
29326 present_modes: ptr::null(),
29327 }
29328 }
29329}
29330
29331unsafe impl Send for SwapchainPresentModesCreateInfoKHR {}
29332unsafe impl Sync for SwapchainPresentModesCreateInfoKHR {}
29333
29334#[repr(C)]
29336#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29337pub struct SwapchainPresentScalingCreateInfoKHR {
29338 pub s_type: StructureType,
29339 pub next: *const c_void,
29340 pub scaling_behavior: PresentScalingFlagsKHR,
29341 pub present_gravity_x: PresentGravityFlagsKHR,
29342 pub present_gravity_y: PresentGravityFlagsKHR,
29343}
29344
29345impl Default for SwapchainPresentScalingCreateInfoKHR {
29346 #[inline]
29347 fn default() -> Self {
29348 Self {
29349 s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
29350 next: ptr::null(),
29351 scaling_behavior: PresentScalingFlagsKHR::default(),
29352 present_gravity_x: PresentGravityFlagsKHR::default(),
29353 present_gravity_y: PresentGravityFlagsKHR::default(),
29354 }
29355 }
29356}
29357
29358unsafe impl Send for SwapchainPresentScalingCreateInfoKHR {}
29359unsafe impl Sync for SwapchainPresentScalingCreateInfoKHR {}
29360
29361#[repr(C)]
29363#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29364pub struct SysmemColorSpaceFUCHSIA {
29365 pub s_type: StructureType,
29366 pub next: *const c_void,
29367 pub color_space: u32,
29368}
29369
29370impl Default for SysmemColorSpaceFUCHSIA {
29371 #[inline]
29372 fn default() -> Self {
29373 Self {
29374 s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
29375 next: ptr::null(),
29376 color_space: u32::default(),
29377 }
29378 }
29379}
29380
29381unsafe impl Send for SysmemColorSpaceFUCHSIA {}
29382unsafe impl Sync for SysmemColorSpaceFUCHSIA {}
29383
29384#[repr(C)]
29386#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29387pub struct TensorCaptureDescriptorDataInfoARM {
29388 pub s_type: StructureType,
29389 pub next: *const c_void,
29390 pub tensor: TensorARM,
29391}
29392
29393impl Default for TensorCaptureDescriptorDataInfoARM {
29394 #[inline]
29395 fn default() -> Self {
29396 Self {
29397 s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
29398 next: ptr::null(),
29399 tensor: TensorARM::default(),
29400 }
29401 }
29402}
29403
29404unsafe impl Send for TensorCaptureDescriptorDataInfoARM {}
29405unsafe impl Sync for TensorCaptureDescriptorDataInfoARM {}
29406
29407#[repr(C)]
29409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29410pub struct TensorCopyARM {
29411 pub s_type: StructureType,
29412 pub next: *const c_void,
29413 pub dimension_count: u32,
29414 pub src_offset: *const u64,
29415 pub dst_offset: *const u64,
29416 pub extent: *const u64,
29417}
29418
29419impl Default for TensorCopyARM {
29420 #[inline]
29421 fn default() -> Self {
29422 Self {
29423 s_type: StructureType::TENSOR_COPY_ARM,
29424 next: ptr::null(),
29425 dimension_count: u32::default(),
29426 src_offset: ptr::null(),
29427 dst_offset: ptr::null(),
29428 extent: ptr::null(),
29429 }
29430 }
29431}
29432
29433unsafe impl Send for TensorCopyARM {}
29434unsafe impl Sync for TensorCopyARM {}
29435
29436#[repr(C)]
29438#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29439pub struct TensorCreateInfoARM {
29440 pub s_type: StructureType,
29441 pub next: *const c_void,
29442 pub flags: TensorCreateFlagsARM,
29443 pub description: *const TensorDescriptionARM,
29444 pub sharing_mode: SharingMode,
29445 pub queue_family_index_count: u32,
29446 pub queue_family_indices: *const u32,
29447}
29448
29449impl Default for TensorCreateInfoARM {
29450 #[inline]
29451 fn default() -> Self {
29452 Self {
29453 s_type: StructureType::TENSOR_CREATE_INFO_ARM,
29454 next: ptr::null(),
29455 flags: TensorCreateFlagsARM::default(),
29456 description: ptr::null(),
29457 sharing_mode: SharingMode::default(),
29458 queue_family_index_count: u32::default(),
29459 queue_family_indices: ptr::null(),
29460 }
29461 }
29462}
29463
29464unsafe impl Send for TensorCreateInfoARM {}
29465unsafe impl Sync for TensorCreateInfoARM {}
29466
29467#[repr(C)]
29469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29470pub struct TensorDependencyInfoARM {
29471 pub s_type: StructureType,
29472 pub next: *const c_void,
29473 pub tensor_memory_barrier_count: u32,
29474 pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
29475}
29476
29477impl Default for TensorDependencyInfoARM {
29478 #[inline]
29479 fn default() -> Self {
29480 Self {
29481 s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
29482 next: ptr::null(),
29483 tensor_memory_barrier_count: u32::default(),
29484 tensor_memory_barriers: ptr::null(),
29485 }
29486 }
29487}
29488
29489unsafe impl Send for TensorDependencyInfoARM {}
29490unsafe impl Sync for TensorDependencyInfoARM {}
29491
29492#[repr(C)]
29494#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29495pub struct TensorDescriptionARM {
29496 pub s_type: StructureType,
29497 pub next: *const c_void,
29498 pub tiling: TensorTilingARM,
29499 pub format: Format,
29500 pub dimension_count: u32,
29501 pub dimensions: *const i64,
29502 pub strides: *const i64,
29503 pub usage: TensorUsageFlagsARM,
29504}
29505
29506impl Default for TensorDescriptionARM {
29507 #[inline]
29508 fn default() -> Self {
29509 Self {
29510 s_type: StructureType::TENSOR_DESCRIPTION_ARM,
29511 next: ptr::null(),
29512 tiling: TensorTilingARM::default(),
29513 format: Format::default(),
29514 dimension_count: u32::default(),
29515 dimensions: ptr::null(),
29516 strides: ptr::null(),
29517 usage: TensorUsageFlagsARM::default(),
29518 }
29519 }
29520}
29521
29522unsafe impl Send for TensorDescriptionARM {}
29523unsafe impl Sync for TensorDescriptionARM {}
29524
29525#[repr(C)]
29527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29528pub struct TensorFormatPropertiesARM {
29529 pub s_type: StructureType,
29530 pub next: *const c_void,
29531 pub optimal_tiling_tensor_features: FormatFeatureFlags2,
29532 pub linear_tiling_tensor_features: FormatFeatureFlags2,
29533}
29534
29535impl Default for TensorFormatPropertiesARM {
29536 #[inline]
29537 fn default() -> Self {
29538 Self {
29539 s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
29540 next: ptr::null(),
29541 optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
29542 linear_tiling_tensor_features: FormatFeatureFlags2::default(),
29543 }
29544 }
29545}
29546
29547unsafe impl Send for TensorFormatPropertiesARM {}
29548unsafe impl Sync for TensorFormatPropertiesARM {}
29549
29550#[repr(C)]
29552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29553pub struct TensorMemoryBarrierARM {
29554 pub s_type: StructureType,
29555 pub next: *const c_void,
29556 pub src_stage_mask: PipelineStageFlags2,
29557 pub src_access_mask: AccessFlags2,
29558 pub dst_stage_mask: PipelineStageFlags2,
29559 pub dst_access_mask: AccessFlags2,
29560 pub src_queue_family_index: u32,
29561 pub dst_queue_family_index: u32,
29562 pub tensor: TensorARM,
29563}
29564
29565impl Default for TensorMemoryBarrierARM {
29566 #[inline]
29567 fn default() -> Self {
29568 Self {
29569 s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
29570 next: ptr::null(),
29571 src_stage_mask: PipelineStageFlags2::default(),
29572 src_access_mask: AccessFlags2::default(),
29573 dst_stage_mask: PipelineStageFlags2::default(),
29574 dst_access_mask: AccessFlags2::default(),
29575 src_queue_family_index: u32::default(),
29576 dst_queue_family_index: u32::default(),
29577 tensor: TensorARM::default(),
29578 }
29579 }
29580}
29581
29582unsafe impl Send for TensorMemoryBarrierARM {}
29583unsafe impl Sync for TensorMemoryBarrierARM {}
29584
29585#[repr(C)]
29587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29588pub struct TensorMemoryRequirementsInfoARM {
29589 pub s_type: StructureType,
29590 pub next: *const c_void,
29591 pub tensor: TensorARM,
29592}
29593
29594impl Default for TensorMemoryRequirementsInfoARM {
29595 #[inline]
29596 fn default() -> Self {
29597 Self {
29598 s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
29599 next: ptr::null(),
29600 tensor: TensorARM::default(),
29601 }
29602 }
29603}
29604
29605unsafe impl Send for TensorMemoryRequirementsInfoARM {}
29606unsafe impl Sync for TensorMemoryRequirementsInfoARM {}
29607
29608#[repr(C)]
29610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29611pub struct TensorViewCaptureDescriptorDataInfoARM {
29612 pub s_type: StructureType,
29613 pub next: *const c_void,
29614 pub tensor_view: TensorViewARM,
29615}
29616
29617impl Default for TensorViewCaptureDescriptorDataInfoARM {
29618 #[inline]
29619 fn default() -> Self {
29620 Self {
29621 s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
29622 next: ptr::null(),
29623 tensor_view: TensorViewARM::default(),
29624 }
29625 }
29626}
29627
29628unsafe impl Send for TensorViewCaptureDescriptorDataInfoARM {}
29629unsafe impl Sync for TensorViewCaptureDescriptorDataInfoARM {}
29630
29631#[repr(C)]
29633#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29634pub struct TensorViewCreateInfoARM {
29635 pub s_type: StructureType,
29636 pub next: *const c_void,
29637 pub flags: TensorViewCreateFlagsARM,
29638 pub tensor: TensorARM,
29639 pub format: Format,
29640}
29641
29642impl Default for TensorViewCreateInfoARM {
29643 #[inline]
29644 fn default() -> Self {
29645 Self {
29646 s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
29647 next: ptr::null(),
29648 flags: TensorViewCreateFlagsARM::default(),
29649 tensor: TensorARM::default(),
29650 format: Format::default(),
29651 }
29652 }
29653}
29654
29655unsafe impl Send for TensorViewCreateInfoARM {}
29656unsafe impl Sync for TensorViewCreateInfoARM {}
29657
29658#[repr(C)]
29660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29661pub struct TextureLODGatherFormatPropertiesAMD {
29662 pub s_type: StructureType,
29663 pub next: *mut c_void,
29664 pub supports_texture_gather_lod_bias_amd: Bool32,
29665}
29666
29667impl Default for TextureLODGatherFormatPropertiesAMD {
29668 #[inline]
29669 fn default() -> Self {
29670 Self {
29671 s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
29672 next: ptr::null_mut(),
29673 supports_texture_gather_lod_bias_amd: Bool32::default(),
29674 }
29675 }
29676}
29677
29678unsafe impl Send for TextureLODGatherFormatPropertiesAMD {}
29679unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {}
29680
29681#[repr(C)]
29683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29684pub struct TileMemoryBindInfoQCOM {
29685 pub s_type: StructureType,
29686 pub next: *const c_void,
29687 pub memory: DeviceMemory,
29688}
29689
29690impl Default for TileMemoryBindInfoQCOM {
29691 #[inline]
29692 fn default() -> Self {
29693 Self {
29694 s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
29695 next: ptr::null(),
29696 memory: DeviceMemory::default(),
29697 }
29698 }
29699}
29700
29701unsafe impl Send for TileMemoryBindInfoQCOM {}
29702unsafe impl Sync for TileMemoryBindInfoQCOM {}
29703
29704#[repr(C)]
29706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29707pub struct TileMemoryRequirementsQCOM {
29708 pub s_type: StructureType,
29709 pub next: *mut c_void,
29710 pub size: DeviceSize,
29711 pub alignment: DeviceSize,
29712}
29713
29714impl Default for TileMemoryRequirementsQCOM {
29715 #[inline]
29716 fn default() -> Self {
29717 Self {
29718 s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
29719 next: ptr::null_mut(),
29720 size: DeviceSize::default(),
29721 alignment: DeviceSize::default(),
29722 }
29723 }
29724}
29725
29726unsafe impl Send for TileMemoryRequirementsQCOM {}
29727unsafe impl Sync for TileMemoryRequirementsQCOM {}
29728
29729#[repr(C)]
29731#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29732pub struct TileMemorySizeInfoQCOM {
29733 pub s_type: StructureType,
29734 pub next: *const c_void,
29735 pub size: DeviceSize,
29736}
29737
29738impl Default for TileMemorySizeInfoQCOM {
29739 #[inline]
29740 fn default() -> Self {
29741 Self {
29742 s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
29743 next: ptr::null(),
29744 size: DeviceSize::default(),
29745 }
29746 }
29747}
29748
29749unsafe impl Send for TileMemorySizeInfoQCOM {}
29750unsafe impl Sync for TileMemorySizeInfoQCOM {}
29751
29752#[repr(C)]
29754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29755pub struct TilePropertiesQCOM {
29756 pub s_type: StructureType,
29757 pub next: *mut c_void,
29758 pub tile_size: Extent3D,
29759 pub apron_size: Extent2D,
29760 pub origin: Offset2D,
29761}
29762
29763impl Default for TilePropertiesQCOM {
29764 #[inline]
29765 fn default() -> Self {
29766 Self {
29767 s_type: StructureType::TILE_PROPERTIES_QCOM,
29768 next: ptr::null_mut(),
29769 tile_size: Extent3D::default(),
29770 apron_size: Extent2D::default(),
29771 origin: Offset2D::default(),
29772 }
29773 }
29774}
29775
29776unsafe impl Send for TilePropertiesQCOM {}
29777unsafe impl Sync for TilePropertiesQCOM {}
29778
29779#[repr(C)]
29781#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29782pub struct TimelineSemaphoreSubmitInfo {
29783 pub s_type: StructureType,
29784 pub next: *const c_void,
29785 pub wait_semaphore_value_count: u32,
29786 pub wait_semaphore_values: *const u64,
29787 pub signal_semaphore_value_count: u32,
29788 pub signal_semaphore_values: *const u64,
29789}
29790
29791impl Default for TimelineSemaphoreSubmitInfo {
29792 #[inline]
29793 fn default() -> Self {
29794 Self {
29795 s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
29796 next: ptr::null(),
29797 wait_semaphore_value_count: u32::default(),
29798 wait_semaphore_values: ptr::null(),
29799 signal_semaphore_value_count: u32::default(),
29800 signal_semaphore_values: ptr::null(),
29801 }
29802 }
29803}
29804
29805unsafe impl Send for TimelineSemaphoreSubmitInfo {}
29806unsafe impl Sync for TimelineSemaphoreSubmitInfo {}
29807
29808#[repr(C)]
29810#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29811pub struct TraceRaysIndirectCommand2KHR {
29812 pub raygen_shader_record_address: DeviceAddress,
29813 pub raygen_shader_record_size: DeviceSize,
29814 pub miss_shader_binding_table_address: DeviceAddress,
29815 pub miss_shader_binding_table_size: DeviceSize,
29816 pub miss_shader_binding_table_stride: DeviceSize,
29817 pub hit_shader_binding_table_address: DeviceAddress,
29818 pub hit_shader_binding_table_size: DeviceSize,
29819 pub hit_shader_binding_table_stride: DeviceSize,
29820 pub callable_shader_binding_table_address: DeviceAddress,
29821 pub callable_shader_binding_table_size: DeviceSize,
29822 pub callable_shader_binding_table_stride: DeviceSize,
29823 pub width: u32,
29824 pub height: u32,
29825 pub depth: u32,
29826}
29827
29828#[repr(C)]
29830#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29831pub struct TraceRaysIndirectCommandKHR {
29832 pub width: u32,
29833 pub height: u32,
29834 pub depth: u32,
29835}
29836
29837#[repr(C)]
29839#[derive(Copy, Clone, Default, Debug, PartialEq)]
29840pub struct TransformMatrixKHR {
29841 pub matrix: [[f32; 4]; 3],
29842}
29843
29844#[repr(C)]
29846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29847pub struct ValidationCacheCreateInfoEXT {
29848 pub s_type: StructureType,
29849 pub next: *const c_void,
29850 pub flags: ValidationCacheCreateFlagsEXT,
29851 pub initial_data_size: usize,
29852 pub initial_data: *const c_void,
29853}
29854
29855impl Default for ValidationCacheCreateInfoEXT {
29856 #[inline]
29857 fn default() -> Self {
29858 Self {
29859 s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
29860 next: ptr::null(),
29861 flags: ValidationCacheCreateFlagsEXT::default(),
29862 initial_data_size: usize::default(),
29863 initial_data: ptr::null(),
29864 }
29865 }
29866}
29867
29868unsafe impl Send for ValidationCacheCreateInfoEXT {}
29869unsafe impl Sync for ValidationCacheCreateInfoEXT {}
29870
29871#[repr(C)]
29873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29874pub struct ValidationFeaturesEXT {
29875 pub s_type: StructureType,
29876 pub next: *const c_void,
29877 pub enabled_validation_feature_count: u32,
29878 pub enabled_validation_features: *const ValidationFeatureEnableEXT,
29879 pub disabled_validation_feature_count: u32,
29880 pub disabled_validation_features: *const ValidationFeatureDisableEXT,
29881}
29882
29883impl Default for ValidationFeaturesEXT {
29884 #[inline]
29885 fn default() -> Self {
29886 Self {
29887 s_type: StructureType::VALIDATION_FEATURES_EXT,
29888 next: ptr::null(),
29889 enabled_validation_feature_count: u32::default(),
29890 enabled_validation_features: ptr::null(),
29891 disabled_validation_feature_count: u32::default(),
29892 disabled_validation_features: ptr::null(),
29893 }
29894 }
29895}
29896
29897unsafe impl Send for ValidationFeaturesEXT {}
29898unsafe impl Sync for ValidationFeaturesEXT {}
29899
29900#[repr(C)]
29902#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29903pub struct ValidationFlagsEXT {
29904 pub s_type: StructureType,
29905 pub next: *const c_void,
29906 pub disabled_validation_check_count: u32,
29907 pub disabled_validation_checks: *const ValidationCheckEXT,
29908}
29909
29910impl Default for ValidationFlagsEXT {
29911 #[inline]
29912 fn default() -> Self {
29913 Self {
29914 s_type: StructureType::VALIDATION_FLAGS_EXT,
29915 next: ptr::null(),
29916 disabled_validation_check_count: u32::default(),
29917 disabled_validation_checks: ptr::null(),
29918 }
29919 }
29920}
29921
29922unsafe impl Send for ValidationFlagsEXT {}
29923unsafe impl Sync for ValidationFlagsEXT {}
29924
29925#[repr(C)]
29927#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29928pub struct VertexInputAttributeDescription {
29929 pub location: u32,
29930 pub binding: u32,
29931 pub format: Format,
29932 pub offset: u32,
29933}
29934
29935#[repr(C)]
29937#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29938pub struct VertexInputAttributeDescription2EXT {
29939 pub s_type: StructureType,
29940 pub next: *mut c_void,
29941 pub location: u32,
29942 pub binding: u32,
29943 pub format: Format,
29944 pub offset: u32,
29945}
29946
29947impl Default for VertexInputAttributeDescription2EXT {
29948 #[inline]
29949 fn default() -> Self {
29950 Self {
29951 s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
29952 next: ptr::null_mut(),
29953 location: u32::default(),
29954 binding: u32::default(),
29955 format: Format::default(),
29956 offset: u32::default(),
29957 }
29958 }
29959}
29960
29961unsafe impl Send for VertexInputAttributeDescription2EXT {}
29962unsafe impl Sync for VertexInputAttributeDescription2EXT {}
29963
29964#[repr(C)]
29966#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29967pub struct VertexInputBindingDescription {
29968 pub binding: u32,
29969 pub stride: u32,
29970 pub input_rate: VertexInputRate,
29971}
29972
29973#[repr(C)]
29975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29976pub struct VertexInputBindingDescription2EXT {
29977 pub s_type: StructureType,
29978 pub next: *mut c_void,
29979 pub binding: u32,
29980 pub stride: u32,
29981 pub input_rate: VertexInputRate,
29982 pub divisor: u32,
29983}
29984
29985impl Default for VertexInputBindingDescription2EXT {
29986 #[inline]
29987 fn default() -> Self {
29988 Self {
29989 s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
29990 next: ptr::null_mut(),
29991 binding: u32::default(),
29992 stride: u32::default(),
29993 input_rate: VertexInputRate::default(),
29994 divisor: u32::default(),
29995 }
29996 }
29997}
29998
29999unsafe impl Send for VertexInputBindingDescription2EXT {}
30000unsafe impl Sync for VertexInputBindingDescription2EXT {}
30001
30002#[repr(C)]
30004#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30005pub struct VertexInputBindingDivisorDescription {
30006 pub binding: u32,
30007 pub divisor: u32,
30008}
30009
30010#[repr(C)]
30012#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30013pub struct ViSurfaceCreateInfoNN {
30014 pub s_type: StructureType,
30015 pub next: *const c_void,
30016 pub flags: ViSurfaceCreateFlagsNN,
30017 pub window: *mut c_void,
30018}
30019
30020impl Default for ViSurfaceCreateInfoNN {
30021 #[inline]
30022 fn default() -> Self {
30023 Self {
30024 s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
30025 next: ptr::null(),
30026 flags: ViSurfaceCreateFlagsNN::default(),
30027 window: ptr::null_mut(),
30028 }
30029 }
30030}
30031
30032unsafe impl Send for ViSurfaceCreateInfoNN {}
30033unsafe impl Sync for ViSurfaceCreateInfoNN {}
30034
30035#[repr(C)]
30037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30038pub struct VideoBeginCodingInfoKHR {
30039 pub s_type: StructureType,
30040 pub next: *const c_void,
30041 pub flags: VideoBeginCodingFlagsKHR,
30042 pub video_session: VideoSessionKHR,
30043 pub video_session_parameters: VideoSessionParametersKHR,
30044 pub reference_slot_count: u32,
30045 pub reference_slots: *const VideoReferenceSlotInfoKHR,
30046}
30047
30048impl Default for VideoBeginCodingInfoKHR {
30049 #[inline]
30050 fn default() -> Self {
30051 Self {
30052 s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
30053 next: ptr::null(),
30054 flags: VideoBeginCodingFlagsKHR::default(),
30055 video_session: VideoSessionKHR::default(),
30056 video_session_parameters: VideoSessionParametersKHR::default(),
30057 reference_slot_count: u32::default(),
30058 reference_slots: ptr::null(),
30059 }
30060 }
30061}
30062
30063unsafe impl Send for VideoBeginCodingInfoKHR {}
30064unsafe impl Sync for VideoBeginCodingInfoKHR {}
30065
30066#[repr(C)]
30068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30069pub struct VideoCapabilitiesKHR {
30070 pub s_type: StructureType,
30071 pub next: *mut c_void,
30072 pub flags: VideoCapabilityFlagsKHR,
30073 pub min_bitstream_buffer_offset_alignment: DeviceSize,
30074 pub min_bitstream_buffer_size_alignment: DeviceSize,
30075 pub picture_access_granularity: Extent2D,
30076 pub min_coded_extent: Extent2D,
30077 pub max_coded_extent: Extent2D,
30078 pub max_dpb_slots: u32,
30079 pub max_active_reference_pictures: u32,
30080 pub std_header_version: ExtensionProperties,
30081}
30082
30083impl Default for VideoCapabilitiesKHR {
30084 #[inline]
30085 fn default() -> Self {
30086 Self {
30087 s_type: StructureType::VIDEO_CAPABILITIES_KHR,
30088 next: ptr::null_mut(),
30089 flags: VideoCapabilityFlagsKHR::default(),
30090 min_bitstream_buffer_offset_alignment: DeviceSize::default(),
30091 min_bitstream_buffer_size_alignment: DeviceSize::default(),
30092 picture_access_granularity: Extent2D::default(),
30093 min_coded_extent: Extent2D::default(),
30094 max_coded_extent: Extent2D::default(),
30095 max_dpb_slots: u32::default(),
30096 max_active_reference_pictures: u32::default(),
30097 std_header_version: ExtensionProperties::default(),
30098 }
30099 }
30100}
30101
30102unsafe impl Send for VideoCapabilitiesKHR {}
30103unsafe impl Sync for VideoCapabilitiesKHR {}
30104
30105#[repr(C)]
30107#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30108pub struct VideoCodingControlInfoKHR {
30109 pub s_type: StructureType,
30110 pub next: *const c_void,
30111 pub flags: VideoCodingControlFlagsKHR,
30112}
30113
30114impl Default for VideoCodingControlInfoKHR {
30115 #[inline]
30116 fn default() -> Self {
30117 Self {
30118 s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
30119 next: ptr::null(),
30120 flags: VideoCodingControlFlagsKHR::default(),
30121 }
30122 }
30123}
30124
30125unsafe impl Send for VideoCodingControlInfoKHR {}
30126unsafe impl Sync for VideoCodingControlInfoKHR {}
30127
30128#[repr(C)]
30130#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30131pub struct VideoDecodeAV1CapabilitiesKHR {
30132 pub s_type: StructureType,
30133 pub next: *mut c_void,
30134 pub max_level: video::StdVideoAV1Level,
30135}
30136
30137impl Default for VideoDecodeAV1CapabilitiesKHR {
30138 #[inline]
30139 fn default() -> Self {
30140 Self {
30141 s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
30142 next: ptr::null_mut(),
30143 max_level: video::StdVideoAV1Level::default(),
30144 }
30145 }
30146}
30147
30148unsafe impl Send for VideoDecodeAV1CapabilitiesKHR {}
30149unsafe impl Sync for VideoDecodeAV1CapabilitiesKHR {}
30150
30151#[repr(C)]
30153#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30154pub struct VideoDecodeAV1DpbSlotInfoKHR {
30155 pub s_type: StructureType,
30156 pub next: *const c_void,
30157 pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
30158}
30159
30160impl Default for VideoDecodeAV1DpbSlotInfoKHR {
30161 #[inline]
30162 fn default() -> Self {
30163 Self {
30164 s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
30165 next: ptr::null(),
30166 std_reference_info: ptr::null(),
30167 }
30168 }
30169}
30170
30171unsafe impl Send for VideoDecodeAV1DpbSlotInfoKHR {}
30172unsafe impl Sync for VideoDecodeAV1DpbSlotInfoKHR {}
30173
30174#[repr(C)]
30176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30177pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
30178 pub s_type: StructureType,
30179 pub next: *const c_void,
30180 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30181}
30182
30183impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
30184 #[inline]
30185 fn default() -> Self {
30186 Self {
30187 s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
30188 next: ptr::null(),
30189 std_sequence_header: ptr::null(),
30190 }
30191 }
30192}
30193
30194unsafe impl Send for VideoDecodeAV1InlineSessionParametersInfoKHR {}
30195unsafe impl Sync for VideoDecodeAV1InlineSessionParametersInfoKHR {}
30196
30197#[repr(C)]
30199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30200pub struct VideoDecodeAV1PictureInfoKHR {
30201 pub s_type: StructureType,
30202 pub next: *const c_void,
30203 pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
30204 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30205 pub frame_header_offset: u32,
30206 pub tile_count: u32,
30207 pub tile_offsets: *const u32,
30208 pub tile_sizes: *const u32,
30209}
30210
30211impl Default for VideoDecodeAV1PictureInfoKHR {
30212 #[inline]
30213 fn default() -> Self {
30214 Self {
30215 s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
30216 next: ptr::null(),
30217 std_picture_info: ptr::null(),
30218 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30219 frame_header_offset: u32::default(),
30220 tile_count: u32::default(),
30221 tile_offsets: ptr::null(),
30222 tile_sizes: ptr::null(),
30223 }
30224 }
30225}
30226
30227unsafe impl Send for VideoDecodeAV1PictureInfoKHR {}
30228unsafe impl Sync for VideoDecodeAV1PictureInfoKHR {}
30229
30230#[repr(C)]
30232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30233pub struct VideoDecodeAV1ProfileInfoKHR {
30234 pub s_type: StructureType,
30235 pub next: *const c_void,
30236 pub std_profile: video::StdVideoAV1Profile,
30237 pub film_grain_support: Bool32,
30238}
30239
30240impl Default for VideoDecodeAV1ProfileInfoKHR {
30241 #[inline]
30242 fn default() -> Self {
30243 Self {
30244 s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
30245 next: ptr::null(),
30246 std_profile: video::StdVideoAV1Profile::default(),
30247 film_grain_support: Bool32::default(),
30248 }
30249 }
30250}
30251
30252unsafe impl Send for VideoDecodeAV1ProfileInfoKHR {}
30253unsafe impl Sync for VideoDecodeAV1ProfileInfoKHR {}
30254
30255#[repr(C)]
30257#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30258pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
30259 pub s_type: StructureType,
30260 pub next: *const c_void,
30261 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30262}
30263
30264impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
30265 #[inline]
30266 fn default() -> Self {
30267 Self {
30268 s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
30269 next: ptr::null(),
30270 std_sequence_header: ptr::null(),
30271 }
30272 }
30273}
30274
30275unsafe impl Send for VideoDecodeAV1SessionParametersCreateInfoKHR {}
30276unsafe impl Sync for VideoDecodeAV1SessionParametersCreateInfoKHR {}
30277
30278#[repr(C)]
30280#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30281pub struct VideoDecodeCapabilitiesKHR {
30282 pub s_type: StructureType,
30283 pub next: *mut c_void,
30284 pub flags: VideoDecodeCapabilityFlagsKHR,
30285}
30286
30287impl Default for VideoDecodeCapabilitiesKHR {
30288 #[inline]
30289 fn default() -> Self {
30290 Self {
30291 s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
30292 next: ptr::null_mut(),
30293 flags: VideoDecodeCapabilityFlagsKHR::default(),
30294 }
30295 }
30296}
30297
30298unsafe impl Send for VideoDecodeCapabilitiesKHR {}
30299unsafe impl Sync for VideoDecodeCapabilitiesKHR {}
30300
30301#[repr(C)]
30303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30304pub struct VideoDecodeH264CapabilitiesKHR {
30305 pub s_type: StructureType,
30306 pub next: *mut c_void,
30307 pub max_level_idc: video::StdVideoH264LevelIdc,
30308 pub field_offset_granularity: Offset2D,
30309}
30310
30311impl Default for VideoDecodeH264CapabilitiesKHR {
30312 #[inline]
30313 fn default() -> Self {
30314 Self {
30315 s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
30316 next: ptr::null_mut(),
30317 max_level_idc: video::StdVideoH264LevelIdc::default(),
30318 field_offset_granularity: Offset2D::default(),
30319 }
30320 }
30321}
30322
30323unsafe impl Send for VideoDecodeH264CapabilitiesKHR {}
30324unsafe impl Sync for VideoDecodeH264CapabilitiesKHR {}
30325
30326#[repr(C)]
30328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30329pub struct VideoDecodeH264DpbSlotInfoKHR {
30330 pub s_type: StructureType,
30331 pub next: *const c_void,
30332 pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
30333}
30334
30335impl Default for VideoDecodeH264DpbSlotInfoKHR {
30336 #[inline]
30337 fn default() -> Self {
30338 Self {
30339 s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
30340 next: ptr::null(),
30341 std_reference_info: ptr::null(),
30342 }
30343 }
30344}
30345
30346unsafe impl Send for VideoDecodeH264DpbSlotInfoKHR {}
30347unsafe impl Sync for VideoDecodeH264DpbSlotInfoKHR {}
30348
30349#[repr(C)]
30351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30352pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
30353 pub s_type: StructureType,
30354 pub next: *const c_void,
30355 pub std_sps: *const video::StdVideoH264SequenceParameterSet,
30356 pub std_pps: *const video::StdVideoH264PictureParameterSet,
30357}
30358
30359impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
30360 #[inline]
30361 fn default() -> Self {
30362 Self {
30363 s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
30364 next: ptr::null(),
30365 std_sps: ptr::null(),
30366 std_pps: ptr::null(),
30367 }
30368 }
30369}
30370
30371unsafe impl Send for VideoDecodeH264InlineSessionParametersInfoKHR {}
30372unsafe impl Sync for VideoDecodeH264InlineSessionParametersInfoKHR {}
30373
30374#[repr(C)]
30376#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30377pub struct VideoDecodeH264PictureInfoKHR {
30378 pub s_type: StructureType,
30379 pub next: *const c_void,
30380 pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
30381 pub slice_count: u32,
30382 pub slice_offsets: *const u32,
30383}
30384
30385impl Default for VideoDecodeH264PictureInfoKHR {
30386 #[inline]
30387 fn default() -> Self {
30388 Self {
30389 s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
30390 next: ptr::null(),
30391 std_picture_info: ptr::null(),
30392 slice_count: u32::default(),
30393 slice_offsets: ptr::null(),
30394 }
30395 }
30396}
30397
30398unsafe impl Send for VideoDecodeH264PictureInfoKHR {}
30399unsafe impl Sync for VideoDecodeH264PictureInfoKHR {}
30400
30401#[repr(C)]
30403#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30404pub struct VideoDecodeH264ProfileInfoKHR {
30405 pub s_type: StructureType,
30406 pub next: *const c_void,
30407 pub std_profile_idc: video::StdVideoH264ProfileIdc,
30408 pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
30409}
30410
30411impl Default for VideoDecodeH264ProfileInfoKHR {
30412 #[inline]
30413 fn default() -> Self {
30414 Self {
30415 s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
30416 next: ptr::null(),
30417 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
30418 picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
30419 }
30420 }
30421}
30422
30423unsafe impl Send for VideoDecodeH264ProfileInfoKHR {}
30424unsafe impl Sync for VideoDecodeH264ProfileInfoKHR {}
30425
30426#[repr(C)]
30428#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30429pub struct VideoDecodeH264SessionParametersAddInfoKHR {
30430 pub s_type: StructureType,
30431 pub next: *const c_void,
30432 pub std_sps_count: u32,
30433 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
30434 pub std_pps_count: u32,
30435 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
30436}
30437
30438impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
30439 #[inline]
30440 fn default() -> Self {
30441 Self {
30442 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
30443 next: ptr::null(),
30444 std_sps_count: u32::default(),
30445 std_sp_ss: ptr::null(),
30446 std_pps_count: u32::default(),
30447 std_pp_ss: ptr::null(),
30448 }
30449 }
30450}
30451
30452unsafe impl Send for VideoDecodeH264SessionParametersAddInfoKHR {}
30453unsafe impl Sync for VideoDecodeH264SessionParametersAddInfoKHR {}
30454
30455#[repr(C)]
30457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30458pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
30459 pub s_type: StructureType,
30460 pub next: *const c_void,
30461 pub max_std_sps_count: u32,
30462 pub max_std_pps_count: u32,
30463 pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
30464}
30465
30466impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
30467 #[inline]
30468 fn default() -> Self {
30469 Self {
30470 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
30471 next: ptr::null(),
30472 max_std_sps_count: u32::default(),
30473 max_std_pps_count: u32::default(),
30474 parameters_add_info: ptr::null(),
30475 }
30476 }
30477}
30478
30479unsafe impl Send for VideoDecodeH264SessionParametersCreateInfoKHR {}
30480unsafe impl Sync for VideoDecodeH264SessionParametersCreateInfoKHR {}
30481
30482#[repr(C)]
30484#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30485pub struct VideoDecodeH265CapabilitiesKHR {
30486 pub s_type: StructureType,
30487 pub next: *mut c_void,
30488 pub max_level_idc: video::StdVideoH265LevelIdc,
30489}
30490
30491impl Default for VideoDecodeH265CapabilitiesKHR {
30492 #[inline]
30493 fn default() -> Self {
30494 Self {
30495 s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
30496 next: ptr::null_mut(),
30497 max_level_idc: video::StdVideoH265LevelIdc::default(),
30498 }
30499 }
30500}
30501
30502unsafe impl Send for VideoDecodeH265CapabilitiesKHR {}
30503unsafe impl Sync for VideoDecodeH265CapabilitiesKHR {}
30504
30505#[repr(C)]
30507#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30508pub struct VideoDecodeH265DpbSlotInfoKHR {
30509 pub s_type: StructureType,
30510 pub next: *const c_void,
30511 pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
30512}
30513
30514impl Default for VideoDecodeH265DpbSlotInfoKHR {
30515 #[inline]
30516 fn default() -> Self {
30517 Self {
30518 s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
30519 next: ptr::null(),
30520 std_reference_info: ptr::null(),
30521 }
30522 }
30523}
30524
30525unsafe impl Send for VideoDecodeH265DpbSlotInfoKHR {}
30526unsafe impl Sync for VideoDecodeH265DpbSlotInfoKHR {}
30527
30528#[repr(C)]
30530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30531pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
30532 pub s_type: StructureType,
30533 pub next: *const c_void,
30534 pub std_vps: *const video::StdVideoH265VideoParameterSet,
30535 pub std_sps: *const video::StdVideoH265SequenceParameterSet,
30536 pub std_pps: *const video::StdVideoH265PictureParameterSet,
30537}
30538
30539impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
30540 #[inline]
30541 fn default() -> Self {
30542 Self {
30543 s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
30544 next: ptr::null(),
30545 std_vps: ptr::null(),
30546 std_sps: ptr::null(),
30547 std_pps: ptr::null(),
30548 }
30549 }
30550}
30551
30552unsafe impl Send for VideoDecodeH265InlineSessionParametersInfoKHR {}
30553unsafe impl Sync for VideoDecodeH265InlineSessionParametersInfoKHR {}
30554
30555#[repr(C)]
30557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30558pub struct VideoDecodeH265PictureInfoKHR {
30559 pub s_type: StructureType,
30560 pub next: *const c_void,
30561 pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
30562 pub slice_segment_count: u32,
30563 pub slice_segment_offsets: *const u32,
30564}
30565
30566impl Default for VideoDecodeH265PictureInfoKHR {
30567 #[inline]
30568 fn default() -> Self {
30569 Self {
30570 s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
30571 next: ptr::null(),
30572 std_picture_info: ptr::null(),
30573 slice_segment_count: u32::default(),
30574 slice_segment_offsets: ptr::null(),
30575 }
30576 }
30577}
30578
30579unsafe impl Send for VideoDecodeH265PictureInfoKHR {}
30580unsafe impl Sync for VideoDecodeH265PictureInfoKHR {}
30581
30582#[repr(C)]
30584#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30585pub struct VideoDecodeH265ProfileInfoKHR {
30586 pub s_type: StructureType,
30587 pub next: *const c_void,
30588 pub std_profile_idc: video::StdVideoH265ProfileIdc,
30589}
30590
30591impl Default for VideoDecodeH265ProfileInfoKHR {
30592 #[inline]
30593 fn default() -> Self {
30594 Self {
30595 s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
30596 next: ptr::null(),
30597 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
30598 }
30599 }
30600}
30601
30602unsafe impl Send for VideoDecodeH265ProfileInfoKHR {}
30603unsafe impl Sync for VideoDecodeH265ProfileInfoKHR {}
30604
30605#[repr(C)]
30607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30608pub struct VideoDecodeH265SessionParametersAddInfoKHR {
30609 pub s_type: StructureType,
30610 pub next: *const c_void,
30611 pub std_vps_count: u32,
30612 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
30613 pub std_sps_count: u32,
30614 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
30615 pub std_pps_count: u32,
30616 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
30617}
30618
30619impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
30620 #[inline]
30621 fn default() -> Self {
30622 Self {
30623 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
30624 next: ptr::null(),
30625 std_vps_count: u32::default(),
30626 std_vp_ss: ptr::null(),
30627 std_sps_count: u32::default(),
30628 std_sp_ss: ptr::null(),
30629 std_pps_count: u32::default(),
30630 std_pp_ss: ptr::null(),
30631 }
30632 }
30633}
30634
30635unsafe impl Send for VideoDecodeH265SessionParametersAddInfoKHR {}
30636unsafe impl Sync for VideoDecodeH265SessionParametersAddInfoKHR {}
30637
30638#[repr(C)]
30640#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30641pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
30642 pub s_type: StructureType,
30643 pub next: *const c_void,
30644 pub max_std_vps_count: u32,
30645 pub max_std_sps_count: u32,
30646 pub max_std_pps_count: u32,
30647 pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
30648}
30649
30650impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
30651 #[inline]
30652 fn default() -> Self {
30653 Self {
30654 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
30655 next: ptr::null(),
30656 max_std_vps_count: u32::default(),
30657 max_std_sps_count: u32::default(),
30658 max_std_pps_count: u32::default(),
30659 parameters_add_info: ptr::null(),
30660 }
30661 }
30662}
30663
30664unsafe impl Send for VideoDecodeH265SessionParametersCreateInfoKHR {}
30665unsafe impl Sync for VideoDecodeH265SessionParametersCreateInfoKHR {}
30666
30667#[repr(C)]
30669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30670pub struct VideoDecodeInfoKHR {
30671 pub s_type: StructureType,
30672 pub next: *const c_void,
30673 pub flags: VideoDecodeFlagsKHR,
30674 pub src_buffer: Buffer,
30675 pub src_buffer_offset: DeviceSize,
30676 pub src_buffer_range: DeviceSize,
30677 pub dst_picture_resource: VideoPictureResourceInfoKHR,
30678 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
30679 pub reference_slot_count: u32,
30680 pub reference_slots: *const VideoReferenceSlotInfoKHR,
30681}
30682
30683impl Default for VideoDecodeInfoKHR {
30684 #[inline]
30685 fn default() -> Self {
30686 Self {
30687 s_type: StructureType::VIDEO_DECODE_INFO_KHR,
30688 next: ptr::null(),
30689 flags: VideoDecodeFlagsKHR::default(),
30690 src_buffer: Buffer::default(),
30691 src_buffer_offset: DeviceSize::default(),
30692 src_buffer_range: DeviceSize::default(),
30693 dst_picture_resource: VideoPictureResourceInfoKHR::default(),
30694 setup_reference_slot: ptr::null(),
30695 reference_slot_count: u32::default(),
30696 reference_slots: ptr::null(),
30697 }
30698 }
30699}
30700
30701unsafe impl Send for VideoDecodeInfoKHR {}
30702unsafe impl Sync for VideoDecodeInfoKHR {}
30703
30704#[repr(C)]
30706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30707pub struct VideoDecodeUsageInfoKHR {
30708 pub s_type: StructureType,
30709 pub next: *const c_void,
30710 pub video_usage_hints: VideoDecodeUsageFlagsKHR,
30711}
30712
30713impl Default for VideoDecodeUsageInfoKHR {
30714 #[inline]
30715 fn default() -> Self {
30716 Self {
30717 s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
30718 next: ptr::null(),
30719 video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
30720 }
30721 }
30722}
30723
30724unsafe impl Send for VideoDecodeUsageInfoKHR {}
30725unsafe impl Sync for VideoDecodeUsageInfoKHR {}
30726
30727#[repr(C)]
30729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30730pub struct VideoDecodeVP9CapabilitiesKHR {
30731 pub s_type: StructureType,
30732 pub next: *mut c_void,
30733 pub max_level: video::StdVideoVP9Level,
30734}
30735
30736impl Default for VideoDecodeVP9CapabilitiesKHR {
30737 #[inline]
30738 fn default() -> Self {
30739 Self {
30740 s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
30741 next: ptr::null_mut(),
30742 max_level: video::StdVideoVP9Level::default(),
30743 }
30744 }
30745}
30746
30747unsafe impl Send for VideoDecodeVP9CapabilitiesKHR {}
30748unsafe impl Sync for VideoDecodeVP9CapabilitiesKHR {}
30749
30750#[repr(C)]
30752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30753pub struct VideoDecodeVP9PictureInfoKHR {
30754 pub s_type: StructureType,
30755 pub next: *const c_void,
30756 pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
30757 pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
30758 pub uncompressed_header_offset: u32,
30759 pub compressed_header_offset: u32,
30760 pub tiles_offset: u32,
30761}
30762
30763impl Default for VideoDecodeVP9PictureInfoKHR {
30764 #[inline]
30765 fn default() -> Self {
30766 Self {
30767 s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
30768 next: ptr::null(),
30769 std_picture_info: ptr::null(),
30770 reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
30771 uncompressed_header_offset: u32::default(),
30772 compressed_header_offset: u32::default(),
30773 tiles_offset: u32::default(),
30774 }
30775 }
30776}
30777
30778unsafe impl Send for VideoDecodeVP9PictureInfoKHR {}
30779unsafe impl Sync for VideoDecodeVP9PictureInfoKHR {}
30780
30781#[repr(C)]
30783#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30784pub struct VideoDecodeVP9ProfileInfoKHR {
30785 pub s_type: StructureType,
30786 pub next: *const c_void,
30787 pub std_profile: video::StdVideoVP9Profile,
30788}
30789
30790impl Default for VideoDecodeVP9ProfileInfoKHR {
30791 #[inline]
30792 fn default() -> Self {
30793 Self {
30794 s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
30795 next: ptr::null(),
30796 std_profile: video::StdVideoVP9Profile::default(),
30797 }
30798 }
30799}
30800
30801unsafe impl Send for VideoDecodeVP9ProfileInfoKHR {}
30802unsafe impl Sync for VideoDecodeVP9ProfileInfoKHR {}
30803
30804#[repr(C)]
30806#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30807pub struct VideoEncodeAV1CapabilitiesKHR {
30808 pub s_type: StructureType,
30809 pub next: *mut c_void,
30810 pub flags: VideoEncodeAV1CapabilityFlagsKHR,
30811 pub max_level: video::StdVideoAV1Level,
30812 pub coded_picture_alignment: Extent2D,
30813 pub max_tiles: Extent2D,
30814 pub min_tile_size: Extent2D,
30815 pub max_tile_size: Extent2D,
30816 pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
30817 pub max_single_reference_count: u32,
30818 pub single_reference_name_mask: u32,
30819 pub max_unidirectional_compound_reference_count: u32,
30820 pub max_unidirectional_compound_group1_reference_count: u32,
30821 pub unidirectional_compound_reference_name_mask: u32,
30822 pub max_bidirectional_compound_reference_count: u32,
30823 pub max_bidirectional_compound_group1_reference_count: u32,
30824 pub max_bidirectional_compound_group2_reference_count: u32,
30825 pub bidirectional_compound_reference_name_mask: u32,
30826 pub max_temporal_layer_count: u32,
30827 pub max_spatial_layer_count: u32,
30828 pub max_operating_points: u32,
30829 pub min_q_index: u32,
30830 pub max_q_index: u32,
30831 pub prefers_gop_remaining_frames: Bool32,
30832 pub requires_gop_remaining_frames: Bool32,
30833 pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
30834}
30835
30836impl Default for VideoEncodeAV1CapabilitiesKHR {
30837 #[inline]
30838 fn default() -> Self {
30839 Self {
30840 s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
30841 next: ptr::null_mut(),
30842 flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
30843 max_level: video::StdVideoAV1Level::default(),
30844 coded_picture_alignment: Extent2D::default(),
30845 max_tiles: Extent2D::default(),
30846 min_tile_size: Extent2D::default(),
30847 max_tile_size: Extent2D::default(),
30848 superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
30849 max_single_reference_count: u32::default(),
30850 single_reference_name_mask: u32::default(),
30851 max_unidirectional_compound_reference_count: u32::default(),
30852 max_unidirectional_compound_group1_reference_count: u32::default(),
30853 unidirectional_compound_reference_name_mask: u32::default(),
30854 max_bidirectional_compound_reference_count: u32::default(),
30855 max_bidirectional_compound_group1_reference_count: u32::default(),
30856 max_bidirectional_compound_group2_reference_count: u32::default(),
30857 bidirectional_compound_reference_name_mask: u32::default(),
30858 max_temporal_layer_count: u32::default(),
30859 max_spatial_layer_count: u32::default(),
30860 max_operating_points: u32::default(),
30861 min_q_index: u32::default(),
30862 max_q_index: u32::default(),
30863 prefers_gop_remaining_frames: Bool32::default(),
30864 requires_gop_remaining_frames: Bool32::default(),
30865 std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
30866 }
30867 }
30868}
30869
30870unsafe impl Send for VideoEncodeAV1CapabilitiesKHR {}
30871unsafe impl Sync for VideoEncodeAV1CapabilitiesKHR {}
30872
30873#[repr(C)]
30875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30876pub struct VideoEncodeAV1DpbSlotInfoKHR {
30877 pub s_type: StructureType,
30878 pub next: *const c_void,
30879 pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
30880}
30881
30882impl Default for VideoEncodeAV1DpbSlotInfoKHR {
30883 #[inline]
30884 fn default() -> Self {
30885 Self {
30886 s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
30887 next: ptr::null(),
30888 std_reference_info: ptr::null(),
30889 }
30890 }
30891}
30892
30893unsafe impl Send for VideoEncodeAV1DpbSlotInfoKHR {}
30894unsafe impl Sync for VideoEncodeAV1DpbSlotInfoKHR {}
30895
30896#[repr(C)]
30898#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30899pub struct VideoEncodeAV1FrameSizeKHR {
30900 pub intra_frame_size: u32,
30901 pub predictive_frame_size: u32,
30902 pub bipredictive_frame_size: u32,
30903}
30904
30905#[repr(C)]
30907#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30908pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
30909 pub s_type: StructureType,
30910 pub next: *const c_void,
30911 pub use_gop_remaining_frames: Bool32,
30912 pub gop_remaining_intra: u32,
30913 pub gop_remaining_predictive: u32,
30914 pub gop_remaining_bipredictive: u32,
30915}
30916
30917impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
30918 #[inline]
30919 fn default() -> Self {
30920 Self {
30921 s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
30922 next: ptr::null(),
30923 use_gop_remaining_frames: Bool32::default(),
30924 gop_remaining_intra: u32::default(),
30925 gop_remaining_predictive: u32::default(),
30926 gop_remaining_bipredictive: u32::default(),
30927 }
30928 }
30929}
30930
30931unsafe impl Send for VideoEncodeAV1GopRemainingFrameInfoKHR {}
30932unsafe impl Sync for VideoEncodeAV1GopRemainingFrameInfoKHR {}
30933
30934#[repr(C)]
30936#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30937pub struct VideoEncodeAV1PictureInfoKHR {
30938 pub s_type: StructureType,
30939 pub next: *const c_void,
30940 pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
30941 pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
30942 pub constant_q_index: u32,
30943 pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
30944 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30945 pub primary_reference_cdf_only: Bool32,
30946 pub generate_obu_extension_header: Bool32,
30947}
30948
30949impl Default for VideoEncodeAV1PictureInfoKHR {
30950 #[inline]
30951 fn default() -> Self {
30952 Self {
30953 s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
30954 next: ptr::null(),
30955 prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
30956 rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
30957 constant_q_index: u32::default(),
30958 std_picture_info: ptr::null(),
30959 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30960 primary_reference_cdf_only: Bool32::default(),
30961 generate_obu_extension_header: Bool32::default(),
30962 }
30963 }
30964}
30965
30966unsafe impl Send for VideoEncodeAV1PictureInfoKHR {}
30967unsafe impl Sync for VideoEncodeAV1PictureInfoKHR {}
30968
30969#[repr(C)]
30971#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30972pub struct VideoEncodeAV1ProfileInfoKHR {
30973 pub s_type: StructureType,
30974 pub next: *const c_void,
30975 pub std_profile: video::StdVideoAV1Profile,
30976}
30977
30978impl Default for VideoEncodeAV1ProfileInfoKHR {
30979 #[inline]
30980 fn default() -> Self {
30981 Self {
30982 s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
30983 next: ptr::null(),
30984 std_profile: video::StdVideoAV1Profile::default(),
30985 }
30986 }
30987}
30988
30989unsafe impl Send for VideoEncodeAV1ProfileInfoKHR {}
30990unsafe impl Sync for VideoEncodeAV1ProfileInfoKHR {}
30991
30992#[repr(C)]
30994#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30995pub struct VideoEncodeAV1QIndexKHR {
30996 pub intra_q_index: u32,
30997 pub predictive_q_index: u32,
30998 pub bipredictive_q_index: u32,
30999}
31000
31001#[repr(C)]
31003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31004pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
31005 pub s_type: StructureType,
31006 pub next: *mut c_void,
31007 pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
31008 pub preferred_gop_frame_count: u32,
31009 pub preferred_key_frame_period: u32,
31010 pub preferred_consecutive_bipredictive_frame_count: u32,
31011 pub preferred_temporal_layer_count: u32,
31012 pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
31013 pub preferred_max_single_reference_count: u32,
31014 pub preferred_single_reference_name_mask: u32,
31015 pub preferred_max_unidirectional_compound_reference_count: u32,
31016 pub preferred_max_unidirectional_compound_group1_reference_count: u32,
31017 pub preferred_unidirectional_compound_reference_name_mask: u32,
31018 pub preferred_max_bidirectional_compound_reference_count: u32,
31019 pub preferred_max_bidirectional_compound_group1_reference_count: u32,
31020 pub preferred_max_bidirectional_compound_group2_reference_count: u32,
31021 pub preferred_bidirectional_compound_reference_name_mask: u32,
31022}
31023
31024impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
31025 #[inline]
31026 fn default() -> Self {
31027 Self {
31028 s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
31029 next: ptr::null_mut(),
31030 preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
31031 preferred_gop_frame_count: u32::default(),
31032 preferred_key_frame_period: u32::default(),
31033 preferred_consecutive_bipredictive_frame_count: u32::default(),
31034 preferred_temporal_layer_count: u32::default(),
31035 preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
31036 preferred_max_single_reference_count: u32::default(),
31037 preferred_single_reference_name_mask: u32::default(),
31038 preferred_max_unidirectional_compound_reference_count: u32::default(),
31039 preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
31040 preferred_unidirectional_compound_reference_name_mask: u32::default(),
31041 preferred_max_bidirectional_compound_reference_count: u32::default(),
31042 preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
31043 preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
31044 preferred_bidirectional_compound_reference_name_mask: u32::default(),
31045 }
31046 }
31047}
31048
31049unsafe impl Send for VideoEncodeAV1QualityLevelPropertiesKHR {}
31050unsafe impl Sync for VideoEncodeAV1QualityLevelPropertiesKHR {}
31051
31052#[repr(C)]
31054#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31055pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
31056 pub s_type: StructureType,
31057 pub next: *mut c_void,
31058 pub min_q_index_delta: i32,
31059 pub max_q_index_delta: i32,
31060}
31061
31062impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
31063 #[inline]
31064 fn default() -> Self {
31065 Self {
31066 s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
31067 next: ptr::null_mut(),
31068 min_q_index_delta: i32::default(),
31069 max_q_index_delta: i32::default(),
31070 }
31071 }
31072}
31073
31074unsafe impl Send for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
31075unsafe impl Sync for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
31076
31077#[repr(C)]
31079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31080pub struct VideoEncodeAV1RateControlInfoKHR {
31081 pub s_type: StructureType,
31082 pub next: *const c_void,
31083 pub flags: VideoEncodeAV1RateControlFlagsKHR,
31084 pub gop_frame_count: u32,
31085 pub key_frame_period: u32,
31086 pub consecutive_bipredictive_frame_count: u32,
31087 pub temporal_layer_count: u32,
31088}
31089
31090impl Default for VideoEncodeAV1RateControlInfoKHR {
31091 #[inline]
31092 fn default() -> Self {
31093 Self {
31094 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
31095 next: ptr::null(),
31096 flags: VideoEncodeAV1RateControlFlagsKHR::default(),
31097 gop_frame_count: u32::default(),
31098 key_frame_period: u32::default(),
31099 consecutive_bipredictive_frame_count: u32::default(),
31100 temporal_layer_count: u32::default(),
31101 }
31102 }
31103}
31104
31105unsafe impl Send for VideoEncodeAV1RateControlInfoKHR {}
31106unsafe impl Sync for VideoEncodeAV1RateControlInfoKHR {}
31107
31108#[repr(C)]
31110#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31111pub struct VideoEncodeAV1RateControlLayerInfoKHR {
31112 pub s_type: StructureType,
31113 pub next: *const c_void,
31114 pub use_min_q_index: Bool32,
31115 pub min_q_index: VideoEncodeAV1QIndexKHR,
31116 pub use_max_q_index: Bool32,
31117 pub max_q_index: VideoEncodeAV1QIndexKHR,
31118 pub use_max_frame_size: Bool32,
31119 pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
31120}
31121
31122impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
31123 #[inline]
31124 fn default() -> Self {
31125 Self {
31126 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
31127 next: ptr::null(),
31128 use_min_q_index: Bool32::default(),
31129 min_q_index: VideoEncodeAV1QIndexKHR::default(),
31130 use_max_q_index: Bool32::default(),
31131 max_q_index: VideoEncodeAV1QIndexKHR::default(),
31132 use_max_frame_size: Bool32::default(),
31133 max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
31134 }
31135 }
31136}
31137
31138unsafe impl Send for VideoEncodeAV1RateControlLayerInfoKHR {}
31139unsafe impl Sync for VideoEncodeAV1RateControlLayerInfoKHR {}
31140
31141#[repr(C)]
31143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31144pub struct VideoEncodeAV1SessionCreateInfoKHR {
31145 pub s_type: StructureType,
31146 pub next: *const c_void,
31147 pub use_max_level: Bool32,
31148 pub max_level: video::StdVideoAV1Level,
31149}
31150
31151impl Default for VideoEncodeAV1SessionCreateInfoKHR {
31152 #[inline]
31153 fn default() -> Self {
31154 Self {
31155 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
31156 next: ptr::null(),
31157 use_max_level: Bool32::default(),
31158 max_level: video::StdVideoAV1Level::default(),
31159 }
31160 }
31161}
31162
31163unsafe impl Send for VideoEncodeAV1SessionCreateInfoKHR {}
31164unsafe impl Sync for VideoEncodeAV1SessionCreateInfoKHR {}
31165
31166#[repr(C)]
31168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31169pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
31170 pub s_type: StructureType,
31171 pub next: *const c_void,
31172 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
31173 pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
31174 pub std_operating_point_count: u32,
31175 pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
31176}
31177
31178impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
31179 #[inline]
31180 fn default() -> Self {
31181 Self {
31182 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
31183 next: ptr::null(),
31184 std_sequence_header: ptr::null(),
31185 std_decoder_model_info: ptr::null(),
31186 std_operating_point_count: u32::default(),
31187 std_operating_points: ptr::null(),
31188 }
31189 }
31190}
31191
31192unsafe impl Send for VideoEncodeAV1SessionParametersCreateInfoKHR {}
31193unsafe impl Sync for VideoEncodeAV1SessionParametersCreateInfoKHR {}
31194
31195#[repr(C)]
31197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31198pub struct VideoEncodeCapabilitiesKHR {
31199 pub s_type: StructureType,
31200 pub next: *mut c_void,
31201 pub flags: VideoEncodeCapabilityFlagsKHR,
31202 pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
31203 pub max_rate_control_layers: u32,
31204 pub max_bitrate: u64,
31205 pub max_quality_levels: u32,
31206 pub encode_input_picture_granularity: Extent2D,
31207 pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
31208}
31209
31210impl Default for VideoEncodeCapabilitiesKHR {
31211 #[inline]
31212 fn default() -> Self {
31213 Self {
31214 s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
31215 next: ptr::null_mut(),
31216 flags: VideoEncodeCapabilityFlagsKHR::default(),
31217 rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
31218 max_rate_control_layers: u32::default(),
31219 max_bitrate: u64::default(),
31220 max_quality_levels: u32::default(),
31221 encode_input_picture_granularity: Extent2D::default(),
31222 supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
31223 }
31224 }
31225}
31226
31227unsafe impl Send for VideoEncodeCapabilitiesKHR {}
31228unsafe impl Sync for VideoEncodeCapabilitiesKHR {}
31229
31230#[repr(C)]
31232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31233pub struct VideoEncodeH264CapabilitiesKHR {
31234 pub s_type: StructureType,
31235 pub next: *mut c_void,
31236 pub flags: VideoEncodeH264CapabilityFlagsKHR,
31237 pub max_level_idc: video::StdVideoH264LevelIdc,
31238 pub max_slice_count: u32,
31239 pub max_p_picture_l0_reference_count: u32,
31240 pub max_b_picture_l0_reference_count: u32,
31241 pub max_l1_reference_count: u32,
31242 pub max_temporal_layer_count: u32,
31243 pub expect_dyadic_temporal_layer_pattern: Bool32,
31244 pub min_qp: i32,
31245 pub max_qp: i32,
31246 pub prefers_gop_remaining_frames: Bool32,
31247 pub requires_gop_remaining_frames: Bool32,
31248 pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
31249}
31250
31251impl Default for VideoEncodeH264CapabilitiesKHR {
31252 #[inline]
31253 fn default() -> Self {
31254 Self {
31255 s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
31256 next: ptr::null_mut(),
31257 flags: VideoEncodeH264CapabilityFlagsKHR::default(),
31258 max_level_idc: video::StdVideoH264LevelIdc::default(),
31259 max_slice_count: u32::default(),
31260 max_p_picture_l0_reference_count: u32::default(),
31261 max_b_picture_l0_reference_count: u32::default(),
31262 max_l1_reference_count: u32::default(),
31263 max_temporal_layer_count: u32::default(),
31264 expect_dyadic_temporal_layer_pattern: Bool32::default(),
31265 min_qp: i32::default(),
31266 max_qp: i32::default(),
31267 prefers_gop_remaining_frames: Bool32::default(),
31268 requires_gop_remaining_frames: Bool32::default(),
31269 std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
31270 }
31271 }
31272}
31273
31274unsafe impl Send for VideoEncodeH264CapabilitiesKHR {}
31275unsafe impl Sync for VideoEncodeH264CapabilitiesKHR {}
31276
31277#[repr(C)]
31279#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31280pub struct VideoEncodeH264DpbSlotInfoKHR {
31281 pub s_type: StructureType,
31282 pub next: *const c_void,
31283 pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
31284}
31285
31286impl Default for VideoEncodeH264DpbSlotInfoKHR {
31287 #[inline]
31288 fn default() -> Self {
31289 Self {
31290 s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
31291 next: ptr::null(),
31292 std_reference_info: ptr::null(),
31293 }
31294 }
31295}
31296
31297unsafe impl Send for VideoEncodeH264DpbSlotInfoKHR {}
31298unsafe impl Sync for VideoEncodeH264DpbSlotInfoKHR {}
31299
31300#[repr(C)]
31302#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31303pub struct VideoEncodeH264FrameSizeKHR {
31304 pub frame_i_size: u32,
31305 pub frame_p_size: u32,
31306 pub frame_b_size: u32,
31307}
31308
31309#[repr(C)]
31311#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31312pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
31313 pub s_type: StructureType,
31314 pub next: *const c_void,
31315 pub use_gop_remaining_frames: Bool32,
31316 pub gop_remaining_i: u32,
31317 pub gop_remaining_p: u32,
31318 pub gop_remaining_b: u32,
31319}
31320
31321impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
31322 #[inline]
31323 fn default() -> Self {
31324 Self {
31325 s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
31326 next: ptr::null(),
31327 use_gop_remaining_frames: Bool32::default(),
31328 gop_remaining_i: u32::default(),
31329 gop_remaining_p: u32::default(),
31330 gop_remaining_b: u32::default(),
31331 }
31332 }
31333}
31334
31335unsafe impl Send for VideoEncodeH264GopRemainingFrameInfoKHR {}
31336unsafe impl Sync for VideoEncodeH264GopRemainingFrameInfoKHR {}
31337
31338#[repr(C)]
31340#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31341pub struct VideoEncodeH264NaluSliceInfoKHR {
31342 pub s_type: StructureType,
31343 pub next: *const c_void,
31344 pub constant_qp: i32,
31345 pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
31346}
31347
31348impl Default for VideoEncodeH264NaluSliceInfoKHR {
31349 #[inline]
31350 fn default() -> Self {
31351 Self {
31352 s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
31353 next: ptr::null(),
31354 constant_qp: i32::default(),
31355 std_slice_header: ptr::null(),
31356 }
31357 }
31358}
31359
31360unsafe impl Send for VideoEncodeH264NaluSliceInfoKHR {}
31361unsafe impl Sync for VideoEncodeH264NaluSliceInfoKHR {}
31362
31363#[repr(C)]
31365#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31366pub struct VideoEncodeH264PictureInfoKHR {
31367 pub s_type: StructureType,
31368 pub next: *const c_void,
31369 pub nalu_slice_entry_count: u32,
31370 pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
31371 pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
31372 pub generate_prefix_nalu: Bool32,
31373}
31374
31375impl Default for VideoEncodeH264PictureInfoKHR {
31376 #[inline]
31377 fn default() -> Self {
31378 Self {
31379 s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
31380 next: ptr::null(),
31381 nalu_slice_entry_count: u32::default(),
31382 nalu_slice_entries: ptr::null(),
31383 std_picture_info: ptr::null(),
31384 generate_prefix_nalu: Bool32::default(),
31385 }
31386 }
31387}
31388
31389unsafe impl Send for VideoEncodeH264PictureInfoKHR {}
31390unsafe impl Sync for VideoEncodeH264PictureInfoKHR {}
31391
31392#[repr(C)]
31394#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31395pub struct VideoEncodeH264ProfileInfoKHR {
31396 pub s_type: StructureType,
31397 pub next: *const c_void,
31398 pub std_profile_idc: video::StdVideoH264ProfileIdc,
31399}
31400
31401impl Default for VideoEncodeH264ProfileInfoKHR {
31402 #[inline]
31403 fn default() -> Self {
31404 Self {
31405 s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
31406 next: ptr::null(),
31407 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
31408 }
31409 }
31410}
31411
31412unsafe impl Send for VideoEncodeH264ProfileInfoKHR {}
31413unsafe impl Sync for VideoEncodeH264ProfileInfoKHR {}
31414
31415#[repr(C)]
31417#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31418pub struct VideoEncodeH264QpKHR {
31419 pub qp_i: i32,
31420 pub qp_p: i32,
31421 pub qp_b: i32,
31422}
31423
31424#[repr(C)]
31426#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31427pub struct VideoEncodeH264QualityLevelPropertiesKHR {
31428 pub s_type: StructureType,
31429 pub next: *mut c_void,
31430 pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
31431 pub preferred_gop_frame_count: u32,
31432 pub preferred_idr_period: u32,
31433 pub preferred_consecutive_b_frame_count: u32,
31434 pub preferred_temporal_layer_count: u32,
31435 pub preferred_constant_qp: VideoEncodeH264QpKHR,
31436 pub preferred_max_l0_reference_count: u32,
31437 pub preferred_max_l1_reference_count: u32,
31438 pub preferred_std_entropy_coding_mode_flag: Bool32,
31439}
31440
31441impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
31442 #[inline]
31443 fn default() -> Self {
31444 Self {
31445 s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
31446 next: ptr::null_mut(),
31447 preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
31448 preferred_gop_frame_count: u32::default(),
31449 preferred_idr_period: u32::default(),
31450 preferred_consecutive_b_frame_count: u32::default(),
31451 preferred_temporal_layer_count: u32::default(),
31452 preferred_constant_qp: VideoEncodeH264QpKHR::default(),
31453 preferred_max_l0_reference_count: u32::default(),
31454 preferred_max_l1_reference_count: u32::default(),
31455 preferred_std_entropy_coding_mode_flag: Bool32::default(),
31456 }
31457 }
31458}
31459
31460unsafe impl Send for VideoEncodeH264QualityLevelPropertiesKHR {}
31461unsafe impl Sync for VideoEncodeH264QualityLevelPropertiesKHR {}
31462
31463#[repr(C)]
31465#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31466pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
31467 pub s_type: StructureType,
31468 pub next: *mut c_void,
31469 pub min_qp_delta: i32,
31470 pub max_qp_delta: i32,
31471}
31472
31473impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
31474 #[inline]
31475 fn default() -> Self {
31476 Self {
31477 s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
31478 next: ptr::null_mut(),
31479 min_qp_delta: i32::default(),
31480 max_qp_delta: i32::default(),
31481 }
31482 }
31483}
31484
31485unsafe impl Send for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
31486unsafe impl Sync for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
31487
31488#[repr(C)]
31490#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31491pub struct VideoEncodeH264RateControlInfoKHR {
31492 pub s_type: StructureType,
31493 pub next: *const c_void,
31494 pub flags: VideoEncodeH264RateControlFlagsKHR,
31495 pub gop_frame_count: u32,
31496 pub idr_period: u32,
31497 pub consecutive_b_frame_count: u32,
31498 pub temporal_layer_count: u32,
31499}
31500
31501impl Default for VideoEncodeH264RateControlInfoKHR {
31502 #[inline]
31503 fn default() -> Self {
31504 Self {
31505 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
31506 next: ptr::null(),
31507 flags: VideoEncodeH264RateControlFlagsKHR::default(),
31508 gop_frame_count: u32::default(),
31509 idr_period: u32::default(),
31510 consecutive_b_frame_count: u32::default(),
31511 temporal_layer_count: u32::default(),
31512 }
31513 }
31514}
31515
31516unsafe impl Send for VideoEncodeH264RateControlInfoKHR {}
31517unsafe impl Sync for VideoEncodeH264RateControlInfoKHR {}
31518
31519#[repr(C)]
31521#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31522pub struct VideoEncodeH264RateControlLayerInfoKHR {
31523 pub s_type: StructureType,
31524 pub next: *const c_void,
31525 pub use_min_qp: Bool32,
31526 pub min_qp: VideoEncodeH264QpKHR,
31527 pub use_max_qp: Bool32,
31528 pub max_qp: VideoEncodeH264QpKHR,
31529 pub use_max_frame_size: Bool32,
31530 pub max_frame_size: VideoEncodeH264FrameSizeKHR,
31531}
31532
31533impl Default for VideoEncodeH264RateControlLayerInfoKHR {
31534 #[inline]
31535 fn default() -> Self {
31536 Self {
31537 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
31538 next: ptr::null(),
31539 use_min_qp: Bool32::default(),
31540 min_qp: VideoEncodeH264QpKHR::default(),
31541 use_max_qp: Bool32::default(),
31542 max_qp: VideoEncodeH264QpKHR::default(),
31543 use_max_frame_size: Bool32::default(),
31544 max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
31545 }
31546 }
31547}
31548
31549unsafe impl Send for VideoEncodeH264RateControlLayerInfoKHR {}
31550unsafe impl Sync for VideoEncodeH264RateControlLayerInfoKHR {}
31551
31552#[repr(C)]
31554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31555pub struct VideoEncodeH264SessionCreateInfoKHR {
31556 pub s_type: StructureType,
31557 pub next: *const c_void,
31558 pub use_max_level_idc: Bool32,
31559 pub max_level_idc: video::StdVideoH264LevelIdc,
31560}
31561
31562impl Default for VideoEncodeH264SessionCreateInfoKHR {
31563 #[inline]
31564 fn default() -> Self {
31565 Self {
31566 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
31567 next: ptr::null(),
31568 use_max_level_idc: Bool32::default(),
31569 max_level_idc: video::StdVideoH264LevelIdc::default(),
31570 }
31571 }
31572}
31573
31574unsafe impl Send for VideoEncodeH264SessionCreateInfoKHR {}
31575unsafe impl Sync for VideoEncodeH264SessionCreateInfoKHR {}
31576
31577#[repr(C)]
31579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31580pub struct VideoEncodeH264SessionParametersAddInfoKHR {
31581 pub s_type: StructureType,
31582 pub next: *const c_void,
31583 pub std_sps_count: u32,
31584 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
31585 pub std_pps_count: u32,
31586 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
31587}
31588
31589impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
31590 #[inline]
31591 fn default() -> Self {
31592 Self {
31593 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
31594 next: ptr::null(),
31595 std_sps_count: u32::default(),
31596 std_sp_ss: ptr::null(),
31597 std_pps_count: u32::default(),
31598 std_pp_ss: ptr::null(),
31599 }
31600 }
31601}
31602
31603unsafe impl Send for VideoEncodeH264SessionParametersAddInfoKHR {}
31604unsafe impl Sync for VideoEncodeH264SessionParametersAddInfoKHR {}
31605
31606#[repr(C)]
31608#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31609pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
31610 pub s_type: StructureType,
31611 pub next: *const c_void,
31612 pub max_std_sps_count: u32,
31613 pub max_std_pps_count: u32,
31614 pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
31615}
31616
31617impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
31618 #[inline]
31619 fn default() -> Self {
31620 Self {
31621 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
31622 next: ptr::null(),
31623 max_std_sps_count: u32::default(),
31624 max_std_pps_count: u32::default(),
31625 parameters_add_info: ptr::null(),
31626 }
31627 }
31628}
31629
31630unsafe impl Send for VideoEncodeH264SessionParametersCreateInfoKHR {}
31631unsafe impl Sync for VideoEncodeH264SessionParametersCreateInfoKHR {}
31632
31633#[repr(C)]
31635#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31636pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
31637 pub s_type: StructureType,
31638 pub next: *mut c_void,
31639 pub has_std_sps_overrides: Bool32,
31640 pub has_std_pps_overrides: Bool32,
31641}
31642
31643impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
31644 #[inline]
31645 fn default() -> Self {
31646 Self {
31647 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
31648 next: ptr::null_mut(),
31649 has_std_sps_overrides: Bool32::default(),
31650 has_std_pps_overrides: Bool32::default(),
31651 }
31652 }
31653}
31654
31655unsafe impl Send for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
31656unsafe impl Sync for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
31657
31658#[repr(C)]
31660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31661pub struct VideoEncodeH264SessionParametersGetInfoKHR {
31662 pub s_type: StructureType,
31663 pub next: *const c_void,
31664 pub write_std_sps: Bool32,
31665 pub write_std_pps: Bool32,
31666 pub std_sps_id: u32,
31667 pub std_pps_id: u32,
31668}
31669
31670impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
31671 #[inline]
31672 fn default() -> Self {
31673 Self {
31674 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
31675 next: ptr::null(),
31676 write_std_sps: Bool32::default(),
31677 write_std_pps: Bool32::default(),
31678 std_sps_id: u32::default(),
31679 std_pps_id: u32::default(),
31680 }
31681 }
31682}
31683
31684unsafe impl Send for VideoEncodeH264SessionParametersGetInfoKHR {}
31685unsafe impl Sync for VideoEncodeH264SessionParametersGetInfoKHR {}
31686
31687#[repr(C)]
31689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31690pub struct VideoEncodeH265CapabilitiesKHR {
31691 pub s_type: StructureType,
31692 pub next: *mut c_void,
31693 pub flags: VideoEncodeH265CapabilityFlagsKHR,
31694 pub max_level_idc: video::StdVideoH265LevelIdc,
31695 pub max_slice_segment_count: u32,
31696 pub max_tiles: Extent2D,
31697 pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
31698 pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
31699 pub max_p_picture_l0_reference_count: u32,
31700 pub max_b_picture_l0_reference_count: u32,
31701 pub max_l1_reference_count: u32,
31702 pub max_sub_layer_count: u32,
31703 pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
31704 pub min_qp: i32,
31705 pub max_qp: i32,
31706 pub prefers_gop_remaining_frames: Bool32,
31707 pub requires_gop_remaining_frames: Bool32,
31708 pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
31709}
31710
31711impl Default for VideoEncodeH265CapabilitiesKHR {
31712 #[inline]
31713 fn default() -> Self {
31714 Self {
31715 s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
31716 next: ptr::null_mut(),
31717 flags: VideoEncodeH265CapabilityFlagsKHR::default(),
31718 max_level_idc: video::StdVideoH265LevelIdc::default(),
31719 max_slice_segment_count: u32::default(),
31720 max_tiles: Extent2D::default(),
31721 ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
31722 transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
31723 max_p_picture_l0_reference_count: u32::default(),
31724 max_b_picture_l0_reference_count: u32::default(),
31725 max_l1_reference_count: u32::default(),
31726 max_sub_layer_count: u32::default(),
31727 expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
31728 min_qp: i32::default(),
31729 max_qp: i32::default(),
31730 prefers_gop_remaining_frames: Bool32::default(),
31731 requires_gop_remaining_frames: Bool32::default(),
31732 std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
31733 }
31734 }
31735}
31736
31737unsafe impl Send for VideoEncodeH265CapabilitiesKHR {}
31738unsafe impl Sync for VideoEncodeH265CapabilitiesKHR {}
31739
31740#[repr(C)]
31742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31743pub struct VideoEncodeH265DpbSlotInfoKHR {
31744 pub s_type: StructureType,
31745 pub next: *const c_void,
31746 pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
31747}
31748
31749impl Default for VideoEncodeH265DpbSlotInfoKHR {
31750 #[inline]
31751 fn default() -> Self {
31752 Self {
31753 s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
31754 next: ptr::null(),
31755 std_reference_info: ptr::null(),
31756 }
31757 }
31758}
31759
31760unsafe impl Send for VideoEncodeH265DpbSlotInfoKHR {}
31761unsafe impl Sync for VideoEncodeH265DpbSlotInfoKHR {}
31762
31763#[repr(C)]
31765#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31766pub struct VideoEncodeH265FrameSizeKHR {
31767 pub frame_i_size: u32,
31768 pub frame_p_size: u32,
31769 pub frame_b_size: u32,
31770}
31771
31772#[repr(C)]
31774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31775pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
31776 pub s_type: StructureType,
31777 pub next: *const c_void,
31778 pub use_gop_remaining_frames: Bool32,
31779 pub gop_remaining_i: u32,
31780 pub gop_remaining_p: u32,
31781 pub gop_remaining_b: u32,
31782}
31783
31784impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
31785 #[inline]
31786 fn default() -> Self {
31787 Self {
31788 s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
31789 next: ptr::null(),
31790 use_gop_remaining_frames: Bool32::default(),
31791 gop_remaining_i: u32::default(),
31792 gop_remaining_p: u32::default(),
31793 gop_remaining_b: u32::default(),
31794 }
31795 }
31796}
31797
31798unsafe impl Send for VideoEncodeH265GopRemainingFrameInfoKHR {}
31799unsafe impl Sync for VideoEncodeH265GopRemainingFrameInfoKHR {}
31800
31801#[repr(C)]
31803#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31804pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
31805 pub s_type: StructureType,
31806 pub next: *const c_void,
31807 pub constant_qp: i32,
31808 pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
31809}
31810
31811impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
31812 #[inline]
31813 fn default() -> Self {
31814 Self {
31815 s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
31816 next: ptr::null(),
31817 constant_qp: i32::default(),
31818 std_slice_segment_header: ptr::null(),
31819 }
31820 }
31821}
31822
31823unsafe impl Send for VideoEncodeH265NaluSliceSegmentInfoKHR {}
31824unsafe impl Sync for VideoEncodeH265NaluSliceSegmentInfoKHR {}
31825
31826#[repr(C)]
31828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31829pub struct VideoEncodeH265PictureInfoKHR {
31830 pub s_type: StructureType,
31831 pub next: *const c_void,
31832 pub nalu_slice_segment_entry_count: u32,
31833 pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
31834 pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
31835}
31836
31837impl Default for VideoEncodeH265PictureInfoKHR {
31838 #[inline]
31839 fn default() -> Self {
31840 Self {
31841 s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
31842 next: ptr::null(),
31843 nalu_slice_segment_entry_count: u32::default(),
31844 nalu_slice_segment_entries: ptr::null(),
31845 std_picture_info: ptr::null(),
31846 }
31847 }
31848}
31849
31850unsafe impl Send for VideoEncodeH265PictureInfoKHR {}
31851unsafe impl Sync for VideoEncodeH265PictureInfoKHR {}
31852
31853#[repr(C)]
31855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31856pub struct VideoEncodeH265ProfileInfoKHR {
31857 pub s_type: StructureType,
31858 pub next: *const c_void,
31859 pub std_profile_idc: video::StdVideoH265ProfileIdc,
31860}
31861
31862impl Default for VideoEncodeH265ProfileInfoKHR {
31863 #[inline]
31864 fn default() -> Self {
31865 Self {
31866 s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
31867 next: ptr::null(),
31868 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
31869 }
31870 }
31871}
31872
31873unsafe impl Send for VideoEncodeH265ProfileInfoKHR {}
31874unsafe impl Sync for VideoEncodeH265ProfileInfoKHR {}
31875
31876#[repr(C)]
31878#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31879pub struct VideoEncodeH265QpKHR {
31880 pub qp_i: i32,
31881 pub qp_p: i32,
31882 pub qp_b: i32,
31883}
31884
31885#[repr(C)]
31887#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31888pub struct VideoEncodeH265QualityLevelPropertiesKHR {
31889 pub s_type: StructureType,
31890 pub next: *mut c_void,
31891 pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
31892 pub preferred_gop_frame_count: u32,
31893 pub preferred_idr_period: u32,
31894 pub preferred_consecutive_b_frame_count: u32,
31895 pub preferred_sub_layer_count: u32,
31896 pub preferred_constant_qp: VideoEncodeH265QpKHR,
31897 pub preferred_max_l0_reference_count: u32,
31898 pub preferred_max_l1_reference_count: u32,
31899}
31900
31901impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
31902 #[inline]
31903 fn default() -> Self {
31904 Self {
31905 s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
31906 next: ptr::null_mut(),
31907 preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
31908 preferred_gop_frame_count: u32::default(),
31909 preferred_idr_period: u32::default(),
31910 preferred_consecutive_b_frame_count: u32::default(),
31911 preferred_sub_layer_count: u32::default(),
31912 preferred_constant_qp: VideoEncodeH265QpKHR::default(),
31913 preferred_max_l0_reference_count: u32::default(),
31914 preferred_max_l1_reference_count: u32::default(),
31915 }
31916 }
31917}
31918
31919unsafe impl Send for VideoEncodeH265QualityLevelPropertiesKHR {}
31920unsafe impl Sync for VideoEncodeH265QualityLevelPropertiesKHR {}
31921
31922#[repr(C)]
31924#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31925pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
31926 pub s_type: StructureType,
31927 pub next: *mut c_void,
31928 pub min_qp_delta: i32,
31929 pub max_qp_delta: i32,
31930}
31931
31932impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
31933 #[inline]
31934 fn default() -> Self {
31935 Self {
31936 s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
31937 next: ptr::null_mut(),
31938 min_qp_delta: i32::default(),
31939 max_qp_delta: i32::default(),
31940 }
31941 }
31942}
31943
31944unsafe impl Send for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
31945unsafe impl Sync for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
31946
31947#[repr(C)]
31949#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31950pub struct VideoEncodeH265RateControlInfoKHR {
31951 pub s_type: StructureType,
31952 pub next: *const c_void,
31953 pub flags: VideoEncodeH265RateControlFlagsKHR,
31954 pub gop_frame_count: u32,
31955 pub idr_period: u32,
31956 pub consecutive_b_frame_count: u32,
31957 pub sub_layer_count: u32,
31958}
31959
31960impl Default for VideoEncodeH265RateControlInfoKHR {
31961 #[inline]
31962 fn default() -> Self {
31963 Self {
31964 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
31965 next: ptr::null(),
31966 flags: VideoEncodeH265RateControlFlagsKHR::default(),
31967 gop_frame_count: u32::default(),
31968 idr_period: u32::default(),
31969 consecutive_b_frame_count: u32::default(),
31970 sub_layer_count: u32::default(),
31971 }
31972 }
31973}
31974
31975unsafe impl Send for VideoEncodeH265RateControlInfoKHR {}
31976unsafe impl Sync for VideoEncodeH265RateControlInfoKHR {}
31977
31978#[repr(C)]
31980#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31981pub struct VideoEncodeH265RateControlLayerInfoKHR {
31982 pub s_type: StructureType,
31983 pub next: *const c_void,
31984 pub use_min_qp: Bool32,
31985 pub min_qp: VideoEncodeH265QpKHR,
31986 pub use_max_qp: Bool32,
31987 pub max_qp: VideoEncodeH265QpKHR,
31988 pub use_max_frame_size: Bool32,
31989 pub max_frame_size: VideoEncodeH265FrameSizeKHR,
31990}
31991
31992impl Default for VideoEncodeH265RateControlLayerInfoKHR {
31993 #[inline]
31994 fn default() -> Self {
31995 Self {
31996 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
31997 next: ptr::null(),
31998 use_min_qp: Bool32::default(),
31999 min_qp: VideoEncodeH265QpKHR::default(),
32000 use_max_qp: Bool32::default(),
32001 max_qp: VideoEncodeH265QpKHR::default(),
32002 use_max_frame_size: Bool32::default(),
32003 max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
32004 }
32005 }
32006}
32007
32008unsafe impl Send for VideoEncodeH265RateControlLayerInfoKHR {}
32009unsafe impl Sync for VideoEncodeH265RateControlLayerInfoKHR {}
32010
32011#[repr(C)]
32013#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32014pub struct VideoEncodeH265SessionCreateInfoKHR {
32015 pub s_type: StructureType,
32016 pub next: *const c_void,
32017 pub use_max_level_idc: Bool32,
32018 pub max_level_idc: video::StdVideoH265LevelIdc,
32019}
32020
32021impl Default for VideoEncodeH265SessionCreateInfoKHR {
32022 #[inline]
32023 fn default() -> Self {
32024 Self {
32025 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
32026 next: ptr::null(),
32027 use_max_level_idc: Bool32::default(),
32028 max_level_idc: video::StdVideoH265LevelIdc::default(),
32029 }
32030 }
32031}
32032
32033unsafe impl Send for VideoEncodeH265SessionCreateInfoKHR {}
32034unsafe impl Sync for VideoEncodeH265SessionCreateInfoKHR {}
32035
32036#[repr(C)]
32038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32039pub struct VideoEncodeH265SessionParametersAddInfoKHR {
32040 pub s_type: StructureType,
32041 pub next: *const c_void,
32042 pub std_vps_count: u32,
32043 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
32044 pub std_sps_count: u32,
32045 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
32046 pub std_pps_count: u32,
32047 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
32048}
32049
32050impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
32051 #[inline]
32052 fn default() -> Self {
32053 Self {
32054 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
32055 next: ptr::null(),
32056 std_vps_count: u32::default(),
32057 std_vp_ss: ptr::null(),
32058 std_sps_count: u32::default(),
32059 std_sp_ss: ptr::null(),
32060 std_pps_count: u32::default(),
32061 std_pp_ss: ptr::null(),
32062 }
32063 }
32064}
32065
32066unsafe impl Send for VideoEncodeH265SessionParametersAddInfoKHR {}
32067unsafe impl Sync for VideoEncodeH265SessionParametersAddInfoKHR {}
32068
32069#[repr(C)]
32071#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32072pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
32073 pub s_type: StructureType,
32074 pub next: *const c_void,
32075 pub max_std_vps_count: u32,
32076 pub max_std_sps_count: u32,
32077 pub max_std_pps_count: u32,
32078 pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
32079}
32080
32081impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
32082 #[inline]
32083 fn default() -> Self {
32084 Self {
32085 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
32086 next: ptr::null(),
32087 max_std_vps_count: u32::default(),
32088 max_std_sps_count: u32::default(),
32089 max_std_pps_count: u32::default(),
32090 parameters_add_info: ptr::null(),
32091 }
32092 }
32093}
32094
32095unsafe impl Send for VideoEncodeH265SessionParametersCreateInfoKHR {}
32096unsafe impl Sync for VideoEncodeH265SessionParametersCreateInfoKHR {}
32097
32098#[repr(C)]
32100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32101pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
32102 pub s_type: StructureType,
32103 pub next: *mut c_void,
32104 pub has_std_vps_overrides: Bool32,
32105 pub has_std_sps_overrides: Bool32,
32106 pub has_std_pps_overrides: Bool32,
32107}
32108
32109impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
32110 #[inline]
32111 fn default() -> Self {
32112 Self {
32113 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32114 next: ptr::null_mut(),
32115 has_std_vps_overrides: Bool32::default(),
32116 has_std_sps_overrides: Bool32::default(),
32117 has_std_pps_overrides: Bool32::default(),
32118 }
32119 }
32120}
32121
32122unsafe impl Send for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
32123unsafe impl Sync for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
32124
32125#[repr(C)]
32127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32128pub struct VideoEncodeH265SessionParametersGetInfoKHR {
32129 pub s_type: StructureType,
32130 pub next: *const c_void,
32131 pub write_std_vps: Bool32,
32132 pub write_std_sps: Bool32,
32133 pub write_std_pps: Bool32,
32134 pub std_vps_id: u32,
32135 pub std_sps_id: u32,
32136 pub std_pps_id: u32,
32137}
32138
32139impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
32140 #[inline]
32141 fn default() -> Self {
32142 Self {
32143 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
32144 next: ptr::null(),
32145 write_std_vps: Bool32::default(),
32146 write_std_sps: Bool32::default(),
32147 write_std_pps: Bool32::default(),
32148 std_vps_id: u32::default(),
32149 std_sps_id: u32::default(),
32150 std_pps_id: u32::default(),
32151 }
32152 }
32153}
32154
32155unsafe impl Send for VideoEncodeH265SessionParametersGetInfoKHR {}
32156unsafe impl Sync for VideoEncodeH265SessionParametersGetInfoKHR {}
32157
32158#[repr(C)]
32160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32161pub struct VideoEncodeInfoKHR {
32162 pub s_type: StructureType,
32163 pub next: *const c_void,
32164 pub flags: VideoEncodeFlagsKHR,
32165 pub dst_buffer: Buffer,
32166 pub dst_buffer_offset: DeviceSize,
32167 pub dst_buffer_range: DeviceSize,
32168 pub src_picture_resource: VideoPictureResourceInfoKHR,
32169 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
32170 pub reference_slot_count: u32,
32171 pub reference_slots: *const VideoReferenceSlotInfoKHR,
32172 pub preceding_externally_encoded_bytes: u32,
32173}
32174
32175impl Default for VideoEncodeInfoKHR {
32176 #[inline]
32177 fn default() -> Self {
32178 Self {
32179 s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
32180 next: ptr::null(),
32181 flags: VideoEncodeFlagsKHR::default(),
32182 dst_buffer: Buffer::default(),
32183 dst_buffer_offset: DeviceSize::default(),
32184 dst_buffer_range: DeviceSize::default(),
32185 src_picture_resource: VideoPictureResourceInfoKHR::default(),
32186 setup_reference_slot: ptr::null(),
32187 reference_slot_count: u32::default(),
32188 reference_slots: ptr::null(),
32189 preceding_externally_encoded_bytes: u32::default(),
32190 }
32191 }
32192}
32193
32194unsafe impl Send for VideoEncodeInfoKHR {}
32195unsafe impl Sync for VideoEncodeInfoKHR {}
32196
32197#[repr(C)]
32199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32200pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
32201 pub s_type: StructureType,
32202 pub next: *mut c_void,
32203 pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
32204 pub max_intra_refresh_cycle_duration: u32,
32205 pub max_intra_refresh_active_reference_pictures: u32,
32206 pub partition_independent_intra_refresh_regions: Bool32,
32207 pub non_rectangular_intra_refresh_regions: Bool32,
32208}
32209
32210impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
32211 #[inline]
32212 fn default() -> Self {
32213 Self {
32214 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
32215 next: ptr::null_mut(),
32216 intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
32217 max_intra_refresh_cycle_duration: u32::default(),
32218 max_intra_refresh_active_reference_pictures: u32::default(),
32219 partition_independent_intra_refresh_regions: Bool32::default(),
32220 non_rectangular_intra_refresh_regions: Bool32::default(),
32221 }
32222 }
32223}
32224
32225unsafe impl Send for VideoEncodeIntraRefreshCapabilitiesKHR {}
32226unsafe impl Sync for VideoEncodeIntraRefreshCapabilitiesKHR {}
32227
32228#[repr(C)]
32230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32231pub struct VideoEncodeIntraRefreshInfoKHR {
32232 pub s_type: StructureType,
32233 pub next: *const c_void,
32234 pub intra_refresh_cycle_duration: u32,
32235 pub intra_refresh_index: u32,
32236}
32237
32238impl Default for VideoEncodeIntraRefreshInfoKHR {
32239 #[inline]
32240 fn default() -> Self {
32241 Self {
32242 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
32243 next: ptr::null(),
32244 intra_refresh_cycle_duration: u32::default(),
32245 intra_refresh_index: u32::default(),
32246 }
32247 }
32248}
32249
32250unsafe impl Send for VideoEncodeIntraRefreshInfoKHR {}
32251unsafe impl Sync for VideoEncodeIntraRefreshInfoKHR {}
32252
32253#[repr(C)]
32255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32256pub struct VideoEncodeProfileRgbConversionInfoVALVE {
32257 pub s_type: StructureType,
32258 pub next: *const c_void,
32259 pub perform_encode_rgb_conversion: Bool32,
32260}
32261
32262impl Default for VideoEncodeProfileRgbConversionInfoVALVE {
32263 #[inline]
32264 fn default() -> Self {
32265 Self {
32266 s_type: StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
32267 next: ptr::null(),
32268 perform_encode_rgb_conversion: Bool32::default(),
32269 }
32270 }
32271}
32272
32273unsafe impl Send for VideoEncodeProfileRgbConversionInfoVALVE {}
32274unsafe impl Sync for VideoEncodeProfileRgbConversionInfoVALVE {}
32275
32276#[repr(C)]
32278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32279pub struct VideoEncodeQualityLevelInfoKHR {
32280 pub s_type: StructureType,
32281 pub next: *const c_void,
32282 pub quality_level: u32,
32283}
32284
32285impl Default for VideoEncodeQualityLevelInfoKHR {
32286 #[inline]
32287 fn default() -> Self {
32288 Self {
32289 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
32290 next: ptr::null(),
32291 quality_level: u32::default(),
32292 }
32293 }
32294}
32295
32296unsafe impl Send for VideoEncodeQualityLevelInfoKHR {}
32297unsafe impl Sync for VideoEncodeQualityLevelInfoKHR {}
32298
32299#[repr(C)]
32301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32302pub struct VideoEncodeQualityLevelPropertiesKHR {
32303 pub s_type: StructureType,
32304 pub next: *mut c_void,
32305 pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
32306 pub preferred_rate_control_layer_count: u32,
32307}
32308
32309impl Default for VideoEncodeQualityLevelPropertiesKHR {
32310 #[inline]
32311 fn default() -> Self {
32312 Self {
32313 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
32314 next: ptr::null_mut(),
32315 preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
32316 preferred_rate_control_layer_count: u32::default(),
32317 }
32318 }
32319}
32320
32321unsafe impl Send for VideoEncodeQualityLevelPropertiesKHR {}
32322unsafe impl Sync for VideoEncodeQualityLevelPropertiesKHR {}
32323
32324#[repr(C)]
32326#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32327pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
32328 pub s_type: StructureType,
32329 pub next: *mut c_void,
32330 pub max_quantization_map_extent: Extent2D,
32331}
32332
32333impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
32334 #[inline]
32335 fn default() -> Self {
32336 Self {
32337 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
32338 next: ptr::null_mut(),
32339 max_quantization_map_extent: Extent2D::default(),
32340 }
32341 }
32342}
32343
32344unsafe impl Send for VideoEncodeQuantizationMapCapabilitiesKHR {}
32345unsafe impl Sync for VideoEncodeQuantizationMapCapabilitiesKHR {}
32346
32347#[repr(C)]
32349#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32350pub struct VideoEncodeQuantizationMapInfoKHR {
32351 pub s_type: StructureType,
32352 pub next: *const c_void,
32353 pub quantization_map: ImageView,
32354 pub quantization_map_extent: Extent2D,
32355}
32356
32357impl Default for VideoEncodeQuantizationMapInfoKHR {
32358 #[inline]
32359 fn default() -> Self {
32360 Self {
32361 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
32362 next: ptr::null(),
32363 quantization_map: ImageView::default(),
32364 quantization_map_extent: Extent2D::default(),
32365 }
32366 }
32367}
32368
32369unsafe impl Send for VideoEncodeQuantizationMapInfoKHR {}
32370unsafe impl Sync for VideoEncodeQuantizationMapInfoKHR {}
32371
32372#[repr(C)]
32374#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32375pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
32376 pub s_type: StructureType,
32377 pub next: *const c_void,
32378 pub quantization_map_texel_size: Extent2D,
32379}
32380
32381impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
32382 #[inline]
32383 fn default() -> Self {
32384 Self {
32385 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
32386 next: ptr::null(),
32387 quantization_map_texel_size: Extent2D::default(),
32388 }
32389 }
32390}
32391
32392unsafe impl Send for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
32393unsafe impl Sync for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
32394
32395#[repr(C)]
32397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32398pub struct VideoEncodeRateControlInfoKHR {
32399 pub s_type: StructureType,
32400 pub next: *const c_void,
32401 pub flags: VideoEncodeRateControlFlagsKHR,
32402 pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
32403 pub layer_count: u32,
32404 pub layers: *const VideoEncodeRateControlLayerInfoKHR,
32405 pub virtual_buffer_size_in_ms: u32,
32406 pub initial_virtual_buffer_size_in_ms: u32,
32407}
32408
32409impl Default for VideoEncodeRateControlInfoKHR {
32410 #[inline]
32411 fn default() -> Self {
32412 Self {
32413 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
32414 next: ptr::null(),
32415 flags: VideoEncodeRateControlFlagsKHR::default(),
32416 rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
32417 layer_count: u32::default(),
32418 layers: ptr::null(),
32419 virtual_buffer_size_in_ms: u32::default(),
32420 initial_virtual_buffer_size_in_ms: u32::default(),
32421 }
32422 }
32423}
32424
32425unsafe impl Send for VideoEncodeRateControlInfoKHR {}
32426unsafe impl Sync for VideoEncodeRateControlInfoKHR {}
32427
32428#[repr(C)]
32430#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32431pub struct VideoEncodeRateControlLayerInfoKHR {
32432 pub s_type: StructureType,
32433 pub next: *const c_void,
32434 pub average_bitrate: u64,
32435 pub max_bitrate: u64,
32436 pub frame_rate_numerator: u32,
32437 pub frame_rate_denominator: u32,
32438}
32439
32440impl Default for VideoEncodeRateControlLayerInfoKHR {
32441 #[inline]
32442 fn default() -> Self {
32443 Self {
32444 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
32445 next: ptr::null(),
32446 average_bitrate: u64::default(),
32447 max_bitrate: u64::default(),
32448 frame_rate_numerator: u32::default(),
32449 frame_rate_denominator: u32::default(),
32450 }
32451 }
32452}
32453
32454unsafe impl Send for VideoEncodeRateControlLayerInfoKHR {}
32455unsafe impl Sync for VideoEncodeRateControlLayerInfoKHR {}
32456
32457#[repr(C)]
32459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32460pub struct VideoEncodeRgbConversionCapabilitiesVALVE {
32461 pub s_type: StructureType,
32462 pub next: *mut c_void,
32463 pub rgb_models: VideoEncodeRgbModelConversionFlagsVALVE,
32464 pub rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE,
32465 pub x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
32466 pub y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
32467}
32468
32469impl Default for VideoEncodeRgbConversionCapabilitiesVALVE {
32470 #[inline]
32471 fn default() -> Self {
32472 Self {
32473 s_type: StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
32474 next: ptr::null_mut(),
32475 rgb_models: VideoEncodeRgbModelConversionFlagsVALVE::default(),
32476 rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
32477 x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32478 y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32479 }
32480 }
32481}
32482
32483unsafe impl Send for VideoEncodeRgbConversionCapabilitiesVALVE {}
32484unsafe impl Sync for VideoEncodeRgbConversionCapabilitiesVALVE {}
32485
32486#[repr(C)]
32488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32489pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
32490 pub s_type: StructureType,
32491 pub next: *const c_void,
32492 pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
32493}
32494
32495impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
32496 #[inline]
32497 fn default() -> Self {
32498 Self {
32499 s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
32500 next: ptr::null(),
32501 intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
32502 }
32503 }
32504}
32505
32506unsafe impl Send for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
32507unsafe impl Sync for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
32508
32509#[repr(C)]
32511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32512pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
32513 pub s_type: StructureType,
32514 pub next: *mut c_void,
32515 pub has_overrides: Bool32,
32516}
32517
32518impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
32519 #[inline]
32520 fn default() -> Self {
32521 Self {
32522 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32523 next: ptr::null_mut(),
32524 has_overrides: Bool32::default(),
32525 }
32526 }
32527}
32528
32529unsafe impl Send for VideoEncodeSessionParametersFeedbackInfoKHR {}
32530unsafe impl Sync for VideoEncodeSessionParametersFeedbackInfoKHR {}
32531
32532#[repr(C)]
32534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32535pub struct VideoEncodeSessionParametersGetInfoKHR {
32536 pub s_type: StructureType,
32537 pub next: *const c_void,
32538 pub video_session_parameters: VideoSessionParametersKHR,
32539}
32540
32541impl Default for VideoEncodeSessionParametersGetInfoKHR {
32542 #[inline]
32543 fn default() -> Self {
32544 Self {
32545 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
32546 next: ptr::null(),
32547 video_session_parameters: VideoSessionParametersKHR::default(),
32548 }
32549 }
32550}
32551
32552unsafe impl Send for VideoEncodeSessionParametersGetInfoKHR {}
32553unsafe impl Sync for VideoEncodeSessionParametersGetInfoKHR {}
32554
32555#[repr(C)]
32557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32558pub struct VideoEncodeSessionRgbConversionCreateInfoVALVE {
32559 pub s_type: StructureType,
32560 pub next: *const c_void,
32561 pub rgb_model: VideoEncodeRgbModelConversionFlagsVALVE,
32562 pub rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE,
32563 pub x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
32564 pub y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
32565}
32566
32567impl Default for VideoEncodeSessionRgbConversionCreateInfoVALVE {
32568 #[inline]
32569 fn default() -> Self {
32570 Self {
32571 s_type: StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
32572 next: ptr::null(),
32573 rgb_model: VideoEncodeRgbModelConversionFlagsVALVE::default(),
32574 rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
32575 x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32576 y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32577 }
32578 }
32579}
32580
32581unsafe impl Send for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
32582unsafe impl Sync for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
32583
32584#[repr(C)]
32586#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32587pub struct VideoEncodeUsageInfoKHR {
32588 pub s_type: StructureType,
32589 pub next: *const c_void,
32590 pub video_usage_hints: VideoEncodeUsageFlagsKHR,
32591 pub video_content_hints: VideoEncodeContentFlagsKHR,
32592 pub tuning_mode: VideoEncodeTuningModeKHR,
32593}
32594
32595impl Default for VideoEncodeUsageInfoKHR {
32596 #[inline]
32597 fn default() -> Self {
32598 Self {
32599 s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
32600 next: ptr::null(),
32601 video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
32602 video_content_hints: VideoEncodeContentFlagsKHR::default(),
32603 tuning_mode: VideoEncodeTuningModeKHR::default(),
32604 }
32605 }
32606}
32607
32608unsafe impl Send for VideoEncodeUsageInfoKHR {}
32609unsafe impl Sync for VideoEncodeUsageInfoKHR {}
32610
32611#[repr(C)]
32613#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32614pub struct VideoEndCodingInfoKHR {
32615 pub s_type: StructureType,
32616 pub next: *const c_void,
32617 pub flags: VideoEndCodingFlagsKHR,
32618}
32619
32620impl Default for VideoEndCodingInfoKHR {
32621 #[inline]
32622 fn default() -> Self {
32623 Self {
32624 s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
32625 next: ptr::null(),
32626 flags: VideoEndCodingFlagsKHR::default(),
32627 }
32628 }
32629}
32630
32631unsafe impl Send for VideoEndCodingInfoKHR {}
32632unsafe impl Sync for VideoEndCodingInfoKHR {}
32633
32634#[repr(C)]
32636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32637pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
32638 pub s_type: StructureType,
32639 pub next: *mut c_void,
32640 pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
32641}
32642
32643impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
32644 #[inline]
32645 fn default() -> Self {
32646 Self {
32647 s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
32648 next: ptr::null_mut(),
32649 compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
32650 }
32651 }
32652}
32653
32654unsafe impl Send for VideoFormatAV1QuantizationMapPropertiesKHR {}
32655unsafe impl Sync for VideoFormatAV1QuantizationMapPropertiesKHR {}
32656
32657#[repr(C)]
32659#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32660pub struct VideoFormatH265QuantizationMapPropertiesKHR {
32661 pub s_type: StructureType,
32662 pub next: *mut c_void,
32663 pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
32664}
32665
32666impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
32667 #[inline]
32668 fn default() -> Self {
32669 Self {
32670 s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
32671 next: ptr::null_mut(),
32672 compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
32673 }
32674 }
32675}
32676
32677unsafe impl Send for VideoFormatH265QuantizationMapPropertiesKHR {}
32678unsafe impl Sync for VideoFormatH265QuantizationMapPropertiesKHR {}
32679
32680#[repr(C)]
32682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32683pub struct VideoFormatPropertiesKHR {
32684 pub s_type: StructureType,
32685 pub next: *mut c_void,
32686 pub format: Format,
32687 pub component_mapping: ComponentMapping,
32688 pub image_create_flags: ImageCreateFlags,
32689 pub image_type: ImageType,
32690 pub image_tiling: ImageTiling,
32691 pub image_usage_flags: ImageUsageFlags,
32692}
32693
32694impl Default for VideoFormatPropertiesKHR {
32695 #[inline]
32696 fn default() -> Self {
32697 Self {
32698 s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
32699 next: ptr::null_mut(),
32700 format: Format::default(),
32701 component_mapping: ComponentMapping::default(),
32702 image_create_flags: ImageCreateFlags::default(),
32703 image_type: ImageType::default(),
32704 image_tiling: ImageTiling::default(),
32705 image_usage_flags: ImageUsageFlags::default(),
32706 }
32707 }
32708}
32709
32710unsafe impl Send for VideoFormatPropertiesKHR {}
32711unsafe impl Sync for VideoFormatPropertiesKHR {}
32712
32713#[repr(C)]
32715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32716pub struct VideoFormatQuantizationMapPropertiesKHR {
32717 pub s_type: StructureType,
32718 pub next: *mut c_void,
32719 pub quantization_map_texel_size: Extent2D,
32720}
32721
32722impl Default for VideoFormatQuantizationMapPropertiesKHR {
32723 #[inline]
32724 fn default() -> Self {
32725 Self {
32726 s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
32727 next: ptr::null_mut(),
32728 quantization_map_texel_size: Extent2D::default(),
32729 }
32730 }
32731}
32732
32733unsafe impl Send for VideoFormatQuantizationMapPropertiesKHR {}
32734unsafe impl Sync for VideoFormatQuantizationMapPropertiesKHR {}
32735
32736#[repr(C)]
32738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32739pub struct VideoInlineQueryInfoKHR {
32740 pub s_type: StructureType,
32741 pub next: *const c_void,
32742 pub query_pool: QueryPool,
32743 pub first_query: u32,
32744 pub query_count: u32,
32745}
32746
32747impl Default for VideoInlineQueryInfoKHR {
32748 #[inline]
32749 fn default() -> Self {
32750 Self {
32751 s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
32752 next: ptr::null(),
32753 query_pool: QueryPool::default(),
32754 first_query: u32::default(),
32755 query_count: u32::default(),
32756 }
32757 }
32758}
32759
32760unsafe impl Send for VideoInlineQueryInfoKHR {}
32761unsafe impl Sync for VideoInlineQueryInfoKHR {}
32762
32763#[repr(C)]
32765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32766pub struct VideoPictureResourceInfoKHR {
32767 pub s_type: StructureType,
32768 pub next: *const c_void,
32769 pub coded_offset: Offset2D,
32770 pub coded_extent: Extent2D,
32771 pub base_array_layer: u32,
32772 pub image_view_binding: ImageView,
32773}
32774
32775impl Default for VideoPictureResourceInfoKHR {
32776 #[inline]
32777 fn default() -> Self {
32778 Self {
32779 s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
32780 next: ptr::null(),
32781 coded_offset: Offset2D::default(),
32782 coded_extent: Extent2D::default(),
32783 base_array_layer: u32::default(),
32784 image_view_binding: ImageView::default(),
32785 }
32786 }
32787}
32788
32789unsafe impl Send for VideoPictureResourceInfoKHR {}
32790unsafe impl Sync for VideoPictureResourceInfoKHR {}
32791
32792#[repr(C)]
32794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32795pub struct VideoProfileInfoKHR {
32796 pub s_type: StructureType,
32797 pub next: *const c_void,
32798 pub video_codec_operation: VideoCodecOperationFlagsKHR,
32799 pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
32800 pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
32801 pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
32802}
32803
32804impl Default for VideoProfileInfoKHR {
32805 #[inline]
32806 fn default() -> Self {
32807 Self {
32808 s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
32809 next: ptr::null(),
32810 video_codec_operation: VideoCodecOperationFlagsKHR::default(),
32811 chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
32812 luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
32813 chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
32814 }
32815 }
32816}
32817
32818unsafe impl Send for VideoProfileInfoKHR {}
32819unsafe impl Sync for VideoProfileInfoKHR {}
32820
32821#[repr(C)]
32823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32824pub struct VideoProfileListInfoKHR {
32825 pub s_type: StructureType,
32826 pub next: *const c_void,
32827 pub profile_count: u32,
32828 pub profiles: *const VideoProfileInfoKHR,
32829}
32830
32831impl Default for VideoProfileListInfoKHR {
32832 #[inline]
32833 fn default() -> Self {
32834 Self {
32835 s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
32836 next: ptr::null(),
32837 profile_count: u32::default(),
32838 profiles: ptr::null(),
32839 }
32840 }
32841}
32842
32843unsafe impl Send for VideoProfileListInfoKHR {}
32844unsafe impl Sync for VideoProfileListInfoKHR {}
32845
32846#[repr(C)]
32848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32849pub struct VideoReferenceIntraRefreshInfoKHR {
32850 pub s_type: StructureType,
32851 pub next: *const c_void,
32852 pub dirty_intra_refresh_regions: u32,
32853}
32854
32855impl Default for VideoReferenceIntraRefreshInfoKHR {
32856 #[inline]
32857 fn default() -> Self {
32858 Self {
32859 s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
32860 next: ptr::null(),
32861 dirty_intra_refresh_regions: u32::default(),
32862 }
32863 }
32864}
32865
32866unsafe impl Send for VideoReferenceIntraRefreshInfoKHR {}
32867unsafe impl Sync for VideoReferenceIntraRefreshInfoKHR {}
32868
32869#[repr(C)]
32871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32872pub struct VideoReferenceSlotInfoKHR {
32873 pub s_type: StructureType,
32874 pub next: *const c_void,
32875 pub slot_index: i32,
32876 pub picture_resource: *const VideoPictureResourceInfoKHR,
32877}
32878
32879impl Default for VideoReferenceSlotInfoKHR {
32880 #[inline]
32881 fn default() -> Self {
32882 Self {
32883 s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
32884 next: ptr::null(),
32885 slot_index: i32::default(),
32886 picture_resource: ptr::null(),
32887 }
32888 }
32889}
32890
32891unsafe impl Send for VideoReferenceSlotInfoKHR {}
32892unsafe impl Sync for VideoReferenceSlotInfoKHR {}
32893
32894#[repr(C)]
32896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32897pub struct VideoSessionCreateInfoKHR {
32898 pub s_type: StructureType,
32899 pub next: *const c_void,
32900 pub queue_family_index: u32,
32901 pub flags: VideoSessionCreateFlagsKHR,
32902 pub video_profile: *const VideoProfileInfoKHR,
32903 pub picture_format: Format,
32904 pub max_coded_extent: Extent2D,
32905 pub reference_picture_format: Format,
32906 pub max_dpb_slots: u32,
32907 pub max_active_reference_pictures: u32,
32908 pub std_header_version: *const ExtensionProperties,
32909}
32910
32911impl Default for VideoSessionCreateInfoKHR {
32912 #[inline]
32913 fn default() -> Self {
32914 Self {
32915 s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
32916 next: ptr::null(),
32917 queue_family_index: u32::default(),
32918 flags: VideoSessionCreateFlagsKHR::default(),
32919 video_profile: ptr::null(),
32920 picture_format: Format::default(),
32921 max_coded_extent: Extent2D::default(),
32922 reference_picture_format: Format::default(),
32923 max_dpb_slots: u32::default(),
32924 max_active_reference_pictures: u32::default(),
32925 std_header_version: ptr::null(),
32926 }
32927 }
32928}
32929
32930unsafe impl Send for VideoSessionCreateInfoKHR {}
32931unsafe impl Sync for VideoSessionCreateInfoKHR {}
32932
32933#[repr(C)]
32935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32936pub struct VideoSessionMemoryRequirementsKHR {
32937 pub s_type: StructureType,
32938 pub next: *mut c_void,
32939 pub memory_bind_index: u32,
32940 pub memory_requirements: MemoryRequirements,
32941}
32942
32943impl Default for VideoSessionMemoryRequirementsKHR {
32944 #[inline]
32945 fn default() -> Self {
32946 Self {
32947 s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
32948 next: ptr::null_mut(),
32949 memory_bind_index: u32::default(),
32950 memory_requirements: MemoryRequirements::default(),
32951 }
32952 }
32953}
32954
32955unsafe impl Send for VideoSessionMemoryRequirementsKHR {}
32956unsafe impl Sync for VideoSessionMemoryRequirementsKHR {}
32957
32958#[repr(C)]
32960#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32961pub struct VideoSessionParametersCreateInfoKHR {
32962 pub s_type: StructureType,
32963 pub next: *const c_void,
32964 pub flags: VideoSessionParametersCreateFlagsKHR,
32965 pub video_session_parameters_template: VideoSessionParametersKHR,
32966 pub video_session: VideoSessionKHR,
32967}
32968
32969impl Default for VideoSessionParametersCreateInfoKHR {
32970 #[inline]
32971 fn default() -> Self {
32972 Self {
32973 s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
32974 next: ptr::null(),
32975 flags: VideoSessionParametersCreateFlagsKHR::default(),
32976 video_session_parameters_template: VideoSessionParametersKHR::default(),
32977 video_session: VideoSessionKHR::default(),
32978 }
32979 }
32980}
32981
32982unsafe impl Send for VideoSessionParametersCreateInfoKHR {}
32983unsafe impl Sync for VideoSessionParametersCreateInfoKHR {}
32984
32985#[repr(C)]
32987#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32988pub struct VideoSessionParametersUpdateInfoKHR {
32989 pub s_type: StructureType,
32990 pub next: *const c_void,
32991 pub update_sequence_count: u32,
32992}
32993
32994impl Default for VideoSessionParametersUpdateInfoKHR {
32995 #[inline]
32996 fn default() -> Self {
32997 Self {
32998 s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
32999 next: ptr::null(),
33000 update_sequence_count: u32::default(),
33001 }
33002 }
33003}
33004
33005unsafe impl Send for VideoSessionParametersUpdateInfoKHR {}
33006unsafe impl Sync for VideoSessionParametersUpdateInfoKHR {}
33007
33008#[repr(C)]
33010#[derive(Copy, Clone, Default, Debug, PartialEq)]
33011pub struct Viewport {
33012 pub x: f32,
33013 pub y: f32,
33014 pub width: f32,
33015 pub height: f32,
33016 pub min_depth: f32,
33017 pub max_depth: f32,
33018}
33019
33020#[repr(C)]
33022#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
33023pub struct ViewportSwizzleNV {
33024 pub x: ViewportCoordinateSwizzleNV,
33025 pub y: ViewportCoordinateSwizzleNV,
33026 pub z: ViewportCoordinateSwizzleNV,
33027 pub w: ViewportCoordinateSwizzleNV,
33028}
33029
33030#[repr(C)]
33032#[derive(Copy, Clone, Default, Debug, PartialEq)]
33033pub struct ViewportWScalingNV {
33034 pub xcoeff: f32,
33035 pub ycoeff: f32,
33036}
33037
33038#[repr(C)]
33040#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33041pub struct WaylandSurfaceCreateInfoKHR {
33042 pub s_type: StructureType,
33043 pub next: *const c_void,
33044 pub flags: WaylandSurfaceCreateFlagsKHR,
33045 pub display: *mut wl_display,
33046 pub surface: *mut wl_surface,
33047}
33048
33049impl Default for WaylandSurfaceCreateInfoKHR {
33050 #[inline]
33051 fn default() -> Self {
33052 Self {
33053 s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
33054 next: ptr::null(),
33055 flags: WaylandSurfaceCreateFlagsKHR::default(),
33056 display: ptr::null_mut(),
33057 surface: ptr::null_mut(),
33058 }
33059 }
33060}
33061
33062unsafe impl Send for WaylandSurfaceCreateInfoKHR {}
33063unsafe impl Sync for WaylandSurfaceCreateInfoKHR {}
33064
33065#[repr(C)]
33067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33068pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
33069 pub s_type: StructureType,
33070 pub next: *const c_void,
33071 pub acquire_count: u32,
33072 pub acquire_syncs: *const DeviceMemory,
33073 pub acquire_keys: *const u64,
33074 pub acquire_timeouts: *const u32,
33075 pub release_count: u32,
33076 pub release_syncs: *const DeviceMemory,
33077 pub release_keys: *const u64,
33078}
33079
33080impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
33081 #[inline]
33082 fn default() -> Self {
33083 Self {
33084 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
33085 next: ptr::null(),
33086 acquire_count: u32::default(),
33087 acquire_syncs: ptr::null(),
33088 acquire_keys: ptr::null(),
33089 acquire_timeouts: ptr::null(),
33090 release_count: u32::default(),
33091 release_syncs: ptr::null(),
33092 release_keys: ptr::null(),
33093 }
33094 }
33095}
33096
33097unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoKHR {}
33098unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoKHR {}
33099
33100#[repr(C)]
33102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33103pub struct Win32KeyedMutexAcquireReleaseInfoNV {
33104 pub s_type: StructureType,
33105 pub next: *const c_void,
33106 pub acquire_count: u32,
33107 pub acquire_syncs: *const DeviceMemory,
33108 pub acquire_keys: *const u64,
33109 pub acquire_timeout_milliseconds: *const u32,
33110 pub release_count: u32,
33111 pub release_syncs: *const DeviceMemory,
33112 pub release_keys: *const u64,
33113}
33114
33115impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
33116 #[inline]
33117 fn default() -> Self {
33118 Self {
33119 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
33120 next: ptr::null(),
33121 acquire_count: u32::default(),
33122 acquire_syncs: ptr::null(),
33123 acquire_keys: ptr::null(),
33124 acquire_timeout_milliseconds: ptr::null(),
33125 release_count: u32::default(),
33126 release_syncs: ptr::null(),
33127 release_keys: ptr::null(),
33128 }
33129 }
33130}
33131
33132unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoNV {}
33133unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoNV {}
33134
33135#[repr(C)]
33137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33138pub struct Win32SurfaceCreateInfoKHR {
33139 pub s_type: StructureType,
33140 pub next: *const c_void,
33141 pub flags: Win32SurfaceCreateFlagsKHR,
33142 pub hinstance: HINSTANCE,
33143 pub hwnd: HWND,
33144}
33145
33146impl Default for Win32SurfaceCreateInfoKHR {
33147 #[inline]
33148 fn default() -> Self {
33149 Self {
33150 s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
33151 next: ptr::null(),
33152 flags: Win32SurfaceCreateFlagsKHR::default(),
33153 hinstance: ptr::null_mut(),
33154 hwnd: ptr::null_mut(),
33155 }
33156 }
33157}
33158
33159unsafe impl Send for Win32SurfaceCreateInfoKHR {}
33160unsafe impl Sync for Win32SurfaceCreateInfoKHR {}
33161
33162#[repr(C)]
33164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33165pub struct WriteDescriptorSet {
33166 pub s_type: StructureType,
33167 pub next: *const c_void,
33168 pub dst_set: DescriptorSet,
33169 pub dst_binding: u32,
33170 pub dst_array_element: u32,
33171 pub descriptor_count: u32,
33172 pub descriptor_type: DescriptorType,
33173 pub image_info: *const DescriptorImageInfo,
33174 pub buffer_info: *const DescriptorBufferInfo,
33175 pub texel_buffer_view: *const BufferView,
33176}
33177
33178impl Default for WriteDescriptorSet {
33179 #[inline]
33180 fn default() -> Self {
33181 Self {
33182 s_type: StructureType::WRITE_DESCRIPTOR_SET,
33183 next: ptr::null(),
33184 dst_set: DescriptorSet::default(),
33185 dst_binding: u32::default(),
33186 dst_array_element: u32::default(),
33187 descriptor_count: u32::default(),
33188 descriptor_type: DescriptorType::default(),
33189 image_info: ptr::null(),
33190 buffer_info: ptr::null(),
33191 texel_buffer_view: ptr::null(),
33192 }
33193 }
33194}
33195
33196unsafe impl Send for WriteDescriptorSet {}
33197unsafe impl Sync for WriteDescriptorSet {}
33198
33199#[repr(C)]
33201#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33202pub struct WriteDescriptorSetAccelerationStructureKHR {
33203 pub s_type: StructureType,
33204 pub next: *const c_void,
33205 pub acceleration_structure_count: u32,
33206 pub acceleration_structures: *const AccelerationStructureKHR,
33207}
33208
33209impl Default for WriteDescriptorSetAccelerationStructureKHR {
33210 #[inline]
33211 fn default() -> Self {
33212 Self {
33213 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
33214 next: ptr::null(),
33215 acceleration_structure_count: u32::default(),
33216 acceleration_structures: ptr::null(),
33217 }
33218 }
33219}
33220
33221unsafe impl Send for WriteDescriptorSetAccelerationStructureKHR {}
33222unsafe impl Sync for WriteDescriptorSetAccelerationStructureKHR {}
33223
33224#[repr(C)]
33226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33227pub struct WriteDescriptorSetAccelerationStructureNV {
33228 pub s_type: StructureType,
33229 pub next: *const c_void,
33230 pub acceleration_structure_count: u32,
33231 pub acceleration_structures: *const AccelerationStructureNV,
33232}
33233
33234impl Default for WriteDescriptorSetAccelerationStructureNV {
33235 #[inline]
33236 fn default() -> Self {
33237 Self {
33238 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
33239 next: ptr::null(),
33240 acceleration_structure_count: u32::default(),
33241 acceleration_structures: ptr::null(),
33242 }
33243 }
33244}
33245
33246unsafe impl Send for WriteDescriptorSetAccelerationStructureNV {}
33247unsafe impl Sync for WriteDescriptorSetAccelerationStructureNV {}
33248
33249#[repr(C)]
33251#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33252pub struct WriteDescriptorSetInlineUniformBlock {
33253 pub s_type: StructureType,
33254 pub next: *const c_void,
33255 pub data_size: u32,
33256 pub data: *const c_void,
33257}
33258
33259impl Default for WriteDescriptorSetInlineUniformBlock {
33260 #[inline]
33261 fn default() -> Self {
33262 Self {
33263 s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
33264 next: ptr::null(),
33265 data_size: u32::default(),
33266 data: ptr::null(),
33267 }
33268 }
33269}
33270
33271unsafe impl Send for WriteDescriptorSetInlineUniformBlock {}
33272unsafe impl Sync for WriteDescriptorSetInlineUniformBlock {}
33273
33274#[repr(C)]
33276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33277pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
33278 pub s_type: StructureType,
33279 pub next: *mut c_void,
33280 pub acceleration_structure_count: u32,
33281 pub acceleration_structures: *const DeviceAddress,
33282}
33283
33284impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
33285 #[inline]
33286 fn default() -> Self {
33287 Self {
33288 s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
33289 next: ptr::null_mut(),
33290 acceleration_structure_count: u32::default(),
33291 acceleration_structures: ptr::null(),
33292 }
33293 }
33294}
33295
33296unsafe impl Send for WriteDescriptorSetPartitionedAccelerationStructureNV {}
33297unsafe impl Sync for WriteDescriptorSetPartitionedAccelerationStructureNV {}
33298
33299#[repr(C)]
33301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33302pub struct WriteDescriptorSetTensorARM {
33303 pub s_type: StructureType,
33304 pub next: *const c_void,
33305 pub tensor_view_count: u32,
33306 pub tensor_views: *const TensorViewARM,
33307}
33308
33309impl Default for WriteDescriptorSetTensorARM {
33310 #[inline]
33311 fn default() -> Self {
33312 Self {
33313 s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
33314 next: ptr::null(),
33315 tensor_view_count: u32::default(),
33316 tensor_views: ptr::null(),
33317 }
33318 }
33319}
33320
33321unsafe impl Send for WriteDescriptorSetTensorARM {}
33322unsafe impl Sync for WriteDescriptorSetTensorARM {}
33323
33324#[repr(C)]
33326#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33327pub struct WriteIndirectExecutionSetPipelineEXT {
33328 pub s_type: StructureType,
33329 pub next: *const c_void,
33330 pub index: u32,
33331 pub pipeline: Pipeline,
33332}
33333
33334impl Default for WriteIndirectExecutionSetPipelineEXT {
33335 #[inline]
33336 fn default() -> Self {
33337 Self {
33338 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
33339 next: ptr::null(),
33340 index: u32::default(),
33341 pipeline: Pipeline::default(),
33342 }
33343 }
33344}
33345
33346unsafe impl Send for WriteIndirectExecutionSetPipelineEXT {}
33347unsafe impl Sync for WriteIndirectExecutionSetPipelineEXT {}
33348
33349#[repr(C)]
33351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33352pub struct WriteIndirectExecutionSetShaderEXT {
33353 pub s_type: StructureType,
33354 pub next: *const c_void,
33355 pub index: u32,
33356 pub shader: ShaderEXT,
33357}
33358
33359impl Default for WriteIndirectExecutionSetShaderEXT {
33360 #[inline]
33361 fn default() -> Self {
33362 Self {
33363 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
33364 next: ptr::null(),
33365 index: u32::default(),
33366 shader: ShaderEXT::default(),
33367 }
33368 }
33369}
33370
33371unsafe impl Send for WriteIndirectExecutionSetShaderEXT {}
33372unsafe impl Sync for WriteIndirectExecutionSetShaderEXT {}
33373
33374#[repr(C)]
33376#[derive(Copy, Clone, Default, Debug, PartialEq)]
33377pub struct XYColorEXT {
33378 pub x: f32,
33379 pub y: f32,
33380}
33381
33382#[repr(C)]
33384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33385pub struct XcbSurfaceCreateInfoKHR {
33386 pub s_type: StructureType,
33387 pub next: *const c_void,
33388 pub flags: XcbSurfaceCreateFlagsKHR,
33389 pub connection: *mut xcb_connection_t,
33390 pub window: xcb_window_t,
33391}
33392
33393impl Default for XcbSurfaceCreateInfoKHR {
33394 #[inline]
33395 fn default() -> Self {
33396 Self {
33397 s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
33398 next: ptr::null(),
33399 flags: XcbSurfaceCreateFlagsKHR::default(),
33400 connection: ptr::null_mut(),
33401 window: xcb_window_t::default(),
33402 }
33403 }
33404}
33405
33406unsafe impl Send for XcbSurfaceCreateInfoKHR {}
33407unsafe impl Sync for XcbSurfaceCreateInfoKHR {}
33408
33409#[repr(C)]
33411#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33412pub struct XlibSurfaceCreateInfoKHR {
33413 pub s_type: StructureType,
33414 pub next: *const c_void,
33415 pub flags: XlibSurfaceCreateFlagsKHR,
33416 pub dpy: *mut Display,
33417 pub window: Window,
33418}
33419
33420impl Default for XlibSurfaceCreateInfoKHR {
33421 #[inline]
33422 fn default() -> Self {
33423 Self {
33424 s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
33425 next: ptr::null(),
33426 flags: XlibSurfaceCreateFlagsKHR::default(),
33427 dpy: ptr::null_mut(),
33428 window: Window::default(),
33429 }
33430 }
33431}
33432
33433unsafe impl Send for XlibSurfaceCreateInfoKHR {}
33434unsafe impl Sync for XlibSurfaceCreateInfoKHR {}
33435
33436pub type AabbPositionsNV = AabbPositionsKHR;
33438pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
33440pub type AttachmentDescription2KHR = AttachmentDescription2;
33442pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
33444pub type AttachmentReference2KHR = AttachmentReference2;
33446pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
33448pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
33450pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
33452pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
33454pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
33456pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
33458pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
33460pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
33462pub type BindMemoryStatusKHR = BindMemoryStatus;
33464pub type BlitImageInfo2KHR = BlitImageInfo2;
33466pub type BufferCopy2KHR = BufferCopy2;
33468pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
33470pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
33472pub type BufferImageCopy2KHR = BufferImageCopy2;
33474pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
33476pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
33478pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
33480pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
33482pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
33484pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
33486pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
33488pub type ConformanceVersionKHR = ConformanceVersion;
33490pub type CopyBufferInfo2KHR = CopyBufferInfo2;
33492pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
33494pub type CopyImageInfo2KHR = CopyImageInfo2;
33496pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
33498pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
33500pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
33502pub type CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR;
33504pub type CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR;
33506pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
33508pub type DependencyInfoKHR = DependencyInfo;
33510pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
33512pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
33514pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
33516pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
33518 DescriptorSetVariableDescriptorCountAllocateInfo;
33519pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
33521 DescriptorSetVariableDescriptorCountLayoutSupport;
33522pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
33524pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
33526pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
33528pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
33530pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
33532pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
33534pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
33536pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
33538pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
33540pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
33542pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
33544pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
33546pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
33548pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
33550pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
33552pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
33554pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
33556pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
33558pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
33560pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
33562pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
33564pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
33566pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
33568pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
33570pub type FormatProperties2KHR = FormatProperties2;
33572pub type FormatProperties3KHR = FormatProperties3;
33574pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
33576pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
33578pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
33580pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
33582pub type ImageBlit2KHR = ImageBlit2;
33584pub type ImageCopy2KHR = ImageCopy2;
33586pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
33588pub type ImageFormatProperties2KHR = ImageFormatProperties2;
33590pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
33592pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
33594pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
33596pub type ImageResolve2KHR = ImageResolve2;
33598pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
33600pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
33602pub type ImageSubresource2EXT = ImageSubresource2;
33604pub type ImageSubresource2KHR = ImageSubresource2;
33606pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
33608pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
33610pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
33612pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
33614pub type MemoryBarrier2KHR = MemoryBarrier2;
33616pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
33618pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
33620pub type MemoryMapInfoKHR = MemoryMapInfo;
33622pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
33624pub type MemoryRequirements2KHR = MemoryRequirements2;
33626pub type MemoryToImageCopyEXT = MemoryToImageCopy;
33628pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
33630pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
33632pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
33634pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
33636pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
33638pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
33640pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
33642pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
33644 PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
33645pub type PhysicalDeviceCopyMemoryIndirectPropertiesNV =
33647 PhysicalDeviceCopyMemoryIndirectPropertiesKHR;
33648pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
33650pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
33652 PhysicalDeviceDepthStencilResolveProperties;
33653pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
33655pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
33657pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
33659pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
33661pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
33663 PhysicalDeviceDynamicRenderingLocalReadFeatures;
33664pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
33666pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
33668pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
33670pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
33672pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
33674pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
33676pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
33678pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
33680pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
33682 PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
33683pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
33685 PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
33686pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
33688 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
33689pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
33691pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
33693pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
33695pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
33697pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
33699pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
33701pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
33703pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
33705pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
33707pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
33709pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
33711pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
33713pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
33715pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
33717pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
33719pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
33721pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
33723pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
33725pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
33727pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
33729pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
33731pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
33733pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
33735pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
33737pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
33739pub type PhysicalDeviceMemoryDecompressionFeaturesNV = PhysicalDeviceMemoryDecompressionFeaturesEXT;
33741pub type PhysicalDeviceMemoryDecompressionPropertiesNV =
33743 PhysicalDeviceMemoryDecompressionPropertiesEXT;
33744pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
33746pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
33748pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
33750pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
33752 PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
33753pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
33755 PhysicalDevicePipelineCreationCacheControlFeatures;
33756pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
33758 PhysicalDevicePipelineProtectedAccessFeatures;
33759pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
33761pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
33763pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
33765pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
33767 PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
33768pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
33770pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
33772pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
33774pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
33776 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
33777pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
33779pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
33781pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
33783 PhysicalDeviceSamplerFilterMinmaxProperties;
33784pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
33786 PhysicalDeviceSamplerYcbcrConversionFeatures;
33787pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
33789pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
33791 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
33792pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
33794pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
33796 PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
33797pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
33799pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
33801pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
33803pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
33805pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
33807 PhysicalDeviceShaderIntegerDotProductFeatures;
33808pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
33810 PhysicalDeviceShaderIntegerDotProductProperties;
33811pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
33813 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
33814pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
33816pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
33818 PhysicalDeviceShaderTerminateInvocationFeatures;
33819pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
33821pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
33823pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
33825 PhysicalDeviceSubgroupSizeControlProperties;
33826pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
33828 PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
33829pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
33831pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
33833 PhysicalDeviceTexelBufferAlignmentProperties;
33834pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
33836 PhysicalDeviceTextureCompressionASTCHDRFeatures;
33837pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
33839pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
33841pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
33843pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
33845 PhysicalDeviceUniformBufferStandardLayoutFeatures;
33846pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
33848pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
33850pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
33852pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
33854 PhysicalDeviceVertexAttributeDivisorFeatures;
33855pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
33857 PhysicalDeviceVertexAttributeDivisorFeatures;
33858pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
33860 PhysicalDeviceVertexAttributeDivisorProperties;
33861pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
33863pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
33865 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
33866pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
33868pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
33870pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
33872pub type PipelineInfoEXT = PipelineInfoKHR;
33874pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
33876pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
33878pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
33880pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
33882pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
33884 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
33885pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
33887 PipelineTessellationDomainOriginStateCreateInfo;
33888pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
33890pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
33892pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
33894pub type PushConstantsInfoKHR = PushConstantsInfo;
33896pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
33898pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
33900pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
33902pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
33904pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
33906pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
33908pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
33910pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
33912pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
33914pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
33916pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
33918pub type RenderingAreaInfoKHR = RenderingAreaInfo;
33920pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
33922pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
33924pub type RenderingEndInfoEXT = RenderingEndInfoKHR;
33926pub type RenderingInfoKHR = RenderingInfo;
33928pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
33930pub type ResolveImageInfo2KHR = ResolveImageInfo2;
33932pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
33934pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
33936pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
33938 SamplerYcbcrConversionImageFormatProperties;
33939pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
33941pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
33943pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
33945pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
33947pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
33949pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
33951 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
33952pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
33954pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
33956pub type SubmitInfo2KHR = SubmitInfo2;
33958pub type SubpassBeginInfoKHR = SubpassBeginInfo;
33960pub type SubpassDependency2KHR = SubpassDependency2;
33962pub type SubpassDescription2KHR = SubpassDescription2;
33964pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
33966pub type SubpassEndInfoKHR = SubpassEndInfo;
33968pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
33970pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
33972pub type SubresourceLayout2EXT = SubresourceLayout2;
33974pub type SubresourceLayout2KHR = SubresourceLayout2;
33976pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
33978pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
33980pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
33982pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
33984pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
33986pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
33988pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
33990pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
33992pub type TransformMatrixNV = TransformMatrixKHR;
33994pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
33996pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
33998pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;