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 DataGraphPipelineBuiltinModelCreateInfoQCOM {
4255 pub s_type: StructureType,
4256 pub next: *const c_void,
4257 pub operation: *const PhysicalDeviceDataGraphOperationSupportARM,
4258}
4259
4260impl Default for DataGraphPipelineBuiltinModelCreateInfoQCOM {
4261 #[inline]
4262 fn default() -> Self {
4263 Self {
4264 s_type: StructureType::DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
4265 next: ptr::null(),
4266 operation: ptr::null(),
4267 }
4268 }
4269}
4270
4271unsafe impl Send for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
4272unsafe impl Sync for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
4273
4274#[repr(C)]
4276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4277pub struct DataGraphPipelineCompilerControlCreateInfoARM {
4278 pub s_type: StructureType,
4279 pub next: *const c_void,
4280 pub vendor_options: *const c_char,
4281}
4282
4283impl Default for DataGraphPipelineCompilerControlCreateInfoARM {
4284 #[inline]
4285 fn default() -> Self {
4286 Self {
4287 s_type: StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
4288 next: ptr::null(),
4289 vendor_options: ptr::null(),
4290 }
4291 }
4292}
4293
4294unsafe impl Send for DataGraphPipelineCompilerControlCreateInfoARM {}
4295unsafe impl Sync for DataGraphPipelineCompilerControlCreateInfoARM {}
4296
4297#[repr(C)]
4299#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4300pub struct DataGraphPipelineConstantARM {
4301 pub s_type: StructureType,
4302 pub next: *const c_void,
4303 pub id: u32,
4304 pub constant_data: *const c_void,
4305}
4306
4307impl Default for DataGraphPipelineConstantARM {
4308 #[inline]
4309 fn default() -> Self {
4310 Self {
4311 s_type: StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM,
4312 next: ptr::null(),
4313 id: u32::default(),
4314 constant_data: ptr::null(),
4315 }
4316 }
4317}
4318
4319unsafe impl Send for DataGraphPipelineConstantARM {}
4320unsafe impl Sync for DataGraphPipelineConstantARM {}
4321
4322#[repr(C)]
4324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4325pub struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4326 pub s_type: StructureType,
4327 pub next: *const c_void,
4328 pub dimension: u32,
4329 pub zero_count: u32,
4330 pub group_size: u32,
4331}
4332
4333impl Default for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4334 #[inline]
4335 fn default() -> Self {
4336 Self {
4337 s_type:
4338 StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
4339 next: ptr::null(),
4340 dimension: u32::default(),
4341 zero_count: u32::default(),
4342 group_size: u32::default(),
4343 }
4344 }
4345}
4346
4347unsafe impl Send for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4348unsafe impl Sync for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4349
4350#[repr(C)]
4352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4353pub struct DataGraphPipelineCreateInfoARM {
4354 pub s_type: StructureType,
4355 pub next: *const c_void,
4356 pub flags: PipelineCreateFlags2KHR,
4357 pub layout: PipelineLayout,
4358 pub resource_info_count: u32,
4359 pub resource_infos: *const DataGraphPipelineResourceInfoARM,
4360}
4361
4362impl Default for DataGraphPipelineCreateInfoARM {
4363 #[inline]
4364 fn default() -> Self {
4365 Self {
4366 s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
4367 next: ptr::null(),
4368 flags: PipelineCreateFlags2KHR::default(),
4369 layout: PipelineLayout::default(),
4370 resource_info_count: u32::default(),
4371 resource_infos: ptr::null(),
4372 }
4373 }
4374}
4375
4376unsafe impl Send for DataGraphPipelineCreateInfoARM {}
4377unsafe impl Sync for DataGraphPipelineCreateInfoARM {}
4378
4379#[repr(C)]
4381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4382pub struct DataGraphPipelineDispatchInfoARM {
4383 pub s_type: StructureType,
4384 pub next: *mut c_void,
4385 pub flags: DataGraphPipelineDispatchFlagsARM,
4386}
4387
4388impl Default for DataGraphPipelineDispatchInfoARM {
4389 #[inline]
4390 fn default() -> Self {
4391 Self {
4392 s_type: StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
4393 next: ptr::null_mut(),
4394 flags: DataGraphPipelineDispatchFlagsARM::default(),
4395 }
4396 }
4397}
4398
4399unsafe impl Send for DataGraphPipelineDispatchInfoARM {}
4400unsafe impl Sync for DataGraphPipelineDispatchInfoARM {}
4401
4402#[repr(C)]
4404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4405pub struct DataGraphPipelineIdentifierCreateInfoARM {
4406 pub s_type: StructureType,
4407 pub next: *const c_void,
4408 pub identifier_size: u32,
4409 pub identifier: *const u8,
4410}
4411
4412impl Default for DataGraphPipelineIdentifierCreateInfoARM {
4413 #[inline]
4414 fn default() -> Self {
4415 Self {
4416 s_type: StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
4417 next: ptr::null(),
4418 identifier_size: u32::default(),
4419 identifier: ptr::null(),
4420 }
4421 }
4422}
4423
4424unsafe impl Send for DataGraphPipelineIdentifierCreateInfoARM {}
4425unsafe impl Sync for DataGraphPipelineIdentifierCreateInfoARM {}
4426
4427#[repr(C)]
4429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4430pub struct DataGraphPipelineInfoARM {
4431 pub s_type: StructureType,
4432 pub next: *const c_void,
4433 pub data_graph_pipeline: Pipeline,
4434}
4435
4436impl Default for DataGraphPipelineInfoARM {
4437 #[inline]
4438 fn default() -> Self {
4439 Self {
4440 s_type: StructureType::DATA_GRAPH_PIPELINE_INFO_ARM,
4441 next: ptr::null(),
4442 data_graph_pipeline: Pipeline::default(),
4443 }
4444 }
4445}
4446
4447unsafe impl Send for DataGraphPipelineInfoARM {}
4448unsafe impl Sync for DataGraphPipelineInfoARM {}
4449
4450#[repr(C)]
4452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4453pub struct DataGraphPipelinePropertyQueryResultARM {
4454 pub s_type: StructureType,
4455 pub next: *const c_void,
4456 pub property: DataGraphPipelinePropertyARM,
4457 pub is_text: Bool32,
4458 pub data_size: usize,
4459 pub data: *mut c_void,
4460}
4461
4462impl Default for DataGraphPipelinePropertyQueryResultARM {
4463 #[inline]
4464 fn default() -> Self {
4465 Self {
4466 s_type: StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
4467 next: ptr::null(),
4468 property: DataGraphPipelinePropertyARM::default(),
4469 is_text: Bool32::default(),
4470 data_size: usize::default(),
4471 data: ptr::null_mut(),
4472 }
4473 }
4474}
4475
4476unsafe impl Send for DataGraphPipelinePropertyQueryResultARM {}
4477unsafe impl Sync for DataGraphPipelinePropertyQueryResultARM {}
4478
4479#[repr(C)]
4481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4482pub struct DataGraphPipelineResourceInfoARM {
4483 pub s_type: StructureType,
4484 pub next: *const c_void,
4485 pub descriptor_set: u32,
4486 pub binding: u32,
4487 pub array_element: u32,
4488}
4489
4490impl Default for DataGraphPipelineResourceInfoARM {
4491 #[inline]
4492 fn default() -> Self {
4493 Self {
4494 s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
4495 next: ptr::null(),
4496 descriptor_set: u32::default(),
4497 binding: u32::default(),
4498 array_element: u32::default(),
4499 }
4500 }
4501}
4502
4503unsafe impl Send for DataGraphPipelineResourceInfoARM {}
4504unsafe impl Sync for DataGraphPipelineResourceInfoARM {}
4505
4506#[repr(C)]
4508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4509pub struct DataGraphPipelineSessionBindPointRequirementARM {
4510 pub s_type: StructureType,
4511 pub next: *const c_void,
4512 pub bind_point: DataGraphPipelineSessionBindPointARM,
4513 pub bind_point_type: DataGraphPipelineSessionBindPointTypeARM,
4514 pub num_objects: u32,
4515}
4516
4517impl Default for DataGraphPipelineSessionBindPointRequirementARM {
4518 #[inline]
4519 fn default() -> Self {
4520 Self {
4521 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
4522 next: ptr::null(),
4523 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4524 bind_point_type: DataGraphPipelineSessionBindPointTypeARM::default(),
4525 num_objects: u32::default(),
4526 }
4527 }
4528}
4529
4530unsafe impl Send for DataGraphPipelineSessionBindPointRequirementARM {}
4531unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementARM {}
4532
4533#[repr(C)]
4535#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4536pub struct DataGraphPipelineSessionBindPointRequirementsInfoARM {
4537 pub s_type: StructureType,
4538 pub next: *const c_void,
4539 pub session: DataGraphPipelineSessionARM,
4540}
4541
4542impl Default for DataGraphPipelineSessionBindPointRequirementsInfoARM {
4543 #[inline]
4544 fn default() -> Self {
4545 Self {
4546 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
4547 next: ptr::null(),
4548 session: DataGraphPipelineSessionARM::default(),
4549 }
4550 }
4551}
4552
4553unsafe impl Send for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4554unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4555
4556#[repr(C)]
4558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4559pub struct DataGraphPipelineSessionCreateInfoARM {
4560 pub s_type: StructureType,
4561 pub next: *const c_void,
4562 pub flags: DataGraphPipelineSessionCreateFlagsARM,
4563 pub data_graph_pipeline: Pipeline,
4564}
4565
4566impl Default for DataGraphPipelineSessionCreateInfoARM {
4567 #[inline]
4568 fn default() -> Self {
4569 Self {
4570 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
4571 next: ptr::null(),
4572 flags: DataGraphPipelineSessionCreateFlagsARM::default(),
4573 data_graph_pipeline: Pipeline::default(),
4574 }
4575 }
4576}
4577
4578unsafe impl Send for DataGraphPipelineSessionCreateInfoARM {}
4579unsafe impl Sync for DataGraphPipelineSessionCreateInfoARM {}
4580
4581#[repr(C)]
4583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4584pub struct DataGraphPipelineSessionMemoryRequirementsInfoARM {
4585 pub s_type: StructureType,
4586 pub next: *const c_void,
4587 pub session: DataGraphPipelineSessionARM,
4588 pub bind_point: DataGraphPipelineSessionBindPointARM,
4589 pub object_index: u32,
4590}
4591
4592impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM {
4593 #[inline]
4594 fn default() -> Self {
4595 Self {
4596 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
4597 next: ptr::null(),
4598 session: DataGraphPipelineSessionARM::default(),
4599 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4600 object_index: u32::default(),
4601 }
4602 }
4603}
4604
4605unsafe impl Send for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4606unsafe impl Sync for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4607
4608#[repr(C)]
4610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4611pub struct DataGraphPipelineShaderModuleCreateInfoARM {
4612 pub s_type: StructureType,
4613 pub next: *const c_void,
4614 pub module: ShaderModule,
4615 pub name: *const c_char,
4616 pub specialization_info: *const SpecializationInfo,
4617 pub constant_count: u32,
4618 pub constants: *const DataGraphPipelineConstantARM,
4619}
4620
4621impl Default for DataGraphPipelineShaderModuleCreateInfoARM {
4622 #[inline]
4623 fn default() -> Self {
4624 Self {
4625 s_type: StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
4626 next: ptr::null(),
4627 module: ShaderModule::default(),
4628 name: ptr::null(),
4629 specialization_info: ptr::null(),
4630 constant_count: u32::default(),
4631 constants: ptr::null(),
4632 }
4633 }
4634}
4635
4636unsafe impl Send for DataGraphPipelineShaderModuleCreateInfoARM {}
4637unsafe impl Sync for DataGraphPipelineShaderModuleCreateInfoARM {}
4638
4639#[repr(C)]
4641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4642pub struct DataGraphProcessingEngineCreateInfoARM {
4643 pub s_type: StructureType,
4644 pub next: *const c_void,
4645 pub processing_engine_count: u32,
4646 pub processing_engines: *mut PhysicalDeviceDataGraphProcessingEngineARM,
4647}
4648
4649impl Default for DataGraphProcessingEngineCreateInfoARM {
4650 #[inline]
4651 fn default() -> Self {
4652 Self {
4653 s_type: StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
4654 next: ptr::null(),
4655 processing_engine_count: u32::default(),
4656 processing_engines: ptr::null_mut(),
4657 }
4658 }
4659}
4660
4661unsafe impl Send for DataGraphProcessingEngineCreateInfoARM {}
4662unsafe impl Sync for DataGraphProcessingEngineCreateInfoARM {}
4663
4664#[repr(C)]
4666#[derive(Copy, Clone, Debug, PartialEq)]
4667pub struct DebugMarkerMarkerInfoEXT {
4668 pub s_type: StructureType,
4669 pub next: *const c_void,
4670 pub marker_name: *const c_char,
4671 pub color: [f32; 4],
4672}
4673
4674impl Default for DebugMarkerMarkerInfoEXT {
4675 #[inline]
4676 fn default() -> Self {
4677 Self {
4678 s_type: StructureType::DEBUG_MARKER_MARKER_INFO_EXT,
4679 next: ptr::null(),
4680 marker_name: ptr::null(),
4681 color: [f32::default(); 4],
4682 }
4683 }
4684}
4685
4686unsafe impl Send for DebugMarkerMarkerInfoEXT {}
4687unsafe impl Sync for DebugMarkerMarkerInfoEXT {}
4688
4689#[repr(C)]
4691#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4692pub struct DebugMarkerObjectNameInfoEXT {
4693 pub s_type: StructureType,
4694 pub next: *const c_void,
4695 pub object_type: DebugReportObjectTypeEXT,
4696 pub object: u64,
4697 pub object_name: *const c_char,
4698}
4699
4700impl Default for DebugMarkerObjectNameInfoEXT {
4701 #[inline]
4702 fn default() -> Self {
4703 Self {
4704 s_type: StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
4705 next: ptr::null(),
4706 object_type: DebugReportObjectTypeEXT::default(),
4707 object: u64::default(),
4708 object_name: ptr::null(),
4709 }
4710 }
4711}
4712
4713unsafe impl Send for DebugMarkerObjectNameInfoEXT {}
4714unsafe impl Sync for DebugMarkerObjectNameInfoEXT {}
4715
4716#[repr(C)]
4718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4719pub struct DebugMarkerObjectTagInfoEXT {
4720 pub s_type: StructureType,
4721 pub next: *const c_void,
4722 pub object_type: DebugReportObjectTypeEXT,
4723 pub object: u64,
4724 pub tag_name: u64,
4725 pub tag_size: usize,
4726 pub tag: *const c_void,
4727}
4728
4729impl Default for DebugMarkerObjectTagInfoEXT {
4730 #[inline]
4731 fn default() -> Self {
4732 Self {
4733 s_type: StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
4734 next: ptr::null(),
4735 object_type: DebugReportObjectTypeEXT::default(),
4736 object: u64::default(),
4737 tag_name: u64::default(),
4738 tag_size: usize::default(),
4739 tag: ptr::null(),
4740 }
4741 }
4742}
4743
4744unsafe impl Send for DebugMarkerObjectTagInfoEXT {}
4745unsafe impl Sync for DebugMarkerObjectTagInfoEXT {}
4746
4747#[repr(C)]
4749#[derive(Copy, Clone)]
4750pub struct DebugReportCallbackCreateInfoEXT {
4751 pub s_type: StructureType,
4752 pub next: *const c_void,
4753 pub flags: DebugReportFlagsEXT,
4754 pub callback: PFN_vkDebugReportCallbackEXT,
4755 pub user_data: *mut c_void,
4756}
4757
4758impl fmt::Debug for DebugReportCallbackCreateInfoEXT {
4759 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4760 f.debug_struct("DebugReportCallbackCreateInfoEXT")
4761 .field("s_type", &self.s_type)
4762 .field("next", &self.next)
4763 .field("flags", &self.flags)
4764 .field("callback", &(self.callback.map(|f| f as *const u8)))
4765 .field("user_data", &self.user_data)
4766 .finish()
4767 }
4768}
4769
4770impl Default for DebugReportCallbackCreateInfoEXT {
4771 #[inline]
4772 fn default() -> Self {
4773 Self {
4774 s_type: StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
4775 next: ptr::null(),
4776 flags: DebugReportFlagsEXT::default(),
4777 callback: PFN_vkDebugReportCallbackEXT::default(),
4778 user_data: ptr::null_mut(),
4779 }
4780 }
4781}
4782
4783unsafe impl Send for DebugReportCallbackCreateInfoEXT {}
4784unsafe impl Sync for DebugReportCallbackCreateInfoEXT {}
4785
4786#[repr(C)]
4788#[derive(Copy, Clone, Debug, PartialEq)]
4789pub struct DebugUtilsLabelEXT {
4790 pub s_type: StructureType,
4791 pub next: *const c_void,
4792 pub label_name: *const c_char,
4793 pub color: [f32; 4],
4794}
4795
4796impl Default for DebugUtilsLabelEXT {
4797 #[inline]
4798 fn default() -> Self {
4799 Self {
4800 s_type: StructureType::DEBUG_UTILS_LABEL_EXT,
4801 next: ptr::null(),
4802 label_name: ptr::null(),
4803 color: [f32::default(); 4],
4804 }
4805 }
4806}
4807
4808unsafe impl Send for DebugUtilsLabelEXT {}
4809unsafe impl Sync for DebugUtilsLabelEXT {}
4810
4811#[repr(C)]
4813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4814pub struct DebugUtilsMessengerCallbackDataEXT {
4815 pub s_type: StructureType,
4816 pub next: *const c_void,
4817 pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
4818 pub message_id_name: *const c_char,
4819 pub message_id_number: i32,
4820 pub message: *const c_char,
4821 pub queue_label_count: u32,
4822 pub queue_labels: *const DebugUtilsLabelEXT,
4823 pub cmd_buf_label_count: u32,
4824 pub cmd_buf_labels: *const DebugUtilsLabelEXT,
4825 pub object_count: u32,
4826 pub objects: *const DebugUtilsObjectNameInfoEXT,
4827}
4828
4829impl Default for DebugUtilsMessengerCallbackDataEXT {
4830 #[inline]
4831 fn default() -> Self {
4832 Self {
4833 s_type: StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
4834 next: ptr::null(),
4835 flags: DebugUtilsMessengerCallbackDataFlagsEXT::default(),
4836 message_id_name: ptr::null(),
4837 message_id_number: i32::default(),
4838 message: ptr::null(),
4839 queue_label_count: u32::default(),
4840 queue_labels: ptr::null(),
4841 cmd_buf_label_count: u32::default(),
4842 cmd_buf_labels: ptr::null(),
4843 object_count: u32::default(),
4844 objects: ptr::null(),
4845 }
4846 }
4847}
4848
4849unsafe impl Send for DebugUtilsMessengerCallbackDataEXT {}
4850unsafe impl Sync for DebugUtilsMessengerCallbackDataEXT {}
4851
4852#[repr(C)]
4854#[derive(Copy, Clone)]
4855pub struct DebugUtilsMessengerCreateInfoEXT {
4856 pub s_type: StructureType,
4857 pub next: *const c_void,
4858 pub flags: DebugUtilsMessengerCreateFlagsEXT,
4859 pub message_severity: DebugUtilsMessageSeverityFlagsEXT,
4860 pub message_type: DebugUtilsMessageTypeFlagsEXT,
4861 pub user_callback: PFN_vkDebugUtilsMessengerCallbackEXT,
4862 pub user_data: *mut c_void,
4863}
4864
4865impl fmt::Debug for DebugUtilsMessengerCreateInfoEXT {
4866 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4867 f.debug_struct("DebugUtilsMessengerCreateInfoEXT")
4868 .field("s_type", &self.s_type)
4869 .field("next", &self.next)
4870 .field("flags", &self.flags)
4871 .field("message_severity", &self.message_severity)
4872 .field("message_type", &self.message_type)
4873 .field(
4874 "user_callback",
4875 &(self.user_callback.map(|f| f as *const u8)),
4876 )
4877 .field("user_data", &self.user_data)
4878 .finish()
4879 }
4880}
4881
4882impl Default for DebugUtilsMessengerCreateInfoEXT {
4883 #[inline]
4884 fn default() -> Self {
4885 Self {
4886 s_type: StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
4887 next: ptr::null(),
4888 flags: DebugUtilsMessengerCreateFlagsEXT::default(),
4889 message_severity: DebugUtilsMessageSeverityFlagsEXT::default(),
4890 message_type: DebugUtilsMessageTypeFlagsEXT::default(),
4891 user_callback: PFN_vkDebugUtilsMessengerCallbackEXT::default(),
4892 user_data: ptr::null_mut(),
4893 }
4894 }
4895}
4896
4897unsafe impl Send for DebugUtilsMessengerCreateInfoEXT {}
4898unsafe impl Sync for DebugUtilsMessengerCreateInfoEXT {}
4899
4900#[repr(C)]
4902#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4903pub struct DebugUtilsObjectNameInfoEXT {
4904 pub s_type: StructureType,
4905 pub next: *const c_void,
4906 pub object_type: ObjectType,
4907 pub object_handle: u64,
4908 pub object_name: *const c_char,
4909}
4910
4911impl Default for DebugUtilsObjectNameInfoEXT {
4912 #[inline]
4913 fn default() -> Self {
4914 Self {
4915 s_type: StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
4916 next: ptr::null(),
4917 object_type: ObjectType::default(),
4918 object_handle: u64::default(),
4919 object_name: ptr::null(),
4920 }
4921 }
4922}
4923
4924unsafe impl Send for DebugUtilsObjectNameInfoEXT {}
4925unsafe impl Sync for DebugUtilsObjectNameInfoEXT {}
4926
4927#[repr(C)]
4929#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4930pub struct DebugUtilsObjectTagInfoEXT {
4931 pub s_type: StructureType,
4932 pub next: *const c_void,
4933 pub object_type: ObjectType,
4934 pub object_handle: u64,
4935 pub tag_name: u64,
4936 pub tag_size: usize,
4937 pub tag: *const c_void,
4938}
4939
4940impl Default for DebugUtilsObjectTagInfoEXT {
4941 #[inline]
4942 fn default() -> Self {
4943 Self {
4944 s_type: StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
4945 next: ptr::null(),
4946 object_type: ObjectType::default(),
4947 object_handle: u64::default(),
4948 tag_name: u64::default(),
4949 tag_size: usize::default(),
4950 tag: ptr::null(),
4951 }
4952 }
4953}
4954
4955unsafe impl Send for DebugUtilsObjectTagInfoEXT {}
4956unsafe impl Sync for DebugUtilsObjectTagInfoEXT {}
4957
4958#[repr(C)]
4960#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4961pub struct DecompressMemoryInfoEXT {
4962 pub s_type: StructureType,
4963 pub next: *const c_void,
4964 pub decompression_method: MemoryDecompressionMethodFlagsEXT,
4965 pub region_count: u32,
4966 pub regions: *const DecompressMemoryRegionEXT,
4967}
4968
4969impl Default for DecompressMemoryInfoEXT {
4970 #[inline]
4971 fn default() -> Self {
4972 Self {
4973 s_type: StructureType::DECOMPRESS_MEMORY_INFO_EXT,
4974 next: ptr::null(),
4975 decompression_method: MemoryDecompressionMethodFlagsEXT::default(),
4976 region_count: u32::default(),
4977 regions: ptr::null(),
4978 }
4979 }
4980}
4981
4982unsafe impl Send for DecompressMemoryInfoEXT {}
4983unsafe impl Sync for DecompressMemoryInfoEXT {}
4984
4985#[repr(C)]
4987#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4988pub struct DecompressMemoryRegionEXT {
4989 pub src_address: DeviceAddress,
4990 pub dst_address: DeviceAddress,
4991 pub compressed_size: DeviceSize,
4992 pub decompressed_size: DeviceSize,
4993}
4994
4995#[repr(C)]
4997#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
4998pub struct DecompressMemoryRegionNV {
4999 pub src_address: DeviceAddress,
5000 pub dst_address: DeviceAddress,
5001 pub compressed_size: DeviceSize,
5002 pub decompressed_size: DeviceSize,
5003 pub decompression_method: MemoryDecompressionMethodFlagsNV,
5004}
5005
5006#[repr(C)]
5008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5009pub struct DedicatedAllocationBufferCreateInfoNV {
5010 pub s_type: StructureType,
5011 pub next: *const c_void,
5012 pub dedicated_allocation: Bool32,
5013}
5014
5015impl Default for DedicatedAllocationBufferCreateInfoNV {
5016 #[inline]
5017 fn default() -> Self {
5018 Self {
5019 s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
5020 next: ptr::null(),
5021 dedicated_allocation: Bool32::default(),
5022 }
5023 }
5024}
5025
5026unsafe impl Send for DedicatedAllocationBufferCreateInfoNV {}
5027unsafe impl Sync for DedicatedAllocationBufferCreateInfoNV {}
5028
5029#[repr(C)]
5031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5032pub struct DedicatedAllocationImageCreateInfoNV {
5033 pub s_type: StructureType,
5034 pub next: *const c_void,
5035 pub dedicated_allocation: Bool32,
5036}
5037
5038impl Default for DedicatedAllocationImageCreateInfoNV {
5039 #[inline]
5040 fn default() -> Self {
5041 Self {
5042 s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
5043 next: ptr::null(),
5044 dedicated_allocation: Bool32::default(),
5045 }
5046 }
5047}
5048
5049unsafe impl Send for DedicatedAllocationImageCreateInfoNV {}
5050unsafe impl Sync for DedicatedAllocationImageCreateInfoNV {}
5051
5052#[repr(C)]
5054#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5055pub struct DedicatedAllocationMemoryAllocateInfoNV {
5056 pub s_type: StructureType,
5057 pub next: *const c_void,
5058 pub image: Image,
5059 pub buffer: Buffer,
5060}
5061
5062impl Default for DedicatedAllocationMemoryAllocateInfoNV {
5063 #[inline]
5064 fn default() -> Self {
5065 Self {
5066 s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
5067 next: ptr::null(),
5068 image: Image::default(),
5069 buffer: Buffer::default(),
5070 }
5071 }
5072}
5073
5074unsafe impl Send for DedicatedAllocationMemoryAllocateInfoNV {}
5075unsafe impl Sync for DedicatedAllocationMemoryAllocateInfoNV {}
5076
5077#[repr(C)]
5079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5080pub struct DependencyInfo {
5081 pub s_type: StructureType,
5082 pub next: *const c_void,
5083 pub dependency_flags: DependencyFlags,
5084 pub memory_barrier_count: u32,
5085 pub memory_barriers: *const MemoryBarrier2,
5086 pub buffer_memory_barrier_count: u32,
5087 pub buffer_memory_barriers: *const BufferMemoryBarrier2,
5088 pub image_memory_barrier_count: u32,
5089 pub image_memory_barriers: *const ImageMemoryBarrier2,
5090}
5091
5092impl Default for DependencyInfo {
5093 #[inline]
5094 fn default() -> Self {
5095 Self {
5096 s_type: StructureType::DEPENDENCY_INFO,
5097 next: ptr::null(),
5098 dependency_flags: DependencyFlags::default(),
5099 memory_barrier_count: u32::default(),
5100 memory_barriers: ptr::null(),
5101 buffer_memory_barrier_count: u32::default(),
5102 buffer_memory_barriers: ptr::null(),
5103 image_memory_barrier_count: u32::default(),
5104 image_memory_barriers: ptr::null(),
5105 }
5106 }
5107}
5108
5109unsafe impl Send for DependencyInfo {}
5110unsafe impl Sync for DependencyInfo {}
5111
5112#[repr(C)]
5114#[derive(Copy, Clone, Debug, PartialEq)]
5115pub struct DepthBiasInfoEXT {
5116 pub s_type: StructureType,
5117 pub next: *const c_void,
5118 pub depth_bias_constant_factor: f32,
5119 pub depth_bias_clamp: f32,
5120 pub depth_bias_slope_factor: f32,
5121}
5122
5123impl Default for DepthBiasInfoEXT {
5124 #[inline]
5125 fn default() -> Self {
5126 Self {
5127 s_type: StructureType::DEPTH_BIAS_INFO_EXT,
5128 next: ptr::null(),
5129 depth_bias_constant_factor: f32::default(),
5130 depth_bias_clamp: f32::default(),
5131 depth_bias_slope_factor: f32::default(),
5132 }
5133 }
5134}
5135
5136unsafe impl Send for DepthBiasInfoEXT {}
5137unsafe impl Sync for DepthBiasInfoEXT {}
5138
5139#[repr(C)]
5141#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5142pub struct DepthBiasRepresentationInfoEXT {
5143 pub s_type: StructureType,
5144 pub next: *const c_void,
5145 pub depth_bias_representation: DepthBiasRepresentationEXT,
5146 pub depth_bias_exact: Bool32,
5147}
5148
5149impl Default for DepthBiasRepresentationInfoEXT {
5150 #[inline]
5151 fn default() -> Self {
5152 Self {
5153 s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
5154 next: ptr::null(),
5155 depth_bias_representation: DepthBiasRepresentationEXT::default(),
5156 depth_bias_exact: Bool32::default(),
5157 }
5158 }
5159}
5160
5161unsafe impl Send for DepthBiasRepresentationInfoEXT {}
5162unsafe impl Sync for DepthBiasRepresentationInfoEXT {}
5163
5164#[repr(C)]
5166#[derive(Copy, Clone, Default, Debug, PartialEq)]
5167pub struct DepthClampRangeEXT {
5168 pub min_depth_clamp: f32,
5169 pub max_depth_clamp: f32,
5170}
5171
5172#[repr(C)]
5174#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5175pub struct DescriptorAddressInfoEXT {
5176 pub s_type: StructureType,
5177 pub next: *mut c_void,
5178 pub address: DeviceAddress,
5179 pub range: DeviceSize,
5180 pub format: Format,
5181}
5182
5183impl Default for DescriptorAddressInfoEXT {
5184 #[inline]
5185 fn default() -> Self {
5186 Self {
5187 s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
5188 next: ptr::null_mut(),
5189 address: DeviceAddress::default(),
5190 range: DeviceSize::default(),
5191 format: Format::default(),
5192 }
5193 }
5194}
5195
5196unsafe impl Send for DescriptorAddressInfoEXT {}
5197unsafe impl Sync for DescriptorAddressInfoEXT {}
5198
5199#[repr(C)]
5201#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5202pub struct DescriptorBufferBindingInfoEXT {
5203 pub s_type: StructureType,
5204 pub next: *const c_void,
5205 pub address: DeviceAddress,
5206 pub usage: BufferUsageFlags,
5207}
5208
5209impl Default for DescriptorBufferBindingInfoEXT {
5210 #[inline]
5211 fn default() -> Self {
5212 Self {
5213 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
5214 next: ptr::null(),
5215 address: DeviceAddress::default(),
5216 usage: BufferUsageFlags::default(),
5217 }
5218 }
5219}
5220
5221unsafe impl Send for DescriptorBufferBindingInfoEXT {}
5222unsafe impl Sync for DescriptorBufferBindingInfoEXT {}
5223
5224#[repr(C)]
5226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5227pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5228 pub s_type: StructureType,
5229 pub next: *const c_void,
5230 pub buffer: Buffer,
5231}
5232
5233impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5234 #[inline]
5235 fn default() -> Self {
5236 Self {
5237 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
5238 next: ptr::null(),
5239 buffer: Buffer::default(),
5240 }
5241 }
5242}
5243
5244unsafe impl Send for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5245unsafe impl Sync for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5246
5247#[repr(C)]
5249#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5250pub struct DescriptorBufferInfo {
5251 pub buffer: Buffer,
5252 pub offset: DeviceSize,
5253 pub range: DeviceSize,
5254}
5255
5256#[repr(C)]
5258#[derive(Copy, Clone, Debug)]
5259pub struct DescriptorGetInfoEXT {
5260 pub s_type: StructureType,
5261 pub next: *const c_void,
5262 pub type_: DescriptorType,
5263 pub data: DescriptorDataEXT,
5264}
5265
5266impl Default for DescriptorGetInfoEXT {
5267 #[inline]
5268 fn default() -> Self {
5269 Self {
5270 s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
5271 next: ptr::null(),
5272 type_: DescriptorType::default(),
5273 data: DescriptorDataEXT::default(),
5274 }
5275 }
5276}
5277
5278unsafe impl Send for DescriptorGetInfoEXT {}
5279unsafe impl Sync for DescriptorGetInfoEXT {}
5280
5281#[repr(C)]
5283#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5284pub struct DescriptorGetTensorInfoARM {
5285 pub s_type: StructureType,
5286 pub next: *const c_void,
5287 pub tensor_view: TensorViewARM,
5288}
5289
5290impl Default for DescriptorGetTensorInfoARM {
5291 #[inline]
5292 fn default() -> Self {
5293 Self {
5294 s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
5295 next: ptr::null(),
5296 tensor_view: TensorViewARM::default(),
5297 }
5298 }
5299}
5300
5301unsafe impl Send for DescriptorGetTensorInfoARM {}
5302unsafe impl Sync for DescriptorGetTensorInfoARM {}
5303
5304#[repr(C)]
5306#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5307pub struct DescriptorImageInfo {
5308 pub sampler: Sampler,
5309 pub image_view: ImageView,
5310 pub image_layout: ImageLayout,
5311}
5312
5313#[repr(C)]
5315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5316pub struct DescriptorPoolCreateInfo {
5317 pub s_type: StructureType,
5318 pub next: *const c_void,
5319 pub flags: DescriptorPoolCreateFlags,
5320 pub max_sets: u32,
5321 pub pool_size_count: u32,
5322 pub pool_sizes: *const DescriptorPoolSize,
5323}
5324
5325impl Default for DescriptorPoolCreateInfo {
5326 #[inline]
5327 fn default() -> Self {
5328 Self {
5329 s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
5330 next: ptr::null(),
5331 flags: DescriptorPoolCreateFlags::default(),
5332 max_sets: u32::default(),
5333 pool_size_count: u32::default(),
5334 pool_sizes: ptr::null(),
5335 }
5336 }
5337}
5338
5339unsafe impl Send for DescriptorPoolCreateInfo {}
5340unsafe impl Sync for DescriptorPoolCreateInfo {}
5341
5342#[repr(C)]
5344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5345pub struct DescriptorPoolInlineUniformBlockCreateInfo {
5346 pub s_type: StructureType,
5347 pub next: *const c_void,
5348 pub max_inline_uniform_block_bindings: u32,
5349}
5350
5351impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
5352 #[inline]
5353 fn default() -> Self {
5354 Self {
5355 s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
5356 next: ptr::null(),
5357 max_inline_uniform_block_bindings: u32::default(),
5358 }
5359 }
5360}
5361
5362unsafe impl Send for DescriptorPoolInlineUniformBlockCreateInfo {}
5363unsafe impl Sync for DescriptorPoolInlineUniformBlockCreateInfo {}
5364
5365#[repr(C)]
5367#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5368pub struct DescriptorPoolSize {
5369 pub type_: DescriptorType,
5370 pub descriptor_count: u32,
5371}
5372
5373#[repr(C)]
5375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5376pub struct DescriptorSetAllocateInfo {
5377 pub s_type: StructureType,
5378 pub next: *const c_void,
5379 pub descriptor_pool: DescriptorPool,
5380 pub descriptor_set_count: u32,
5381 pub set_layouts: *const DescriptorSetLayout,
5382}
5383
5384impl Default for DescriptorSetAllocateInfo {
5385 #[inline]
5386 fn default() -> Self {
5387 Self {
5388 s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
5389 next: ptr::null(),
5390 descriptor_pool: DescriptorPool::default(),
5391 descriptor_set_count: u32::default(),
5392 set_layouts: ptr::null(),
5393 }
5394 }
5395}
5396
5397unsafe impl Send for DescriptorSetAllocateInfo {}
5398unsafe impl Sync for DescriptorSetAllocateInfo {}
5399
5400#[repr(C)]
5402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5403pub struct DescriptorSetBindingReferenceVALVE {
5404 pub s_type: StructureType,
5405 pub next: *const c_void,
5406 pub descriptor_set_layout: DescriptorSetLayout,
5407 pub binding: u32,
5408}
5409
5410impl Default for DescriptorSetBindingReferenceVALVE {
5411 #[inline]
5412 fn default() -> Self {
5413 Self {
5414 s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
5415 next: ptr::null(),
5416 descriptor_set_layout: DescriptorSetLayout::default(),
5417 binding: u32::default(),
5418 }
5419 }
5420}
5421
5422unsafe impl Send for DescriptorSetBindingReferenceVALVE {}
5423unsafe impl Sync for DescriptorSetBindingReferenceVALVE {}
5424
5425#[repr(C)]
5427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5428pub struct DescriptorSetLayoutBinding {
5429 pub binding: u32,
5430 pub descriptor_type: DescriptorType,
5431 pub descriptor_count: u32,
5432 pub stage_flags: ShaderStageFlags,
5433 pub immutable_samplers: *const Sampler,
5434}
5435
5436impl Default for DescriptorSetLayoutBinding {
5437 #[inline]
5438 fn default() -> Self {
5439 Self {
5440 binding: u32::default(),
5441 descriptor_type: DescriptorType::default(),
5442 descriptor_count: u32::default(),
5443 stage_flags: ShaderStageFlags::default(),
5444 immutable_samplers: ptr::null(),
5445 }
5446 }
5447}
5448
5449unsafe impl Send for DescriptorSetLayoutBinding {}
5450unsafe impl Sync for DescriptorSetLayoutBinding {}
5451
5452#[repr(C)]
5454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5455pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
5456 pub s_type: StructureType,
5457 pub next: *const c_void,
5458 pub binding_count: u32,
5459 pub binding_flags: *const DescriptorBindingFlags,
5460}
5461
5462impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
5463 #[inline]
5464 fn default() -> Self {
5465 Self {
5466 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
5467 next: ptr::null(),
5468 binding_count: u32::default(),
5469 binding_flags: ptr::null(),
5470 }
5471 }
5472}
5473
5474unsafe impl Send for DescriptorSetLayoutBindingFlagsCreateInfo {}
5475unsafe impl Sync for DescriptorSetLayoutBindingFlagsCreateInfo {}
5476
5477#[repr(C)]
5479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5480pub struct DescriptorSetLayoutCreateInfo {
5481 pub s_type: StructureType,
5482 pub next: *const c_void,
5483 pub flags: DescriptorSetLayoutCreateFlags,
5484 pub binding_count: u32,
5485 pub bindings: *const DescriptorSetLayoutBinding,
5486}
5487
5488impl Default for DescriptorSetLayoutCreateInfo {
5489 #[inline]
5490 fn default() -> Self {
5491 Self {
5492 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
5493 next: ptr::null(),
5494 flags: DescriptorSetLayoutCreateFlags::default(),
5495 binding_count: u32::default(),
5496 bindings: ptr::null(),
5497 }
5498 }
5499}
5500
5501unsafe impl Send for DescriptorSetLayoutCreateInfo {}
5502unsafe impl Sync for DescriptorSetLayoutCreateInfo {}
5503
5504#[repr(C)]
5506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5507pub struct DescriptorSetLayoutHostMappingInfoVALVE {
5508 pub s_type: StructureType,
5509 pub next: *mut c_void,
5510 pub descriptor_offset: usize,
5511 pub descriptor_size: u32,
5512}
5513
5514impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
5515 #[inline]
5516 fn default() -> Self {
5517 Self {
5518 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
5519 next: ptr::null_mut(),
5520 descriptor_offset: usize::default(),
5521 descriptor_size: u32::default(),
5522 }
5523 }
5524}
5525
5526unsafe impl Send for DescriptorSetLayoutHostMappingInfoVALVE {}
5527unsafe impl Sync for DescriptorSetLayoutHostMappingInfoVALVE {}
5528
5529#[repr(C)]
5531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5532pub struct DescriptorSetLayoutSupport {
5533 pub s_type: StructureType,
5534 pub next: *mut c_void,
5535 pub supported: Bool32,
5536}
5537
5538impl Default for DescriptorSetLayoutSupport {
5539 #[inline]
5540 fn default() -> Self {
5541 Self {
5542 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
5543 next: ptr::null_mut(),
5544 supported: Bool32::default(),
5545 }
5546 }
5547}
5548
5549unsafe impl Send for DescriptorSetLayoutSupport {}
5550unsafe impl Sync for DescriptorSetLayoutSupport {}
5551
5552#[repr(C)]
5554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5555pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
5556 pub s_type: StructureType,
5557 pub next: *const c_void,
5558 pub descriptor_set_count: u32,
5559 pub descriptor_counts: *const u32,
5560}
5561
5562impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
5563 #[inline]
5564 fn default() -> Self {
5565 Self {
5566 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
5567 next: ptr::null(),
5568 descriptor_set_count: u32::default(),
5569 descriptor_counts: ptr::null(),
5570 }
5571 }
5572}
5573
5574unsafe impl Send for DescriptorSetVariableDescriptorCountAllocateInfo {}
5575unsafe impl Sync for DescriptorSetVariableDescriptorCountAllocateInfo {}
5576
5577#[repr(C)]
5579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5580pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
5581 pub s_type: StructureType,
5582 pub next: *mut c_void,
5583 pub max_variable_descriptor_count: u32,
5584}
5585
5586impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
5587 #[inline]
5588 fn default() -> Self {
5589 Self {
5590 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
5591 next: ptr::null_mut(),
5592 max_variable_descriptor_count: u32::default(),
5593 }
5594 }
5595}
5596
5597unsafe impl Send for DescriptorSetVariableDescriptorCountLayoutSupport {}
5598unsafe impl Sync for DescriptorSetVariableDescriptorCountLayoutSupport {}
5599
5600#[repr(C)]
5602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5603pub struct DescriptorUpdateTemplateCreateInfo {
5604 pub s_type: StructureType,
5605 pub next: *const c_void,
5606 pub flags: DescriptorUpdateTemplateCreateFlags,
5607 pub descriptor_update_entry_count: u32,
5608 pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
5609 pub template_type: DescriptorUpdateTemplateType,
5610 pub descriptor_set_layout: DescriptorSetLayout,
5611 pub pipeline_bind_point: PipelineBindPoint,
5612 pub pipeline_layout: PipelineLayout,
5613 pub set: u32,
5614}
5615
5616impl Default for DescriptorUpdateTemplateCreateInfo {
5617 #[inline]
5618 fn default() -> Self {
5619 Self {
5620 s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
5621 next: ptr::null(),
5622 flags: DescriptorUpdateTemplateCreateFlags::default(),
5623 descriptor_update_entry_count: u32::default(),
5624 descriptor_update_entries: ptr::null(),
5625 template_type: DescriptorUpdateTemplateType::default(),
5626 descriptor_set_layout: DescriptorSetLayout::default(),
5627 pipeline_bind_point: PipelineBindPoint::default(),
5628 pipeline_layout: PipelineLayout::default(),
5629 set: u32::default(),
5630 }
5631 }
5632}
5633
5634unsafe impl Send for DescriptorUpdateTemplateCreateInfo {}
5635unsafe impl Sync for DescriptorUpdateTemplateCreateInfo {}
5636
5637#[repr(C)]
5639#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5640pub struct DescriptorUpdateTemplateEntry {
5641 pub dst_binding: u32,
5642 pub dst_array_element: u32,
5643 pub descriptor_count: u32,
5644 pub descriptor_type: DescriptorType,
5645 pub offset: usize,
5646 pub stride: usize,
5647}
5648
5649#[repr(C)]
5651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5652pub struct DeviceAddressBindingCallbackDataEXT {
5653 pub s_type: StructureType,
5654 pub next: *mut c_void,
5655 pub flags: DeviceAddressBindingFlagsEXT,
5656 pub base_address: DeviceAddress,
5657 pub size: DeviceSize,
5658 pub binding_type: DeviceAddressBindingTypeEXT,
5659}
5660
5661impl Default for DeviceAddressBindingCallbackDataEXT {
5662 #[inline]
5663 fn default() -> Self {
5664 Self {
5665 s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
5666 next: ptr::null_mut(),
5667 flags: DeviceAddressBindingFlagsEXT::default(),
5668 base_address: DeviceAddress::default(),
5669 size: DeviceSize::default(),
5670 binding_type: DeviceAddressBindingTypeEXT::default(),
5671 }
5672 }
5673}
5674
5675unsafe impl Send for DeviceAddressBindingCallbackDataEXT {}
5676unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {}
5677
5678#[repr(C)]
5680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5681pub struct DeviceBufferMemoryRequirements {
5682 pub s_type: StructureType,
5683 pub next: *const c_void,
5684 pub create_info: *const BufferCreateInfo,
5685}
5686
5687impl Default for DeviceBufferMemoryRequirements {
5688 #[inline]
5689 fn default() -> Self {
5690 Self {
5691 s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
5692 next: ptr::null(),
5693 create_info: ptr::null(),
5694 }
5695 }
5696}
5697
5698unsafe impl Send for DeviceBufferMemoryRequirements {}
5699unsafe impl Sync for DeviceBufferMemoryRequirements {}
5700
5701#[repr(C)]
5703#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5704pub struct DeviceCreateInfo {
5705 pub s_type: StructureType,
5706 pub next: *const c_void,
5707 pub flags: DeviceCreateFlags,
5708 pub queue_create_info_count: u32,
5709 pub queue_create_infos: *const DeviceQueueCreateInfo,
5710 pub enabled_layer_count: u32,
5711 pub enabled_layer_names: *const *const c_char,
5712 pub enabled_extension_count: u32,
5713 pub enabled_extension_names: *const *const c_char,
5714 pub enabled_features: *const PhysicalDeviceFeatures,
5715}
5716
5717impl Default for DeviceCreateInfo {
5718 #[inline]
5719 fn default() -> Self {
5720 Self {
5721 s_type: StructureType::DEVICE_CREATE_INFO,
5722 next: ptr::null(),
5723 flags: DeviceCreateFlags::default(),
5724 queue_create_info_count: u32::default(),
5725 queue_create_infos: ptr::null(),
5726 enabled_layer_count: u32::default(),
5727 enabled_layer_names: ptr::null(),
5728 enabled_extension_count: u32::default(),
5729 enabled_extension_names: ptr::null(),
5730 enabled_features: ptr::null(),
5731 }
5732 }
5733}
5734
5735unsafe impl Send for DeviceCreateInfo {}
5736unsafe impl Sync for DeviceCreateInfo {}
5737
5738#[repr(C)]
5740#[derive(Copy, Clone)]
5741pub struct DeviceDeviceMemoryReportCreateInfoEXT {
5742 pub s_type: StructureType,
5743 pub next: *const c_void,
5744 pub flags: DeviceMemoryReportFlagsEXT,
5745 pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
5746 pub user_data: *mut c_void,
5747}
5748
5749impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
5750 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5751 f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
5752 .field("s_type", &self.s_type)
5753 .field("next", &self.next)
5754 .field("flags", &self.flags)
5755 .field(
5756 "user_callback",
5757 &(self.user_callback.map(|f| f as *const u8)),
5758 )
5759 .field("user_data", &self.user_data)
5760 .finish()
5761 }
5762}
5763
5764impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
5765 #[inline]
5766 fn default() -> Self {
5767 Self {
5768 s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
5769 next: ptr::null(),
5770 flags: DeviceMemoryReportFlagsEXT::default(),
5771 user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
5772 user_data: ptr::null_mut(),
5773 }
5774 }
5775}
5776
5777unsafe impl Send for DeviceDeviceMemoryReportCreateInfoEXT {}
5778unsafe impl Sync for DeviceDeviceMemoryReportCreateInfoEXT {}
5779
5780#[repr(C)]
5782#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5783pub struct DeviceDiagnosticsConfigCreateInfoNV {
5784 pub s_type: StructureType,
5785 pub next: *const c_void,
5786 pub flags: DeviceDiagnosticsConfigFlagsNV,
5787}
5788
5789impl Default for DeviceDiagnosticsConfigCreateInfoNV {
5790 #[inline]
5791 fn default() -> Self {
5792 Self {
5793 s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
5794 next: ptr::null(),
5795 flags: DeviceDiagnosticsConfigFlagsNV::default(),
5796 }
5797 }
5798}
5799
5800unsafe impl Send for DeviceDiagnosticsConfigCreateInfoNV {}
5801unsafe impl Sync for DeviceDiagnosticsConfigCreateInfoNV {}
5802
5803#[repr(C)]
5805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5806pub struct DeviceEventInfoEXT {
5807 pub s_type: StructureType,
5808 pub next: *const c_void,
5809 pub device_event: DeviceEventTypeEXT,
5810}
5811
5812impl Default for DeviceEventInfoEXT {
5813 #[inline]
5814 fn default() -> Self {
5815 Self {
5816 s_type: StructureType::DEVICE_EVENT_INFO_EXT,
5817 next: ptr::null(),
5818 device_event: DeviceEventTypeEXT::default(),
5819 }
5820 }
5821}
5822
5823unsafe impl Send for DeviceEventInfoEXT {}
5824unsafe impl Sync for DeviceEventInfoEXT {}
5825
5826#[repr(C)]
5828#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5829pub struct DeviceFaultAddressInfoEXT {
5830 pub address_type: DeviceFaultAddressTypeEXT,
5831 pub reported_address: DeviceAddress,
5832 pub address_precision: DeviceSize,
5833}
5834
5835#[repr(C)]
5837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5838pub struct DeviceFaultCountsEXT {
5839 pub s_type: StructureType,
5840 pub next: *mut c_void,
5841 pub address_info_count: u32,
5842 pub vendor_info_count: u32,
5843 pub vendor_binary_size: DeviceSize,
5844}
5845
5846impl Default for DeviceFaultCountsEXT {
5847 #[inline]
5848 fn default() -> Self {
5849 Self {
5850 s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
5851 next: ptr::null_mut(),
5852 address_info_count: u32::default(),
5853 vendor_info_count: u32::default(),
5854 vendor_binary_size: DeviceSize::default(),
5855 }
5856 }
5857}
5858
5859unsafe impl Send for DeviceFaultCountsEXT {}
5860unsafe impl Sync for DeviceFaultCountsEXT {}
5861
5862#[repr(C)]
5864#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5865pub struct DeviceFaultInfoEXT {
5866 pub s_type: StructureType,
5867 pub next: *mut c_void,
5868 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5869 pub address_infos: *mut DeviceFaultAddressInfoEXT,
5870 pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
5871 pub vendor_binary_data: *mut c_void,
5872}
5873
5874impl Default for DeviceFaultInfoEXT {
5875 #[inline]
5876 fn default() -> Self {
5877 Self {
5878 s_type: StructureType::DEVICE_FAULT_INFO_EXT,
5879 next: ptr::null_mut(),
5880 description: StringArray::default(),
5881 address_infos: ptr::null_mut(),
5882 vendor_infos: ptr::null_mut(),
5883 vendor_binary_data: ptr::null_mut(),
5884 }
5885 }
5886}
5887
5888unsafe impl Send for DeviceFaultInfoEXT {}
5889unsafe impl Sync for DeviceFaultInfoEXT {}
5890
5891#[repr(C)]
5893#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5894pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
5895 pub header_size: u32,
5896 pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
5897 pub vendor_id: u32,
5898 pub device_id: u32,
5899 pub driver_version: u32,
5900 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
5901 pub application_name_offset: u32,
5902 pub application_version: u32,
5903 pub engine_name_offset: u32,
5904 pub engine_version: u32,
5905 pub api_version: u32,
5906}
5907
5908#[repr(C)]
5910#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5911pub struct DeviceFaultVendorInfoEXT {
5912 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5913 pub vendor_fault_code: u64,
5914 pub vendor_fault_data: u64,
5915}
5916
5917#[repr(C)]
5919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5920pub struct DeviceGroupBindSparseInfo {
5921 pub s_type: StructureType,
5922 pub next: *const c_void,
5923 pub resource_device_index: u32,
5924 pub memory_device_index: u32,
5925}
5926
5927impl Default for DeviceGroupBindSparseInfo {
5928 #[inline]
5929 fn default() -> Self {
5930 Self {
5931 s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
5932 next: ptr::null(),
5933 resource_device_index: u32::default(),
5934 memory_device_index: u32::default(),
5935 }
5936 }
5937}
5938
5939unsafe impl Send for DeviceGroupBindSparseInfo {}
5940unsafe impl Sync for DeviceGroupBindSparseInfo {}
5941
5942#[repr(C)]
5944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5945pub struct DeviceGroupCommandBufferBeginInfo {
5946 pub s_type: StructureType,
5947 pub next: *const c_void,
5948 pub device_mask: u32,
5949}
5950
5951impl Default for DeviceGroupCommandBufferBeginInfo {
5952 #[inline]
5953 fn default() -> Self {
5954 Self {
5955 s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
5956 next: ptr::null(),
5957 device_mask: u32::default(),
5958 }
5959 }
5960}
5961
5962unsafe impl Send for DeviceGroupCommandBufferBeginInfo {}
5963unsafe impl Sync for DeviceGroupCommandBufferBeginInfo {}
5964
5965#[repr(C)]
5967#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5968pub struct DeviceGroupDeviceCreateInfo {
5969 pub s_type: StructureType,
5970 pub next: *const c_void,
5971 pub physical_device_count: u32,
5972 pub physical_devices: *const PhysicalDevice,
5973}
5974
5975impl Default for DeviceGroupDeviceCreateInfo {
5976 #[inline]
5977 fn default() -> Self {
5978 Self {
5979 s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
5980 next: ptr::null(),
5981 physical_device_count: u32::default(),
5982 physical_devices: ptr::null(),
5983 }
5984 }
5985}
5986
5987unsafe impl Send for DeviceGroupDeviceCreateInfo {}
5988unsafe impl Sync for DeviceGroupDeviceCreateInfo {}
5989
5990#[repr(C)]
5992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5993pub struct DeviceGroupPresentCapabilitiesKHR {
5994 pub s_type: StructureType,
5995 pub next: *mut c_void,
5996 pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE as usize],
5997 pub modes: DeviceGroupPresentModeFlagsKHR,
5998}
5999
6000impl Default for DeviceGroupPresentCapabilitiesKHR {
6001 #[inline]
6002 fn default() -> Self {
6003 Self {
6004 s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
6005 next: ptr::null_mut(),
6006 present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
6007 modes: DeviceGroupPresentModeFlagsKHR::default(),
6008 }
6009 }
6010}
6011
6012unsafe impl Send for DeviceGroupPresentCapabilitiesKHR {}
6013unsafe impl Sync for DeviceGroupPresentCapabilitiesKHR {}
6014
6015#[repr(C)]
6017#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6018pub struct DeviceGroupPresentInfoKHR {
6019 pub s_type: StructureType,
6020 pub next: *const c_void,
6021 pub swapchain_count: u32,
6022 pub device_masks: *const u32,
6023 pub mode: DeviceGroupPresentModeFlagsKHR,
6024}
6025
6026impl Default for DeviceGroupPresentInfoKHR {
6027 #[inline]
6028 fn default() -> Self {
6029 Self {
6030 s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
6031 next: ptr::null(),
6032 swapchain_count: u32::default(),
6033 device_masks: ptr::null(),
6034 mode: DeviceGroupPresentModeFlagsKHR::default(),
6035 }
6036 }
6037}
6038
6039unsafe impl Send for DeviceGroupPresentInfoKHR {}
6040unsafe impl Sync for DeviceGroupPresentInfoKHR {}
6041
6042#[repr(C)]
6044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6045pub struct DeviceGroupRenderPassBeginInfo {
6046 pub s_type: StructureType,
6047 pub next: *const c_void,
6048 pub device_mask: u32,
6049 pub device_render_area_count: u32,
6050 pub device_render_areas: *const Rect2D,
6051}
6052
6053impl Default for DeviceGroupRenderPassBeginInfo {
6054 #[inline]
6055 fn default() -> Self {
6056 Self {
6057 s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
6058 next: ptr::null(),
6059 device_mask: u32::default(),
6060 device_render_area_count: u32::default(),
6061 device_render_areas: ptr::null(),
6062 }
6063 }
6064}
6065
6066unsafe impl Send for DeviceGroupRenderPassBeginInfo {}
6067unsafe impl Sync for DeviceGroupRenderPassBeginInfo {}
6068
6069#[repr(C)]
6071#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6072pub struct DeviceGroupSubmitInfo {
6073 pub s_type: StructureType,
6074 pub next: *const c_void,
6075 pub wait_semaphore_count: u32,
6076 pub wait_semaphore_device_indices: *const u32,
6077 pub command_buffer_count: u32,
6078 pub command_buffer_device_masks: *const u32,
6079 pub signal_semaphore_count: u32,
6080 pub signal_semaphore_device_indices: *const u32,
6081}
6082
6083impl Default for DeviceGroupSubmitInfo {
6084 #[inline]
6085 fn default() -> Self {
6086 Self {
6087 s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
6088 next: ptr::null(),
6089 wait_semaphore_count: u32::default(),
6090 wait_semaphore_device_indices: ptr::null(),
6091 command_buffer_count: u32::default(),
6092 command_buffer_device_masks: ptr::null(),
6093 signal_semaphore_count: u32::default(),
6094 signal_semaphore_device_indices: ptr::null(),
6095 }
6096 }
6097}
6098
6099unsafe impl Send for DeviceGroupSubmitInfo {}
6100unsafe impl Sync for DeviceGroupSubmitInfo {}
6101
6102#[repr(C)]
6104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6105pub struct DeviceGroupSwapchainCreateInfoKHR {
6106 pub s_type: StructureType,
6107 pub next: *const c_void,
6108 pub modes: DeviceGroupPresentModeFlagsKHR,
6109}
6110
6111impl Default for DeviceGroupSwapchainCreateInfoKHR {
6112 #[inline]
6113 fn default() -> Self {
6114 Self {
6115 s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
6116 next: ptr::null(),
6117 modes: DeviceGroupPresentModeFlagsKHR::default(),
6118 }
6119 }
6120}
6121
6122unsafe impl Send for DeviceGroupSwapchainCreateInfoKHR {}
6123unsafe impl Sync for DeviceGroupSwapchainCreateInfoKHR {}
6124
6125#[repr(C)]
6127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6128pub struct DeviceImageMemoryRequirements {
6129 pub s_type: StructureType,
6130 pub next: *const c_void,
6131 pub create_info: *const ImageCreateInfo,
6132 pub plane_aspect: ImageAspectFlags,
6133}
6134
6135impl Default for DeviceImageMemoryRequirements {
6136 #[inline]
6137 fn default() -> Self {
6138 Self {
6139 s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
6140 next: ptr::null(),
6141 create_info: ptr::null(),
6142 plane_aspect: ImageAspectFlags::default(),
6143 }
6144 }
6145}
6146
6147unsafe impl Send for DeviceImageMemoryRequirements {}
6148unsafe impl Sync for DeviceImageMemoryRequirements {}
6149
6150#[repr(C)]
6152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6153pub struct DeviceImageSubresourceInfo {
6154 pub s_type: StructureType,
6155 pub next: *const c_void,
6156 pub create_info: *const ImageCreateInfo,
6157 pub subresource: *const ImageSubresource2,
6158}
6159
6160impl Default for DeviceImageSubresourceInfo {
6161 #[inline]
6162 fn default() -> Self {
6163 Self {
6164 s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
6165 next: ptr::null(),
6166 create_info: ptr::null(),
6167 subresource: ptr::null(),
6168 }
6169 }
6170}
6171
6172unsafe impl Send for DeviceImageSubresourceInfo {}
6173unsafe impl Sync for DeviceImageSubresourceInfo {}
6174
6175#[repr(C)]
6177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6178pub struct DeviceMemoryOpaqueCaptureAddressInfo {
6179 pub s_type: StructureType,
6180 pub next: *const c_void,
6181 pub memory: DeviceMemory,
6182}
6183
6184impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
6185 #[inline]
6186 fn default() -> Self {
6187 Self {
6188 s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
6189 next: ptr::null(),
6190 memory: DeviceMemory::default(),
6191 }
6192 }
6193}
6194
6195unsafe impl Send for DeviceMemoryOpaqueCaptureAddressInfo {}
6196unsafe impl Sync for DeviceMemoryOpaqueCaptureAddressInfo {}
6197
6198#[repr(C)]
6200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6201pub struct DeviceMemoryOverallocationCreateInfoAMD {
6202 pub s_type: StructureType,
6203 pub next: *const c_void,
6204 pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
6205}
6206
6207impl Default for DeviceMemoryOverallocationCreateInfoAMD {
6208 #[inline]
6209 fn default() -> Self {
6210 Self {
6211 s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
6212 next: ptr::null(),
6213 overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
6214 }
6215 }
6216}
6217
6218unsafe impl Send for DeviceMemoryOverallocationCreateInfoAMD {}
6219unsafe impl Sync for DeviceMemoryOverallocationCreateInfoAMD {}
6220
6221#[repr(C)]
6223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6224pub struct DeviceMemoryReportCallbackDataEXT {
6225 pub s_type: StructureType,
6226 pub next: *mut c_void,
6227 pub flags: DeviceMemoryReportFlagsEXT,
6228 pub type_: DeviceMemoryReportEventTypeEXT,
6229 pub memory_object_id: u64,
6230 pub size: DeviceSize,
6231 pub object_type: ObjectType,
6232 pub object_handle: u64,
6233 pub heap_index: u32,
6234}
6235
6236impl Default for DeviceMemoryReportCallbackDataEXT {
6237 #[inline]
6238 fn default() -> Self {
6239 Self {
6240 s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
6241 next: ptr::null_mut(),
6242 flags: DeviceMemoryReportFlagsEXT::default(),
6243 type_: DeviceMemoryReportEventTypeEXT::default(),
6244 memory_object_id: u64::default(),
6245 size: DeviceSize::default(),
6246 object_type: ObjectType::default(),
6247 object_handle: u64::default(),
6248 heap_index: u32::default(),
6249 }
6250 }
6251}
6252
6253unsafe impl Send for DeviceMemoryReportCallbackDataEXT {}
6254unsafe impl Sync for DeviceMemoryReportCallbackDataEXT {}
6255
6256#[repr(C)]
6258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6259pub struct DevicePipelineBinaryInternalCacheControlKHR {
6260 pub s_type: StructureType,
6261 pub next: *const c_void,
6262 pub disable_internal_cache: Bool32,
6263}
6264
6265impl Default for DevicePipelineBinaryInternalCacheControlKHR {
6266 #[inline]
6267 fn default() -> Self {
6268 Self {
6269 s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
6270 next: ptr::null(),
6271 disable_internal_cache: Bool32::default(),
6272 }
6273 }
6274}
6275
6276unsafe impl Send for DevicePipelineBinaryInternalCacheControlKHR {}
6277unsafe impl Sync for DevicePipelineBinaryInternalCacheControlKHR {}
6278
6279#[repr(C)]
6281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6282pub struct DevicePrivateDataCreateInfo {
6283 pub s_type: StructureType,
6284 pub next: *const c_void,
6285 pub private_data_slot_request_count: u32,
6286}
6287
6288impl Default for DevicePrivateDataCreateInfo {
6289 #[inline]
6290 fn default() -> Self {
6291 Self {
6292 s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
6293 next: ptr::null(),
6294 private_data_slot_request_count: u32::default(),
6295 }
6296 }
6297}
6298
6299unsafe impl Send for DevicePrivateDataCreateInfo {}
6300unsafe impl Sync for DevicePrivateDataCreateInfo {}
6301
6302#[repr(C)]
6304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6305pub struct DeviceQueueCreateInfo {
6306 pub s_type: StructureType,
6307 pub next: *const c_void,
6308 pub flags: DeviceQueueCreateFlags,
6309 pub queue_family_index: u32,
6310 pub queue_count: u32,
6311 pub queue_priorities: *const f32,
6312}
6313
6314impl Default for DeviceQueueCreateInfo {
6315 #[inline]
6316 fn default() -> Self {
6317 Self {
6318 s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
6319 next: ptr::null(),
6320 flags: DeviceQueueCreateFlags::default(),
6321 queue_family_index: u32::default(),
6322 queue_count: u32::default(),
6323 queue_priorities: ptr::null(),
6324 }
6325 }
6326}
6327
6328unsafe impl Send for DeviceQueueCreateInfo {}
6329unsafe impl Sync for DeviceQueueCreateInfo {}
6330
6331#[repr(C)]
6333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6334pub struct DeviceQueueGlobalPriorityCreateInfo {
6335 pub s_type: StructureType,
6336 pub next: *const c_void,
6337 pub global_priority: QueueGlobalPriority,
6338}
6339
6340impl Default for DeviceQueueGlobalPriorityCreateInfo {
6341 #[inline]
6342 fn default() -> Self {
6343 Self {
6344 s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
6345 next: ptr::null(),
6346 global_priority: QueueGlobalPriority::default(),
6347 }
6348 }
6349}
6350
6351unsafe impl Send for DeviceQueueGlobalPriorityCreateInfo {}
6352unsafe impl Sync for DeviceQueueGlobalPriorityCreateInfo {}
6353
6354#[repr(C)]
6356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6357pub struct DeviceQueueInfo2 {
6358 pub s_type: StructureType,
6359 pub next: *const c_void,
6360 pub flags: DeviceQueueCreateFlags,
6361 pub queue_family_index: u32,
6362 pub queue_index: u32,
6363}
6364
6365impl Default for DeviceQueueInfo2 {
6366 #[inline]
6367 fn default() -> Self {
6368 Self {
6369 s_type: StructureType::DEVICE_QUEUE_INFO_2,
6370 next: ptr::null(),
6371 flags: DeviceQueueCreateFlags::default(),
6372 queue_family_index: u32::default(),
6373 queue_index: u32::default(),
6374 }
6375 }
6376}
6377
6378unsafe impl Send for DeviceQueueInfo2 {}
6379unsafe impl Sync for DeviceQueueInfo2 {}
6380
6381#[repr(C)]
6383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6384pub struct DeviceQueueShaderCoreControlCreateInfoARM {
6385 pub s_type: StructureType,
6386 pub next: *mut c_void,
6387 pub shader_core_count: u32,
6388}
6389
6390impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
6391 #[inline]
6392 fn default() -> Self {
6393 Self {
6394 s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
6395 next: ptr::null_mut(),
6396 shader_core_count: u32::default(),
6397 }
6398 }
6399}
6400
6401unsafe impl Send for DeviceQueueShaderCoreControlCreateInfoARM {}
6402unsafe impl Sync for DeviceQueueShaderCoreControlCreateInfoARM {}
6403
6404#[repr(C)]
6406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6407pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6408 pub s_type: StructureType,
6409 pub next: *const c_void,
6410 pub semaphore_sci_sync_pool_request_count: u32,
6411}
6412
6413impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6414 #[inline]
6415 fn default() -> Self {
6416 Self {
6417 s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
6418 next: ptr::null(),
6419 semaphore_sci_sync_pool_request_count: u32::default(),
6420 }
6421 }
6422}
6423
6424unsafe impl Send for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6425unsafe impl Sync for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6426
6427#[repr(C)]
6429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6430pub struct DeviceTensorMemoryRequirementsARM {
6431 pub s_type: StructureType,
6432 pub next: *const c_void,
6433 pub create_info: *const TensorCreateInfoARM,
6434}
6435
6436impl Default for DeviceTensorMemoryRequirementsARM {
6437 #[inline]
6438 fn default() -> Self {
6439 Self {
6440 s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
6441 next: ptr::null(),
6442 create_info: ptr::null(),
6443 }
6444 }
6445}
6446
6447unsafe impl Send for DeviceTensorMemoryRequirementsARM {}
6448unsafe impl Sync for DeviceTensorMemoryRequirementsARM {}
6449
6450#[repr(C)]
6452#[derive(Copy, Clone)]
6453pub struct DirectDriverLoadingInfoLUNARG {
6454 pub s_type: StructureType,
6455 pub next: *mut c_void,
6456 pub flags: DirectDriverLoadingFlagsLUNARG,
6457 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
6458}
6459
6460impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
6461 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6462 f.debug_struct("DirectDriverLoadingInfoLUNARG")
6463 .field("s_type", &self.s_type)
6464 .field("next", &self.next)
6465 .field("flags", &self.flags)
6466 .field(
6467 "get_instance_proc_addr",
6468 &(self.get_instance_proc_addr.map(|f| f as *const u8)),
6469 )
6470 .finish()
6471 }
6472}
6473
6474impl Default for DirectDriverLoadingInfoLUNARG {
6475 #[inline]
6476 fn default() -> Self {
6477 Self {
6478 s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
6479 next: ptr::null_mut(),
6480 flags: DirectDriverLoadingFlagsLUNARG::default(),
6481 get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
6482 }
6483 }
6484}
6485
6486unsafe impl Send for DirectDriverLoadingInfoLUNARG {}
6487unsafe impl Sync for DirectDriverLoadingInfoLUNARG {}
6488
6489#[repr(C)]
6491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6492pub struct DirectDriverLoadingListLUNARG {
6493 pub s_type: StructureType,
6494 pub next: *const c_void,
6495 pub mode: DirectDriverLoadingModeLUNARG,
6496 pub driver_count: u32,
6497 pub drivers: *const DirectDriverLoadingInfoLUNARG,
6498}
6499
6500impl Default for DirectDriverLoadingListLUNARG {
6501 #[inline]
6502 fn default() -> Self {
6503 Self {
6504 s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
6505 next: ptr::null(),
6506 mode: DirectDriverLoadingModeLUNARG::default(),
6507 driver_count: u32::default(),
6508 drivers: ptr::null(),
6509 }
6510 }
6511}
6512
6513unsafe impl Send for DirectDriverLoadingListLUNARG {}
6514unsafe impl Sync for DirectDriverLoadingListLUNARG {}
6515
6516#[repr(C)]
6518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6519pub struct DirectFBSurfaceCreateInfoEXT {
6520 pub s_type: StructureType,
6521 pub next: *const c_void,
6522 pub flags: DirectFBSurfaceCreateFlagsEXT,
6523 pub dfb: *mut IDirectFB,
6524 pub surface: *mut IDirectFBSurface,
6525}
6526
6527impl Default for DirectFBSurfaceCreateInfoEXT {
6528 #[inline]
6529 fn default() -> Self {
6530 Self {
6531 s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
6532 next: ptr::null(),
6533 flags: DirectFBSurfaceCreateFlagsEXT::default(),
6534 dfb: ptr::null_mut(),
6535 surface: ptr::null_mut(),
6536 }
6537 }
6538}
6539
6540unsafe impl Send for DirectFBSurfaceCreateInfoEXT {}
6541unsafe impl Sync for DirectFBSurfaceCreateInfoEXT {}
6542
6543#[repr(C)]
6545#[derive(Copy, Clone, Default, Debug)]
6546pub struct DispatchGraphCountInfoAMDX {
6547 pub count: u32,
6548 pub infos: DeviceOrHostAddressConstAMDX,
6549 pub stride: u64,
6550}
6551
6552#[repr(C)]
6554#[derive(Copy, Clone, Default, Debug)]
6555pub struct DispatchGraphInfoAMDX {
6556 pub node_index: u32,
6557 pub payload_count: u32,
6558 pub payloads: DeviceOrHostAddressConstAMDX,
6559 pub payload_stride: u64,
6560}
6561
6562#[repr(C)]
6564#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6565pub struct DispatchIndirectCommand {
6566 pub x: u32,
6567 pub y: u32,
6568 pub z: u32,
6569}
6570
6571#[repr(C)]
6573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6574pub struct DispatchTileInfoQCOM {
6575 pub s_type: StructureType,
6576 pub next: *const c_void,
6577}
6578
6579impl Default for DispatchTileInfoQCOM {
6580 #[inline]
6581 fn default() -> Self {
6582 Self {
6583 s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
6584 next: ptr::null(),
6585 }
6586 }
6587}
6588
6589unsafe impl Send for DispatchTileInfoQCOM {}
6590unsafe impl Sync for DispatchTileInfoQCOM {}
6591
6592#[repr(C)]
6594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6595pub struct DisplayEventInfoEXT {
6596 pub s_type: StructureType,
6597 pub next: *const c_void,
6598 pub display_event: DisplayEventTypeEXT,
6599}
6600
6601impl Default for DisplayEventInfoEXT {
6602 #[inline]
6603 fn default() -> Self {
6604 Self {
6605 s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
6606 next: ptr::null(),
6607 display_event: DisplayEventTypeEXT::default(),
6608 }
6609 }
6610}
6611
6612unsafe impl Send for DisplayEventInfoEXT {}
6613unsafe impl Sync for DisplayEventInfoEXT {}
6614
6615#[repr(C)]
6617#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6618pub struct DisplayModeCreateInfoKHR {
6619 pub s_type: StructureType,
6620 pub next: *const c_void,
6621 pub flags: DisplayModeCreateFlagsKHR,
6622 pub parameters: DisplayModeParametersKHR,
6623}
6624
6625impl Default for DisplayModeCreateInfoKHR {
6626 #[inline]
6627 fn default() -> Self {
6628 Self {
6629 s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
6630 next: ptr::null(),
6631 flags: DisplayModeCreateFlagsKHR::default(),
6632 parameters: DisplayModeParametersKHR::default(),
6633 }
6634 }
6635}
6636
6637unsafe impl Send for DisplayModeCreateInfoKHR {}
6638unsafe impl Sync for DisplayModeCreateInfoKHR {}
6639
6640#[repr(C)]
6642#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6643pub struct DisplayModeParametersKHR {
6644 pub visible_region: Extent2D,
6645 pub refresh_rate: u32,
6646}
6647
6648#[repr(C)]
6650#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6651pub struct DisplayModeProperties2KHR {
6652 pub s_type: StructureType,
6653 pub next: *mut c_void,
6654 pub display_mode_properties: DisplayModePropertiesKHR,
6655}
6656
6657impl Default for DisplayModeProperties2KHR {
6658 #[inline]
6659 fn default() -> Self {
6660 Self {
6661 s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
6662 next: ptr::null_mut(),
6663 display_mode_properties: DisplayModePropertiesKHR::default(),
6664 }
6665 }
6666}
6667
6668unsafe impl Send for DisplayModeProperties2KHR {}
6669unsafe impl Sync for DisplayModeProperties2KHR {}
6670
6671#[repr(C)]
6673#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6674pub struct DisplayModePropertiesKHR {
6675 pub display_mode: DisplayModeKHR,
6676 pub parameters: DisplayModeParametersKHR,
6677}
6678
6679#[repr(C)]
6681#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6682pub struct DisplayModeStereoPropertiesNV {
6683 pub s_type: StructureType,
6684 pub next: *const c_void,
6685 pub hdmi_3d_supported: Bool32,
6686}
6687
6688impl Default for DisplayModeStereoPropertiesNV {
6689 #[inline]
6690 fn default() -> Self {
6691 Self {
6692 s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
6693 next: ptr::null(),
6694 hdmi_3d_supported: Bool32::default(),
6695 }
6696 }
6697}
6698
6699unsafe impl Send for DisplayModeStereoPropertiesNV {}
6700unsafe impl Sync for DisplayModeStereoPropertiesNV {}
6701
6702#[repr(C)]
6704#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6705pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
6706 pub s_type: StructureType,
6707 pub next: *mut c_void,
6708 pub local_dimming_support: Bool32,
6709}
6710
6711impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
6712 #[inline]
6713 fn default() -> Self {
6714 Self {
6715 s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
6716 next: ptr::null_mut(),
6717 local_dimming_support: Bool32::default(),
6718 }
6719 }
6720}
6721
6722unsafe impl Send for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6723unsafe impl Sync for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6724
6725#[repr(C)]
6727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6728pub struct DisplayPlaneCapabilities2KHR {
6729 pub s_type: StructureType,
6730 pub next: *mut c_void,
6731 pub capabilities: DisplayPlaneCapabilitiesKHR,
6732}
6733
6734impl Default for DisplayPlaneCapabilities2KHR {
6735 #[inline]
6736 fn default() -> Self {
6737 Self {
6738 s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
6739 next: ptr::null_mut(),
6740 capabilities: DisplayPlaneCapabilitiesKHR::default(),
6741 }
6742 }
6743}
6744
6745unsafe impl Send for DisplayPlaneCapabilities2KHR {}
6746unsafe impl Sync for DisplayPlaneCapabilities2KHR {}
6747
6748#[repr(C)]
6750#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6751pub struct DisplayPlaneCapabilitiesKHR {
6752 pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
6753 pub min_src_position: Offset2D,
6754 pub max_src_position: Offset2D,
6755 pub min_src_extent: Extent2D,
6756 pub max_src_extent: Extent2D,
6757 pub min_dst_position: Offset2D,
6758 pub max_dst_position: Offset2D,
6759 pub min_dst_extent: Extent2D,
6760 pub max_dst_extent: Extent2D,
6761}
6762
6763#[repr(C)]
6765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6766pub struct DisplayPlaneInfo2KHR {
6767 pub s_type: StructureType,
6768 pub next: *const c_void,
6769 pub mode: DisplayModeKHR,
6770 pub plane_index: u32,
6771}
6772
6773impl Default for DisplayPlaneInfo2KHR {
6774 #[inline]
6775 fn default() -> Self {
6776 Self {
6777 s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
6778 next: ptr::null(),
6779 mode: DisplayModeKHR::default(),
6780 plane_index: u32::default(),
6781 }
6782 }
6783}
6784
6785unsafe impl Send for DisplayPlaneInfo2KHR {}
6786unsafe impl Sync for DisplayPlaneInfo2KHR {}
6787
6788#[repr(C)]
6790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6791pub struct DisplayPlaneProperties2KHR {
6792 pub s_type: StructureType,
6793 pub next: *mut c_void,
6794 pub display_plane_properties: DisplayPlanePropertiesKHR,
6795}
6796
6797impl Default for DisplayPlaneProperties2KHR {
6798 #[inline]
6799 fn default() -> Self {
6800 Self {
6801 s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
6802 next: ptr::null_mut(),
6803 display_plane_properties: DisplayPlanePropertiesKHR::default(),
6804 }
6805 }
6806}
6807
6808unsafe impl Send for DisplayPlaneProperties2KHR {}
6809unsafe impl Sync for DisplayPlaneProperties2KHR {}
6810
6811#[repr(C)]
6813#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6814pub struct DisplayPlanePropertiesKHR {
6815 pub current_display: DisplayKHR,
6816 pub current_stack_index: u32,
6817}
6818
6819#[repr(C)]
6821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6822pub struct DisplayPowerInfoEXT {
6823 pub s_type: StructureType,
6824 pub next: *const c_void,
6825 pub power_state: DisplayPowerStateEXT,
6826}
6827
6828impl Default for DisplayPowerInfoEXT {
6829 #[inline]
6830 fn default() -> Self {
6831 Self {
6832 s_type: StructureType::DISPLAY_POWER_INFO_EXT,
6833 next: ptr::null(),
6834 power_state: DisplayPowerStateEXT::default(),
6835 }
6836 }
6837}
6838
6839unsafe impl Send for DisplayPowerInfoEXT {}
6840unsafe impl Sync for DisplayPowerInfoEXT {}
6841
6842#[repr(C)]
6844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6845pub struct DisplayPresentInfoKHR {
6846 pub s_type: StructureType,
6847 pub next: *const c_void,
6848 pub src_rect: Rect2D,
6849 pub dst_rect: Rect2D,
6850 pub persistent: Bool32,
6851}
6852
6853impl Default for DisplayPresentInfoKHR {
6854 #[inline]
6855 fn default() -> Self {
6856 Self {
6857 s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
6858 next: ptr::null(),
6859 src_rect: Rect2D::default(),
6860 dst_rect: Rect2D::default(),
6861 persistent: Bool32::default(),
6862 }
6863 }
6864}
6865
6866unsafe impl Send for DisplayPresentInfoKHR {}
6867unsafe impl Sync for DisplayPresentInfoKHR {}
6868
6869#[repr(C)]
6871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6872pub struct DisplayProperties2KHR {
6873 pub s_type: StructureType,
6874 pub next: *mut c_void,
6875 pub display_properties: DisplayPropertiesKHR,
6876}
6877
6878impl Default for DisplayProperties2KHR {
6879 #[inline]
6880 fn default() -> Self {
6881 Self {
6882 s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
6883 next: ptr::null_mut(),
6884 display_properties: DisplayPropertiesKHR::default(),
6885 }
6886 }
6887}
6888
6889unsafe impl Send for DisplayProperties2KHR {}
6890unsafe impl Sync for DisplayProperties2KHR {}
6891
6892#[repr(C)]
6894#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6895pub struct DisplayPropertiesKHR {
6896 pub display: DisplayKHR,
6897 pub display_name: *const c_char,
6898 pub physical_dimensions: Extent2D,
6899 pub physical_resolution: Extent2D,
6900 pub supported_transforms: SurfaceTransformFlagsKHR,
6901 pub plane_reorder_possible: Bool32,
6902 pub persistent_content: Bool32,
6903}
6904
6905impl Default for DisplayPropertiesKHR {
6906 #[inline]
6907 fn default() -> Self {
6908 Self {
6909 display: DisplayKHR::default(),
6910 display_name: ptr::null(),
6911 physical_dimensions: Extent2D::default(),
6912 physical_resolution: Extent2D::default(),
6913 supported_transforms: SurfaceTransformFlagsKHR::default(),
6914 plane_reorder_possible: Bool32::default(),
6915 persistent_content: Bool32::default(),
6916 }
6917 }
6918}
6919
6920unsafe impl Send for DisplayPropertiesKHR {}
6921unsafe impl Sync for DisplayPropertiesKHR {}
6922
6923#[repr(C)]
6925#[derive(Copy, Clone, Debug, PartialEq)]
6926pub struct DisplaySurfaceCreateInfoKHR {
6927 pub s_type: StructureType,
6928 pub next: *const c_void,
6929 pub flags: DisplaySurfaceCreateFlagsKHR,
6930 pub display_mode: DisplayModeKHR,
6931 pub plane_index: u32,
6932 pub plane_stack_index: u32,
6933 pub transform: SurfaceTransformFlagsKHR,
6934 pub global_alpha: f32,
6935 pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
6936 pub image_extent: Extent2D,
6937}
6938
6939impl Default for DisplaySurfaceCreateInfoKHR {
6940 #[inline]
6941 fn default() -> Self {
6942 Self {
6943 s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
6944 next: ptr::null(),
6945 flags: DisplaySurfaceCreateFlagsKHR::default(),
6946 display_mode: DisplayModeKHR::default(),
6947 plane_index: u32::default(),
6948 plane_stack_index: u32::default(),
6949 transform: SurfaceTransformFlagsKHR::default(),
6950 global_alpha: f32::default(),
6951 alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
6952 image_extent: Extent2D::default(),
6953 }
6954 }
6955}
6956
6957unsafe impl Send for DisplaySurfaceCreateInfoKHR {}
6958unsafe impl Sync for DisplaySurfaceCreateInfoKHR {}
6959
6960#[repr(C)]
6962#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6963pub struct DisplaySurfaceStereoCreateInfoNV {
6964 pub s_type: StructureType,
6965 pub next: *const c_void,
6966 pub stereo_type: DisplaySurfaceStereoTypeNV,
6967}
6968
6969impl Default for DisplaySurfaceStereoCreateInfoNV {
6970 #[inline]
6971 fn default() -> Self {
6972 Self {
6973 s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
6974 next: ptr::null(),
6975 stereo_type: DisplaySurfaceStereoTypeNV::default(),
6976 }
6977 }
6978}
6979
6980unsafe impl Send for DisplaySurfaceStereoCreateInfoNV {}
6981unsafe impl Sync for DisplaySurfaceStereoCreateInfoNV {}
6982
6983#[repr(C)]
6985#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6986pub struct DrawIndexedIndirectCommand {
6987 pub index_count: u32,
6988 pub instance_count: u32,
6989 pub first_index: u32,
6990 pub vertex_offset: i32,
6991 pub first_instance: u32,
6992}
6993
6994#[repr(C)]
6996#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6997pub struct DrawIndirectCommand {
6998 pub vertex_count: u32,
6999 pub instance_count: u32,
7000 pub first_vertex: u32,
7001 pub first_instance: u32,
7002}
7003
7004#[repr(C)]
7006#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7007pub struct DrawIndirectCountIndirectCommandEXT {
7008 pub buffer_address: DeviceAddress,
7009 pub stride: u32,
7010 pub command_count: u32,
7011}
7012
7013#[repr(C)]
7015#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7016pub struct DrawMeshTasksIndirectCommandEXT {
7017 pub group_count_x: u32,
7018 pub group_count_y: u32,
7019 pub group_count_z: u32,
7020}
7021
7022#[repr(C)]
7024#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7025pub struct DrawMeshTasksIndirectCommandNV {
7026 pub task_count: u32,
7027 pub first_task: u32,
7028}
7029
7030#[repr(C)]
7032#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7033pub struct DrmFormatModifierProperties2EXT {
7034 pub drm_format_modifier: u64,
7035 pub drm_format_modifier_plane_count: u32,
7036 pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
7037}
7038
7039#[repr(C)]
7041#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7042pub struct DrmFormatModifierPropertiesEXT {
7043 pub drm_format_modifier: u64,
7044 pub drm_format_modifier_plane_count: u32,
7045 pub drm_format_modifier_tiling_features: FormatFeatureFlags,
7046}
7047
7048#[repr(C)]
7050#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7051pub struct DrmFormatModifierPropertiesList2EXT {
7052 pub s_type: StructureType,
7053 pub next: *mut c_void,
7054 pub drm_format_modifier_count: u32,
7055 pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
7056}
7057
7058impl Default for DrmFormatModifierPropertiesList2EXT {
7059 #[inline]
7060 fn default() -> Self {
7061 Self {
7062 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
7063 next: ptr::null_mut(),
7064 drm_format_modifier_count: u32::default(),
7065 drm_format_modifier_properties: ptr::null_mut(),
7066 }
7067 }
7068}
7069
7070unsafe impl Send for DrmFormatModifierPropertiesList2EXT {}
7071unsafe impl Sync for DrmFormatModifierPropertiesList2EXT {}
7072
7073#[repr(C)]
7075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7076pub struct DrmFormatModifierPropertiesListEXT {
7077 pub s_type: StructureType,
7078 pub next: *mut c_void,
7079 pub drm_format_modifier_count: u32,
7080 pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
7081}
7082
7083impl Default for DrmFormatModifierPropertiesListEXT {
7084 #[inline]
7085 fn default() -> Self {
7086 Self {
7087 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
7088 next: ptr::null_mut(),
7089 drm_format_modifier_count: u32::default(),
7090 drm_format_modifier_properties: ptr::null_mut(),
7091 }
7092 }
7093}
7094
7095unsafe impl Send for DrmFormatModifierPropertiesListEXT {}
7096unsafe impl Sync for DrmFormatModifierPropertiesListEXT {}
7097
7098#[repr(C)]
7100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7101pub struct EventCreateInfo {
7102 pub s_type: StructureType,
7103 pub next: *const c_void,
7104 pub flags: EventCreateFlags,
7105}
7106
7107impl Default for EventCreateInfo {
7108 #[inline]
7109 fn default() -> Self {
7110 Self {
7111 s_type: StructureType::EVENT_CREATE_INFO,
7112 next: ptr::null(),
7113 flags: EventCreateFlags::default(),
7114 }
7115 }
7116}
7117
7118unsafe impl Send for EventCreateInfo {}
7119unsafe impl Sync for EventCreateInfo {}
7120
7121#[repr(C)]
7123#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7124pub struct ExecutionGraphPipelineCreateInfoAMDX {
7125 pub s_type: StructureType,
7126 pub next: *const c_void,
7127 pub flags: PipelineCreateFlags,
7128 pub stage_count: u32,
7129 pub stages: *const PipelineShaderStageCreateInfo,
7130 pub library_info: *const PipelineLibraryCreateInfoKHR,
7131 pub layout: PipelineLayout,
7132 pub base_pipeline_handle: Pipeline,
7133 pub base_pipeline_index: i32,
7134}
7135
7136impl Default for ExecutionGraphPipelineCreateInfoAMDX {
7137 #[inline]
7138 fn default() -> Self {
7139 Self {
7140 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
7141 next: ptr::null(),
7142 flags: PipelineCreateFlags::default(),
7143 stage_count: u32::default(),
7144 stages: ptr::null(),
7145 library_info: ptr::null(),
7146 layout: PipelineLayout::default(),
7147 base_pipeline_handle: Pipeline::default(),
7148 base_pipeline_index: i32::default(),
7149 }
7150 }
7151}
7152
7153unsafe impl Send for ExecutionGraphPipelineCreateInfoAMDX {}
7154unsafe impl Sync for ExecutionGraphPipelineCreateInfoAMDX {}
7155
7156#[repr(C)]
7158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7159pub struct ExecutionGraphPipelineScratchSizeAMDX {
7160 pub s_type: StructureType,
7161 pub next: *mut c_void,
7162 pub min_size: DeviceSize,
7163 pub max_size: DeviceSize,
7164 pub size_granularity: DeviceSize,
7165}
7166
7167impl Default for ExecutionGraphPipelineScratchSizeAMDX {
7168 #[inline]
7169 fn default() -> Self {
7170 Self {
7171 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
7172 next: ptr::null_mut(),
7173 min_size: DeviceSize::default(),
7174 max_size: DeviceSize::default(),
7175 size_granularity: DeviceSize::default(),
7176 }
7177 }
7178}
7179
7180unsafe impl Send for ExecutionGraphPipelineScratchSizeAMDX {}
7181unsafe impl Sync for ExecutionGraphPipelineScratchSizeAMDX {}
7182
7183#[repr(C)]
7185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7186pub struct ExportFenceCreateInfo {
7187 pub s_type: StructureType,
7188 pub next: *const c_void,
7189 pub handle_types: ExternalFenceHandleTypeFlags,
7190}
7191
7192impl Default for ExportFenceCreateInfo {
7193 #[inline]
7194 fn default() -> Self {
7195 Self {
7196 s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
7197 next: ptr::null(),
7198 handle_types: ExternalFenceHandleTypeFlags::default(),
7199 }
7200 }
7201}
7202
7203unsafe impl Send for ExportFenceCreateInfo {}
7204unsafe impl Sync for ExportFenceCreateInfo {}
7205
7206#[repr(C)]
7208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7209pub struct ExportFenceSciSyncInfoNV {
7210 pub s_type: StructureType,
7211 pub next: *const c_void,
7212 pub attributes: NvSciSyncAttrList,
7213}
7214
7215impl Default for ExportFenceSciSyncInfoNV {
7216 #[inline]
7217 fn default() -> Self {
7218 Self {
7219 s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
7220 next: ptr::null(),
7221 attributes: ptr::null_mut(),
7222 }
7223 }
7224}
7225
7226unsafe impl Send for ExportFenceSciSyncInfoNV {}
7227unsafe impl Sync for ExportFenceSciSyncInfoNV {}
7228
7229#[repr(C)]
7231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7232pub struct ExportFenceWin32HandleInfoKHR {
7233 pub s_type: StructureType,
7234 pub next: *const c_void,
7235 pub attributes: *const SECURITY_ATTRIBUTES,
7236 pub dw_access: DWORD,
7237 pub name: LPCWSTR,
7238}
7239
7240impl Default for ExportFenceWin32HandleInfoKHR {
7241 #[inline]
7242 fn default() -> Self {
7243 Self {
7244 s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
7245 next: ptr::null(),
7246 attributes: ptr::null(),
7247 dw_access: DWORD::default(),
7248 name: ptr::null_mut(),
7249 }
7250 }
7251}
7252
7253unsafe impl Send for ExportFenceWin32HandleInfoKHR {}
7254unsafe impl Sync for ExportFenceWin32HandleInfoKHR {}
7255
7256#[repr(C)]
7258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7259pub struct ExportMemoryAllocateInfo {
7260 pub s_type: StructureType,
7261 pub next: *const c_void,
7262 pub handle_types: ExternalMemoryHandleTypeFlags,
7263}
7264
7265impl Default for ExportMemoryAllocateInfo {
7266 #[inline]
7267 fn default() -> Self {
7268 Self {
7269 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
7270 next: ptr::null(),
7271 handle_types: ExternalMemoryHandleTypeFlags::default(),
7272 }
7273 }
7274}
7275
7276unsafe impl Send for ExportMemoryAllocateInfo {}
7277unsafe impl Sync for ExportMemoryAllocateInfo {}
7278
7279#[repr(C)]
7281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7282pub struct ExportMemoryAllocateInfoNV {
7283 pub s_type: StructureType,
7284 pub next: *const c_void,
7285 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7286}
7287
7288impl Default for ExportMemoryAllocateInfoNV {
7289 #[inline]
7290 fn default() -> Self {
7291 Self {
7292 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
7293 next: ptr::null(),
7294 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7295 }
7296 }
7297}
7298
7299unsafe impl Send for ExportMemoryAllocateInfoNV {}
7300unsafe impl Sync for ExportMemoryAllocateInfoNV {}
7301
7302#[repr(C)]
7304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7305pub struct ExportMemorySciBufInfoNV {
7306 pub s_type: StructureType,
7307 pub next: *const c_void,
7308 pub attributes: NvSciBufAttrList,
7309}
7310
7311impl Default for ExportMemorySciBufInfoNV {
7312 #[inline]
7313 fn default() -> Self {
7314 Self {
7315 s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
7316 next: ptr::null(),
7317 attributes: ptr::null_mut(),
7318 }
7319 }
7320}
7321
7322unsafe impl Send for ExportMemorySciBufInfoNV {}
7323unsafe impl Sync for ExportMemorySciBufInfoNV {}
7324
7325#[repr(C)]
7327#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7328pub struct ExportMemoryWin32HandleInfoKHR {
7329 pub s_type: StructureType,
7330 pub next: *const c_void,
7331 pub attributes: *const SECURITY_ATTRIBUTES,
7332 pub dw_access: DWORD,
7333 pub name: LPCWSTR,
7334}
7335
7336impl Default for ExportMemoryWin32HandleInfoKHR {
7337 #[inline]
7338 fn default() -> Self {
7339 Self {
7340 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
7341 next: ptr::null(),
7342 attributes: ptr::null(),
7343 dw_access: DWORD::default(),
7344 name: ptr::null_mut(),
7345 }
7346 }
7347}
7348
7349unsafe impl Send for ExportMemoryWin32HandleInfoKHR {}
7350unsafe impl Sync for ExportMemoryWin32HandleInfoKHR {}
7351
7352#[repr(C)]
7354#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7355pub struct ExportMemoryWin32HandleInfoNV {
7356 pub s_type: StructureType,
7357 pub next: *const c_void,
7358 pub attributes: *const SECURITY_ATTRIBUTES,
7359 pub dw_access: DWORD,
7360}
7361
7362impl Default for ExportMemoryWin32HandleInfoNV {
7363 #[inline]
7364 fn default() -> Self {
7365 Self {
7366 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
7367 next: ptr::null(),
7368 attributes: ptr::null(),
7369 dw_access: DWORD::default(),
7370 }
7371 }
7372}
7373
7374unsafe impl Send for ExportMemoryWin32HandleInfoNV {}
7375unsafe impl Sync for ExportMemoryWin32HandleInfoNV {}
7376
7377#[repr(C)]
7379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7380pub struct ExportMetalBufferInfoEXT {
7381 pub s_type: StructureType,
7382 pub next: *const c_void,
7383 pub memory: DeviceMemory,
7384 pub mtl_buffer: MTLBuffer_id,
7385}
7386
7387impl Default for ExportMetalBufferInfoEXT {
7388 #[inline]
7389 fn default() -> Self {
7390 Self {
7391 s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
7392 next: ptr::null(),
7393 memory: DeviceMemory::default(),
7394 mtl_buffer: ptr::null_mut(),
7395 }
7396 }
7397}
7398
7399unsafe impl Send for ExportMetalBufferInfoEXT {}
7400unsafe impl Sync for ExportMetalBufferInfoEXT {}
7401
7402#[repr(C)]
7404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7405pub struct ExportMetalCommandQueueInfoEXT {
7406 pub s_type: StructureType,
7407 pub next: *const c_void,
7408 pub queue: Queue,
7409 pub mtl_command_queue: MTLCommandQueue_id,
7410}
7411
7412impl Default for ExportMetalCommandQueueInfoEXT {
7413 #[inline]
7414 fn default() -> Self {
7415 Self {
7416 s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
7417 next: ptr::null(),
7418 queue: Queue::default(),
7419 mtl_command_queue: ptr::null_mut(),
7420 }
7421 }
7422}
7423
7424unsafe impl Send for ExportMetalCommandQueueInfoEXT {}
7425unsafe impl Sync for ExportMetalCommandQueueInfoEXT {}
7426
7427#[repr(C)]
7429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7430pub struct ExportMetalDeviceInfoEXT {
7431 pub s_type: StructureType,
7432 pub next: *const c_void,
7433 pub mtl_device: MTLDevice_id,
7434}
7435
7436impl Default for ExportMetalDeviceInfoEXT {
7437 #[inline]
7438 fn default() -> Self {
7439 Self {
7440 s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
7441 next: ptr::null(),
7442 mtl_device: ptr::null_mut(),
7443 }
7444 }
7445}
7446
7447unsafe impl Send for ExportMetalDeviceInfoEXT {}
7448unsafe impl Sync for ExportMetalDeviceInfoEXT {}
7449
7450#[repr(C)]
7452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7453pub struct ExportMetalIOSurfaceInfoEXT {
7454 pub s_type: StructureType,
7455 pub next: *const c_void,
7456 pub image: Image,
7457 pub io_surface: IOSurfaceRef,
7458}
7459
7460impl Default for ExportMetalIOSurfaceInfoEXT {
7461 #[inline]
7462 fn default() -> Self {
7463 Self {
7464 s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
7465 next: ptr::null(),
7466 image: Image::default(),
7467 io_surface: ptr::null_mut(),
7468 }
7469 }
7470}
7471
7472unsafe impl Send for ExportMetalIOSurfaceInfoEXT {}
7473unsafe impl Sync for ExportMetalIOSurfaceInfoEXT {}
7474
7475#[repr(C)]
7477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7478pub struct ExportMetalObjectCreateInfoEXT {
7479 pub s_type: StructureType,
7480 pub next: *const c_void,
7481 pub export_object_type: ExportMetalObjectTypeFlagsEXT,
7482}
7483
7484impl Default for ExportMetalObjectCreateInfoEXT {
7485 #[inline]
7486 fn default() -> Self {
7487 Self {
7488 s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
7489 next: ptr::null(),
7490 export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
7491 }
7492 }
7493}
7494
7495unsafe impl Send for ExportMetalObjectCreateInfoEXT {}
7496unsafe impl Sync for ExportMetalObjectCreateInfoEXT {}
7497
7498#[repr(C)]
7500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7501pub struct ExportMetalObjectsInfoEXT {
7502 pub s_type: StructureType,
7503 pub next: *const c_void,
7504}
7505
7506impl Default for ExportMetalObjectsInfoEXT {
7507 #[inline]
7508 fn default() -> Self {
7509 Self {
7510 s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
7511 next: ptr::null(),
7512 }
7513 }
7514}
7515
7516unsafe impl Send for ExportMetalObjectsInfoEXT {}
7517unsafe impl Sync for ExportMetalObjectsInfoEXT {}
7518
7519#[repr(C)]
7521#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7522pub struct ExportMetalSharedEventInfoEXT {
7523 pub s_type: StructureType,
7524 pub next: *const c_void,
7525 pub semaphore: Semaphore,
7526 pub event: Event,
7527 pub mtl_shared_event: MTLSharedEvent_id,
7528}
7529
7530impl Default for ExportMetalSharedEventInfoEXT {
7531 #[inline]
7532 fn default() -> Self {
7533 Self {
7534 s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
7535 next: ptr::null(),
7536 semaphore: Semaphore::default(),
7537 event: Event::default(),
7538 mtl_shared_event: ptr::null_mut(),
7539 }
7540 }
7541}
7542
7543unsafe impl Send for ExportMetalSharedEventInfoEXT {}
7544unsafe impl Sync for ExportMetalSharedEventInfoEXT {}
7545
7546#[repr(C)]
7548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7549pub struct ExportMetalTextureInfoEXT {
7550 pub s_type: StructureType,
7551 pub next: *const c_void,
7552 pub image: Image,
7553 pub image_view: ImageView,
7554 pub buffer_view: BufferView,
7555 pub plane: ImageAspectFlags,
7556 pub mtl_texture: MTLTexture_id,
7557}
7558
7559impl Default for ExportMetalTextureInfoEXT {
7560 #[inline]
7561 fn default() -> Self {
7562 Self {
7563 s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
7564 next: ptr::null(),
7565 image: Image::default(),
7566 image_view: ImageView::default(),
7567 buffer_view: BufferView::default(),
7568 plane: ImageAspectFlags::default(),
7569 mtl_texture: ptr::null_mut(),
7570 }
7571 }
7572}
7573
7574unsafe impl Send for ExportMetalTextureInfoEXT {}
7575unsafe impl Sync for ExportMetalTextureInfoEXT {}
7576
7577#[repr(C)]
7579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7580pub struct ExportSemaphoreCreateInfo {
7581 pub s_type: StructureType,
7582 pub next: *const c_void,
7583 pub handle_types: ExternalSemaphoreHandleTypeFlags,
7584}
7585
7586impl Default for ExportSemaphoreCreateInfo {
7587 #[inline]
7588 fn default() -> Self {
7589 Self {
7590 s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
7591 next: ptr::null(),
7592 handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7593 }
7594 }
7595}
7596
7597unsafe impl Send for ExportSemaphoreCreateInfo {}
7598unsafe impl Sync for ExportSemaphoreCreateInfo {}
7599
7600#[repr(C)]
7602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7603pub struct ExportSemaphoreSciSyncInfoNV {
7604 pub s_type: StructureType,
7605 pub next: *const c_void,
7606 pub attributes: NvSciSyncAttrList,
7607}
7608
7609impl Default for ExportSemaphoreSciSyncInfoNV {
7610 #[inline]
7611 fn default() -> Self {
7612 Self {
7613 s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
7614 next: ptr::null(),
7615 attributes: ptr::null_mut(),
7616 }
7617 }
7618}
7619
7620unsafe impl Send for ExportSemaphoreSciSyncInfoNV {}
7621unsafe impl Sync for ExportSemaphoreSciSyncInfoNV {}
7622
7623#[repr(C)]
7625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7626pub struct ExportSemaphoreWin32HandleInfoKHR {
7627 pub s_type: StructureType,
7628 pub next: *const c_void,
7629 pub attributes: *const SECURITY_ATTRIBUTES,
7630 pub dw_access: DWORD,
7631 pub name: LPCWSTR,
7632}
7633
7634impl Default for ExportSemaphoreWin32HandleInfoKHR {
7635 #[inline]
7636 fn default() -> Self {
7637 Self {
7638 s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
7639 next: ptr::null(),
7640 attributes: ptr::null(),
7641 dw_access: DWORD::default(),
7642 name: ptr::null_mut(),
7643 }
7644 }
7645}
7646
7647unsafe impl Send for ExportSemaphoreWin32HandleInfoKHR {}
7648unsafe impl Sync for ExportSemaphoreWin32HandleInfoKHR {}
7649
7650#[repr(C)]
7652#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7653pub struct ExtensionProperties {
7654 pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
7655 pub spec_version: u32,
7656}
7657
7658#[repr(C)]
7660#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7661pub struct Extent2D {
7662 pub width: u32,
7663 pub height: u32,
7664}
7665
7666#[repr(C)]
7668#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7669pub struct Extent3D {
7670 pub width: u32,
7671 pub height: u32,
7672 pub depth: u32,
7673}
7674
7675#[repr(C)]
7677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7678pub struct ExternalBufferProperties {
7679 pub s_type: StructureType,
7680 pub next: *mut c_void,
7681 pub external_memory_properties: ExternalMemoryProperties,
7682}
7683
7684impl Default for ExternalBufferProperties {
7685 #[inline]
7686 fn default() -> Self {
7687 Self {
7688 s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
7689 next: ptr::null_mut(),
7690 external_memory_properties: ExternalMemoryProperties::default(),
7691 }
7692 }
7693}
7694
7695unsafe impl Send for ExternalBufferProperties {}
7696unsafe impl Sync for ExternalBufferProperties {}
7697
7698#[repr(C)]
7700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7701pub struct ExternalComputeQueueCreateInfoNV {
7702 pub s_type: StructureType,
7703 pub next: *const c_void,
7704 pub preferred_queue: Queue,
7705}
7706
7707impl Default for ExternalComputeQueueCreateInfoNV {
7708 #[inline]
7709 fn default() -> Self {
7710 Self {
7711 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
7712 next: ptr::null(),
7713 preferred_queue: Queue::default(),
7714 }
7715 }
7716}
7717
7718unsafe impl Send for ExternalComputeQueueCreateInfoNV {}
7719unsafe impl Sync for ExternalComputeQueueCreateInfoNV {}
7720
7721#[repr(C)]
7723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7724pub struct ExternalComputeQueueDataParamsNV {
7725 pub s_type: StructureType,
7726 pub next: *const c_void,
7727 pub device_index: u32,
7728}
7729
7730impl Default for ExternalComputeQueueDataParamsNV {
7731 #[inline]
7732 fn default() -> Self {
7733 Self {
7734 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
7735 next: ptr::null(),
7736 device_index: u32::default(),
7737 }
7738 }
7739}
7740
7741unsafe impl Send for ExternalComputeQueueDataParamsNV {}
7742unsafe impl Sync for ExternalComputeQueueDataParamsNV {}
7743
7744#[repr(C)]
7746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7747pub struct ExternalComputeQueueDeviceCreateInfoNV {
7748 pub s_type: StructureType,
7749 pub next: *const c_void,
7750 pub reserved_external_queues: u32,
7751}
7752
7753impl Default for ExternalComputeQueueDeviceCreateInfoNV {
7754 #[inline]
7755 fn default() -> Self {
7756 Self {
7757 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
7758 next: ptr::null(),
7759 reserved_external_queues: u32::default(),
7760 }
7761 }
7762}
7763
7764unsafe impl Send for ExternalComputeQueueDeviceCreateInfoNV {}
7765unsafe impl Sync for ExternalComputeQueueDeviceCreateInfoNV {}
7766
7767#[repr(C)]
7769#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7770pub struct ExternalFenceProperties {
7771 pub s_type: StructureType,
7772 pub next: *mut c_void,
7773 pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
7774 pub compatible_handle_types: ExternalFenceHandleTypeFlags,
7775 pub external_fence_features: ExternalFenceFeatureFlags,
7776}
7777
7778impl Default for ExternalFenceProperties {
7779 #[inline]
7780 fn default() -> Self {
7781 Self {
7782 s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
7783 next: ptr::null_mut(),
7784 export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
7785 compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
7786 external_fence_features: ExternalFenceFeatureFlags::default(),
7787 }
7788 }
7789}
7790
7791unsafe impl Send for ExternalFenceProperties {}
7792unsafe impl Sync for ExternalFenceProperties {}
7793
7794#[repr(C)]
7796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7797pub struct ExternalFormatANDROID {
7798 pub s_type: StructureType,
7799 pub next: *mut c_void,
7800 pub external_format: u64,
7801}
7802
7803impl Default for ExternalFormatANDROID {
7804 #[inline]
7805 fn default() -> Self {
7806 Self {
7807 s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
7808 next: ptr::null_mut(),
7809 external_format: u64::default(),
7810 }
7811 }
7812}
7813
7814unsafe impl Send for ExternalFormatANDROID {}
7815unsafe impl Sync for ExternalFormatANDROID {}
7816
7817#[repr(C)]
7819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7820pub struct ExternalFormatOHOS {
7821 pub s_type: StructureType,
7822 pub next: *mut c_void,
7823 pub external_format: u64,
7824}
7825
7826impl Default for ExternalFormatOHOS {
7827 #[inline]
7828 fn default() -> Self {
7829 Self {
7830 s_type: StructureType::EXTERNAL_FORMAT_OHOS,
7831 next: ptr::null_mut(),
7832 external_format: u64::default(),
7833 }
7834 }
7835}
7836
7837unsafe impl Send for ExternalFormatOHOS {}
7838unsafe impl Sync for ExternalFormatOHOS {}
7839
7840#[repr(C)]
7842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7843pub struct ExternalFormatQNX {
7844 pub s_type: StructureType,
7845 pub next: *mut c_void,
7846 pub external_format: u64,
7847}
7848
7849impl Default for ExternalFormatQNX {
7850 #[inline]
7851 fn default() -> Self {
7852 Self {
7853 s_type: StructureType::EXTERNAL_FORMAT_QNX,
7854 next: ptr::null_mut(),
7855 external_format: u64::default(),
7856 }
7857 }
7858}
7859
7860unsafe impl Send for ExternalFormatQNX {}
7861unsafe impl Sync for ExternalFormatQNX {}
7862
7863#[repr(C)]
7865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7866pub struct ExternalImageFormatProperties {
7867 pub s_type: StructureType,
7868 pub next: *mut c_void,
7869 pub external_memory_properties: ExternalMemoryProperties,
7870}
7871
7872impl Default for ExternalImageFormatProperties {
7873 #[inline]
7874 fn default() -> Self {
7875 Self {
7876 s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
7877 next: ptr::null_mut(),
7878 external_memory_properties: ExternalMemoryProperties::default(),
7879 }
7880 }
7881}
7882
7883unsafe impl Send for ExternalImageFormatProperties {}
7884unsafe impl Sync for ExternalImageFormatProperties {}
7885
7886#[repr(C)]
7888#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7889pub struct ExternalImageFormatPropertiesNV {
7890 pub image_format_properties: ImageFormatProperties,
7891 pub external_memory_features: ExternalMemoryFeatureFlagsNV,
7892 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
7893 pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
7894}
7895
7896#[repr(C)]
7898#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7899pub struct ExternalMemoryAcquireUnmodifiedEXT {
7900 pub s_type: StructureType,
7901 pub next: *const c_void,
7902 pub acquire_unmodified_memory: Bool32,
7903}
7904
7905impl Default for ExternalMemoryAcquireUnmodifiedEXT {
7906 #[inline]
7907 fn default() -> Self {
7908 Self {
7909 s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
7910 next: ptr::null(),
7911 acquire_unmodified_memory: Bool32::default(),
7912 }
7913 }
7914}
7915
7916unsafe impl Send for ExternalMemoryAcquireUnmodifiedEXT {}
7917unsafe impl Sync for ExternalMemoryAcquireUnmodifiedEXT {}
7918
7919#[repr(C)]
7921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7922pub struct ExternalMemoryBufferCreateInfo {
7923 pub s_type: StructureType,
7924 pub next: *const c_void,
7925 pub handle_types: ExternalMemoryHandleTypeFlags,
7926}
7927
7928impl Default for ExternalMemoryBufferCreateInfo {
7929 #[inline]
7930 fn default() -> Self {
7931 Self {
7932 s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
7933 next: ptr::null(),
7934 handle_types: ExternalMemoryHandleTypeFlags::default(),
7935 }
7936 }
7937}
7938
7939unsafe impl Send for ExternalMemoryBufferCreateInfo {}
7940unsafe impl Sync for ExternalMemoryBufferCreateInfo {}
7941
7942#[repr(C)]
7944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7945pub struct ExternalMemoryImageCreateInfo {
7946 pub s_type: StructureType,
7947 pub next: *const c_void,
7948 pub handle_types: ExternalMemoryHandleTypeFlags,
7949}
7950
7951impl Default for ExternalMemoryImageCreateInfo {
7952 #[inline]
7953 fn default() -> Self {
7954 Self {
7955 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
7956 next: ptr::null(),
7957 handle_types: ExternalMemoryHandleTypeFlags::default(),
7958 }
7959 }
7960}
7961
7962unsafe impl Send for ExternalMemoryImageCreateInfo {}
7963unsafe impl Sync for ExternalMemoryImageCreateInfo {}
7964
7965#[repr(C)]
7967#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7968pub struct ExternalMemoryImageCreateInfoNV {
7969 pub s_type: StructureType,
7970 pub next: *const c_void,
7971 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7972}
7973
7974impl Default for ExternalMemoryImageCreateInfoNV {
7975 #[inline]
7976 fn default() -> Self {
7977 Self {
7978 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
7979 next: ptr::null(),
7980 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7981 }
7982 }
7983}
7984
7985unsafe impl Send for ExternalMemoryImageCreateInfoNV {}
7986unsafe impl Sync for ExternalMemoryImageCreateInfoNV {}
7987
7988#[repr(C)]
7990#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7991pub struct ExternalMemoryProperties {
7992 pub external_memory_features: ExternalMemoryFeatureFlags,
7993 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
7994 pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
7995}
7996
7997#[repr(C)]
7999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8000pub struct ExternalMemoryTensorCreateInfoARM {
8001 pub s_type: StructureType,
8002 pub next: *const c_void,
8003 pub handle_types: ExternalMemoryHandleTypeFlags,
8004}
8005
8006impl Default for ExternalMemoryTensorCreateInfoARM {
8007 #[inline]
8008 fn default() -> Self {
8009 Self {
8010 s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
8011 next: ptr::null(),
8012 handle_types: ExternalMemoryHandleTypeFlags::default(),
8013 }
8014 }
8015}
8016
8017unsafe impl Send for ExternalMemoryTensorCreateInfoARM {}
8018unsafe impl Sync for ExternalMemoryTensorCreateInfoARM {}
8019
8020#[repr(C)]
8022#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8023pub struct ExternalSemaphoreProperties {
8024 pub s_type: StructureType,
8025 pub next: *mut c_void,
8026 pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
8027 pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
8028 pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
8029}
8030
8031impl Default for ExternalSemaphoreProperties {
8032 #[inline]
8033 fn default() -> Self {
8034 Self {
8035 s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
8036 next: ptr::null_mut(),
8037 export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8038 compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8039 external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
8040 }
8041 }
8042}
8043
8044unsafe impl Send for ExternalSemaphoreProperties {}
8045unsafe impl Sync for ExternalSemaphoreProperties {}
8046
8047#[repr(C)]
8049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8050pub struct ExternalTensorPropertiesARM {
8051 pub s_type: StructureType,
8052 pub next: *const c_void,
8053 pub external_memory_properties: ExternalMemoryProperties,
8054}
8055
8056impl Default for ExternalTensorPropertiesARM {
8057 #[inline]
8058 fn default() -> Self {
8059 Self {
8060 s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
8061 next: ptr::null(),
8062 external_memory_properties: ExternalMemoryProperties::default(),
8063 }
8064 }
8065}
8066
8067unsafe impl Send for ExternalTensorPropertiesARM {}
8068unsafe impl Sync for ExternalTensorPropertiesARM {}
8069
8070#[repr(C)]
8072#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8073pub struct FenceCreateInfo {
8074 pub s_type: StructureType,
8075 pub next: *const c_void,
8076 pub flags: FenceCreateFlags,
8077}
8078
8079impl Default for FenceCreateInfo {
8080 #[inline]
8081 fn default() -> Self {
8082 Self {
8083 s_type: StructureType::FENCE_CREATE_INFO,
8084 next: ptr::null(),
8085 flags: FenceCreateFlags::default(),
8086 }
8087 }
8088}
8089
8090unsafe impl Send for FenceCreateInfo {}
8091unsafe impl Sync for FenceCreateInfo {}
8092
8093#[repr(C)]
8095#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8096pub struct FenceGetFdInfoKHR {
8097 pub s_type: StructureType,
8098 pub next: *const c_void,
8099 pub fence: Fence,
8100 pub handle_type: ExternalFenceHandleTypeFlags,
8101}
8102
8103impl Default for FenceGetFdInfoKHR {
8104 #[inline]
8105 fn default() -> Self {
8106 Self {
8107 s_type: StructureType::FENCE_GET_FD_INFO_KHR,
8108 next: ptr::null(),
8109 fence: Fence::default(),
8110 handle_type: ExternalFenceHandleTypeFlags::default(),
8111 }
8112 }
8113}
8114
8115unsafe impl Send for FenceGetFdInfoKHR {}
8116unsafe impl Sync for FenceGetFdInfoKHR {}
8117
8118#[repr(C)]
8120#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8121pub struct FenceGetSciSyncInfoNV {
8122 pub s_type: StructureType,
8123 pub next: *const c_void,
8124 pub fence: Fence,
8125 pub handle_type: ExternalFenceHandleTypeFlags,
8126}
8127
8128impl Default for FenceGetSciSyncInfoNV {
8129 #[inline]
8130 fn default() -> Self {
8131 Self {
8132 s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
8133 next: ptr::null(),
8134 fence: Fence::default(),
8135 handle_type: ExternalFenceHandleTypeFlags::default(),
8136 }
8137 }
8138}
8139
8140unsafe impl Send for FenceGetSciSyncInfoNV {}
8141unsafe impl Sync for FenceGetSciSyncInfoNV {}
8142
8143#[repr(C)]
8145#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8146pub struct FenceGetWin32HandleInfoKHR {
8147 pub s_type: StructureType,
8148 pub next: *const c_void,
8149 pub fence: Fence,
8150 pub handle_type: ExternalFenceHandleTypeFlags,
8151}
8152
8153impl Default for FenceGetWin32HandleInfoKHR {
8154 #[inline]
8155 fn default() -> Self {
8156 Self {
8157 s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
8158 next: ptr::null(),
8159 fence: Fence::default(),
8160 handle_type: ExternalFenceHandleTypeFlags::default(),
8161 }
8162 }
8163}
8164
8165unsafe impl Send for FenceGetWin32HandleInfoKHR {}
8166unsafe impl Sync for FenceGetWin32HandleInfoKHR {}
8167
8168#[repr(C)]
8170#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8171pub struct FilterCubicImageViewImageFormatPropertiesEXT {
8172 pub s_type: StructureType,
8173 pub next: *mut c_void,
8174 pub filter_cubic: Bool32,
8175 pub filter_cubic_minmax: Bool32,
8176}
8177
8178impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
8179 #[inline]
8180 fn default() -> Self {
8181 Self {
8182 s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
8183 next: ptr::null_mut(),
8184 filter_cubic: Bool32::default(),
8185 filter_cubic_minmax: Bool32::default(),
8186 }
8187 }
8188}
8189
8190unsafe impl Send for FilterCubicImageViewImageFormatPropertiesEXT {}
8191unsafe impl Sync for FilterCubicImageViewImageFormatPropertiesEXT {}
8192
8193#[repr(C)]
8195#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8196pub struct FormatProperties {
8197 pub linear_tiling_features: FormatFeatureFlags,
8198 pub optimal_tiling_features: FormatFeatureFlags,
8199 pub buffer_features: FormatFeatureFlags,
8200}
8201
8202#[repr(C)]
8204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8205pub struct FormatProperties2 {
8206 pub s_type: StructureType,
8207 pub next: *mut c_void,
8208 pub format_properties: FormatProperties,
8209}
8210
8211impl Default for FormatProperties2 {
8212 #[inline]
8213 fn default() -> Self {
8214 Self {
8215 s_type: StructureType::FORMAT_PROPERTIES_2,
8216 next: ptr::null_mut(),
8217 format_properties: FormatProperties::default(),
8218 }
8219 }
8220}
8221
8222unsafe impl Send for FormatProperties2 {}
8223unsafe impl Sync for FormatProperties2 {}
8224
8225#[repr(C)]
8227#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8228pub struct FormatProperties3 {
8229 pub s_type: StructureType,
8230 pub next: *mut c_void,
8231 pub linear_tiling_features: FormatFeatureFlags2,
8232 pub optimal_tiling_features: FormatFeatureFlags2,
8233 pub buffer_features: FormatFeatureFlags2,
8234}
8235
8236impl Default for FormatProperties3 {
8237 #[inline]
8238 fn default() -> Self {
8239 Self {
8240 s_type: StructureType::FORMAT_PROPERTIES_3,
8241 next: ptr::null_mut(),
8242 linear_tiling_features: FormatFeatureFlags2::default(),
8243 optimal_tiling_features: FormatFeatureFlags2::default(),
8244 buffer_features: FormatFeatureFlags2::default(),
8245 }
8246 }
8247}
8248
8249unsafe impl Send for FormatProperties3 {}
8250unsafe impl Sync for FormatProperties3 {}
8251
8252#[repr(C)]
8254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8255pub struct FragmentShadingRateAttachmentInfoKHR {
8256 pub s_type: StructureType,
8257 pub next: *const c_void,
8258 pub fragment_shading_rate_attachment: *const AttachmentReference2,
8259 pub shading_rate_attachment_texel_size: Extent2D,
8260}
8261
8262impl Default for FragmentShadingRateAttachmentInfoKHR {
8263 #[inline]
8264 fn default() -> Self {
8265 Self {
8266 s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
8267 next: ptr::null(),
8268 fragment_shading_rate_attachment: ptr::null(),
8269 shading_rate_attachment_texel_size: Extent2D::default(),
8270 }
8271 }
8272}
8273
8274unsafe impl Send for FragmentShadingRateAttachmentInfoKHR {}
8275unsafe impl Sync for FragmentShadingRateAttachmentInfoKHR {}
8276
8277#[repr(C)]
8279#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8280pub struct FrameBoundaryEXT {
8281 pub s_type: StructureType,
8282 pub next: *const c_void,
8283 pub flags: FrameBoundaryFlagsEXT,
8284 pub frame_id: u64,
8285 pub image_count: u32,
8286 pub images: *const Image,
8287 pub buffer_count: u32,
8288 pub buffers: *const Buffer,
8289 pub tag_name: u64,
8290 pub tag_size: usize,
8291 pub tag: *const c_void,
8292}
8293
8294impl Default for FrameBoundaryEXT {
8295 #[inline]
8296 fn default() -> Self {
8297 Self {
8298 s_type: StructureType::FRAME_BOUNDARY_EXT,
8299 next: ptr::null(),
8300 flags: FrameBoundaryFlagsEXT::default(),
8301 frame_id: u64::default(),
8302 image_count: u32::default(),
8303 images: ptr::null(),
8304 buffer_count: u32::default(),
8305 buffers: ptr::null(),
8306 tag_name: u64::default(),
8307 tag_size: usize::default(),
8308 tag: ptr::null(),
8309 }
8310 }
8311}
8312
8313unsafe impl Send for FrameBoundaryEXT {}
8314unsafe impl Sync for FrameBoundaryEXT {}
8315
8316#[repr(C)]
8318#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8319pub struct FrameBoundaryTensorsARM {
8320 pub s_type: StructureType,
8321 pub next: *const c_void,
8322 pub tensor_count: u32,
8323 pub tensors: *const TensorARM,
8324}
8325
8326impl Default for FrameBoundaryTensorsARM {
8327 #[inline]
8328 fn default() -> Self {
8329 Self {
8330 s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
8331 next: ptr::null(),
8332 tensor_count: u32::default(),
8333 tensors: ptr::null(),
8334 }
8335 }
8336}
8337
8338unsafe impl Send for FrameBoundaryTensorsARM {}
8339unsafe impl Sync for FrameBoundaryTensorsARM {}
8340
8341#[repr(C)]
8343#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8344pub struct FramebufferAttachmentImageInfo {
8345 pub s_type: StructureType,
8346 pub next: *const c_void,
8347 pub flags: ImageCreateFlags,
8348 pub usage: ImageUsageFlags,
8349 pub width: u32,
8350 pub height: u32,
8351 pub layer_count: u32,
8352 pub view_format_count: u32,
8353 pub view_formats: *const Format,
8354}
8355
8356impl Default for FramebufferAttachmentImageInfo {
8357 #[inline]
8358 fn default() -> Self {
8359 Self {
8360 s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
8361 next: ptr::null(),
8362 flags: ImageCreateFlags::default(),
8363 usage: ImageUsageFlags::default(),
8364 width: u32::default(),
8365 height: u32::default(),
8366 layer_count: u32::default(),
8367 view_format_count: u32::default(),
8368 view_formats: ptr::null(),
8369 }
8370 }
8371}
8372
8373unsafe impl Send for FramebufferAttachmentImageInfo {}
8374unsafe impl Sync for FramebufferAttachmentImageInfo {}
8375
8376#[repr(C)]
8378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8379pub struct FramebufferAttachmentsCreateInfo {
8380 pub s_type: StructureType,
8381 pub next: *const c_void,
8382 pub attachment_image_info_count: u32,
8383 pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
8384}
8385
8386impl Default for FramebufferAttachmentsCreateInfo {
8387 #[inline]
8388 fn default() -> Self {
8389 Self {
8390 s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
8391 next: ptr::null(),
8392 attachment_image_info_count: u32::default(),
8393 attachment_image_infos: ptr::null(),
8394 }
8395 }
8396}
8397
8398unsafe impl Send for FramebufferAttachmentsCreateInfo {}
8399unsafe impl Sync for FramebufferAttachmentsCreateInfo {}
8400
8401#[repr(C)]
8403#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8404pub struct FramebufferCreateInfo {
8405 pub s_type: StructureType,
8406 pub next: *const c_void,
8407 pub flags: FramebufferCreateFlags,
8408 pub render_pass: RenderPass,
8409 pub attachment_count: u32,
8410 pub attachments: *const ImageView,
8411 pub width: u32,
8412 pub height: u32,
8413 pub layers: u32,
8414}
8415
8416impl Default for FramebufferCreateInfo {
8417 #[inline]
8418 fn default() -> Self {
8419 Self {
8420 s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
8421 next: ptr::null(),
8422 flags: FramebufferCreateFlags::default(),
8423 render_pass: RenderPass::default(),
8424 attachment_count: u32::default(),
8425 attachments: ptr::null(),
8426 width: u32::default(),
8427 height: u32::default(),
8428 layers: u32::default(),
8429 }
8430 }
8431}
8432
8433unsafe impl Send for FramebufferCreateInfo {}
8434unsafe impl Sync for FramebufferCreateInfo {}
8435
8436#[repr(C)]
8438#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8439pub struct FramebufferMixedSamplesCombinationNV {
8440 pub s_type: StructureType,
8441 pub next: *mut c_void,
8442 pub coverage_reduction_mode: CoverageReductionModeNV,
8443 pub rasterization_samples: SampleCountFlags,
8444 pub depth_stencil_samples: SampleCountFlags,
8445 pub color_samples: SampleCountFlags,
8446}
8447
8448impl Default for FramebufferMixedSamplesCombinationNV {
8449 #[inline]
8450 fn default() -> Self {
8451 Self {
8452 s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
8453 next: ptr::null_mut(),
8454 coverage_reduction_mode: CoverageReductionModeNV::default(),
8455 rasterization_samples: SampleCountFlags::default(),
8456 depth_stencil_samples: SampleCountFlags::default(),
8457 color_samples: SampleCountFlags::default(),
8458 }
8459 }
8460}
8461
8462unsafe impl Send for FramebufferMixedSamplesCombinationNV {}
8463unsafe impl Sync for FramebufferMixedSamplesCombinationNV {}
8464
8465#[repr(C)]
8467#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8468pub struct GeneratedCommandsInfoEXT {
8469 pub s_type: StructureType,
8470 pub next: *const c_void,
8471 pub shader_stages: ShaderStageFlags,
8472 pub indirect_execution_set: IndirectExecutionSetEXT,
8473 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8474 pub indirect_address: DeviceAddress,
8475 pub indirect_address_size: DeviceSize,
8476 pub preprocess_address: DeviceAddress,
8477 pub preprocess_size: DeviceSize,
8478 pub max_sequence_count: u32,
8479 pub sequence_count_address: DeviceAddress,
8480 pub max_draw_count: u32,
8481}
8482
8483impl Default for GeneratedCommandsInfoEXT {
8484 #[inline]
8485 fn default() -> Self {
8486 Self {
8487 s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
8488 next: ptr::null(),
8489 shader_stages: ShaderStageFlags::default(),
8490 indirect_execution_set: IndirectExecutionSetEXT::default(),
8491 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8492 indirect_address: DeviceAddress::default(),
8493 indirect_address_size: DeviceSize::default(),
8494 preprocess_address: DeviceAddress::default(),
8495 preprocess_size: DeviceSize::default(),
8496 max_sequence_count: u32::default(),
8497 sequence_count_address: DeviceAddress::default(),
8498 max_draw_count: u32::default(),
8499 }
8500 }
8501}
8502
8503unsafe impl Send for GeneratedCommandsInfoEXT {}
8504unsafe impl Sync for GeneratedCommandsInfoEXT {}
8505
8506#[repr(C)]
8508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8509pub struct GeneratedCommandsInfoNV {
8510 pub s_type: StructureType,
8511 pub next: *const c_void,
8512 pub pipeline_bind_point: PipelineBindPoint,
8513 pub pipeline: Pipeline,
8514 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8515 pub stream_count: u32,
8516 pub streams: *const IndirectCommandsStreamNV,
8517 pub sequences_count: u32,
8518 pub preprocess_buffer: Buffer,
8519 pub preprocess_offset: DeviceSize,
8520 pub preprocess_size: DeviceSize,
8521 pub sequences_count_buffer: Buffer,
8522 pub sequences_count_offset: DeviceSize,
8523 pub sequences_index_buffer: Buffer,
8524 pub sequences_index_offset: DeviceSize,
8525}
8526
8527impl Default for GeneratedCommandsInfoNV {
8528 #[inline]
8529 fn default() -> Self {
8530 Self {
8531 s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
8532 next: ptr::null(),
8533 pipeline_bind_point: PipelineBindPoint::default(),
8534 pipeline: Pipeline::default(),
8535 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8536 stream_count: u32::default(),
8537 streams: ptr::null(),
8538 sequences_count: u32::default(),
8539 preprocess_buffer: Buffer::default(),
8540 preprocess_offset: DeviceSize::default(),
8541 preprocess_size: DeviceSize::default(),
8542 sequences_count_buffer: Buffer::default(),
8543 sequences_count_offset: DeviceSize::default(),
8544 sequences_index_buffer: Buffer::default(),
8545 sequences_index_offset: DeviceSize::default(),
8546 }
8547 }
8548}
8549
8550unsafe impl Send for GeneratedCommandsInfoNV {}
8551unsafe impl Sync for GeneratedCommandsInfoNV {}
8552
8553#[repr(C)]
8555#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8556pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
8557 pub s_type: StructureType,
8558 pub next: *const c_void,
8559 pub indirect_execution_set: IndirectExecutionSetEXT,
8560 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8561 pub max_sequence_count: u32,
8562 pub max_draw_count: u32,
8563}
8564
8565impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
8566 #[inline]
8567 fn default() -> Self {
8568 Self {
8569 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
8570 next: ptr::null(),
8571 indirect_execution_set: IndirectExecutionSetEXT::default(),
8572 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8573 max_sequence_count: u32::default(),
8574 max_draw_count: u32::default(),
8575 }
8576 }
8577}
8578
8579unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoEXT {}
8580unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoEXT {}
8581
8582#[repr(C)]
8584#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8585pub struct GeneratedCommandsMemoryRequirementsInfoNV {
8586 pub s_type: StructureType,
8587 pub next: *const c_void,
8588 pub pipeline_bind_point: PipelineBindPoint,
8589 pub pipeline: Pipeline,
8590 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8591 pub max_sequences_count: u32,
8592}
8593
8594impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
8595 #[inline]
8596 fn default() -> Self {
8597 Self {
8598 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
8599 next: ptr::null(),
8600 pipeline_bind_point: PipelineBindPoint::default(),
8601 pipeline: Pipeline::default(),
8602 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8603 max_sequences_count: u32::default(),
8604 }
8605 }
8606}
8607
8608unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoNV {}
8609unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoNV {}
8610
8611#[repr(C)]
8613#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8614pub struct GeneratedCommandsPipelineInfoEXT {
8615 pub s_type: StructureType,
8616 pub next: *mut c_void,
8617 pub pipeline: Pipeline,
8618}
8619
8620impl Default for GeneratedCommandsPipelineInfoEXT {
8621 #[inline]
8622 fn default() -> Self {
8623 Self {
8624 s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
8625 next: ptr::null_mut(),
8626 pipeline: Pipeline::default(),
8627 }
8628 }
8629}
8630
8631unsafe impl Send for GeneratedCommandsPipelineInfoEXT {}
8632unsafe impl Sync for GeneratedCommandsPipelineInfoEXT {}
8633
8634#[repr(C)]
8636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8637pub struct GeneratedCommandsShaderInfoEXT {
8638 pub s_type: StructureType,
8639 pub next: *mut c_void,
8640 pub shader_count: u32,
8641 pub shaders: *const ShaderEXT,
8642}
8643
8644impl Default for GeneratedCommandsShaderInfoEXT {
8645 #[inline]
8646 fn default() -> Self {
8647 Self {
8648 s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
8649 next: ptr::null_mut(),
8650 shader_count: u32::default(),
8651 shaders: ptr::null(),
8652 }
8653 }
8654}
8655
8656unsafe impl Send for GeneratedCommandsShaderInfoEXT {}
8657unsafe impl Sync for GeneratedCommandsShaderInfoEXT {}
8658
8659#[repr(C)]
8661#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8662pub struct GeometryAABBNV {
8663 pub s_type: StructureType,
8664 pub next: *const c_void,
8665 pub aabb_data: Buffer,
8666 pub num_aab_bs: u32,
8667 pub stride: u32,
8668 pub offset: DeviceSize,
8669}
8670
8671impl Default for GeometryAABBNV {
8672 #[inline]
8673 fn default() -> Self {
8674 Self {
8675 s_type: StructureType::GEOMETRY_AABB_NV,
8676 next: ptr::null(),
8677 aabb_data: Buffer::default(),
8678 num_aab_bs: u32::default(),
8679 stride: u32::default(),
8680 offset: DeviceSize::default(),
8681 }
8682 }
8683}
8684
8685unsafe impl Send for GeometryAABBNV {}
8686unsafe impl Sync for GeometryAABBNV {}
8687
8688#[repr(C)]
8690#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8691pub struct GeometryDataNV {
8692 pub triangles: GeometryTrianglesNV,
8693 pub aabbs: GeometryAABBNV,
8694}
8695
8696#[repr(C)]
8698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8699pub struct GeometryNV {
8700 pub s_type: StructureType,
8701 pub next: *const c_void,
8702 pub geometry_type: GeometryTypeKHR,
8703 pub geometry: GeometryDataNV,
8704 pub flags: GeometryFlagsKHR,
8705}
8706
8707impl Default for GeometryNV {
8708 #[inline]
8709 fn default() -> Self {
8710 Self {
8711 s_type: StructureType::GEOMETRY_NV,
8712 next: ptr::null(),
8713 geometry_type: GeometryTypeKHR::default(),
8714 geometry: GeometryDataNV::default(),
8715 flags: GeometryFlagsKHR::default(),
8716 }
8717 }
8718}
8719
8720unsafe impl Send for GeometryNV {}
8721unsafe impl Sync for GeometryNV {}
8722
8723#[repr(C)]
8725#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8726pub struct GeometryTrianglesNV {
8727 pub s_type: StructureType,
8728 pub next: *const c_void,
8729 pub vertex_data: Buffer,
8730 pub vertex_offset: DeviceSize,
8731 pub vertex_count: u32,
8732 pub vertex_stride: DeviceSize,
8733 pub vertex_format: Format,
8734 pub index_data: Buffer,
8735 pub index_offset: DeviceSize,
8736 pub index_count: u32,
8737 pub index_type: IndexType,
8738 pub transform_data: Buffer,
8739 pub transform_offset: DeviceSize,
8740}
8741
8742impl Default for GeometryTrianglesNV {
8743 #[inline]
8744 fn default() -> Self {
8745 Self {
8746 s_type: StructureType::GEOMETRY_TRIANGLES_NV,
8747 next: ptr::null(),
8748 vertex_data: Buffer::default(),
8749 vertex_offset: DeviceSize::default(),
8750 vertex_count: u32::default(),
8751 vertex_stride: DeviceSize::default(),
8752 vertex_format: Format::default(),
8753 index_data: Buffer::default(),
8754 index_offset: DeviceSize::default(),
8755 index_count: u32::default(),
8756 index_type: IndexType::default(),
8757 transform_data: Buffer::default(),
8758 transform_offset: DeviceSize::default(),
8759 }
8760 }
8761}
8762
8763unsafe impl Send for GeometryTrianglesNV {}
8764unsafe impl Sync for GeometryTrianglesNV {}
8765
8766#[repr(C)]
8768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8769pub struct GetLatencyMarkerInfoNV {
8770 pub s_type: StructureType,
8771 pub next: *const c_void,
8772 pub timing_count: u32,
8773 pub timings: *mut LatencyTimingsFrameReportNV,
8774}
8775
8776impl Default for GetLatencyMarkerInfoNV {
8777 #[inline]
8778 fn default() -> Self {
8779 Self {
8780 s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
8781 next: ptr::null(),
8782 timing_count: u32::default(),
8783 timings: ptr::null_mut(),
8784 }
8785 }
8786}
8787
8788unsafe impl Send for GetLatencyMarkerInfoNV {}
8789unsafe impl Sync for GetLatencyMarkerInfoNV {}
8790
8791#[repr(C)]
8793#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8794pub struct GraphicsPipelineCreateInfo {
8795 pub s_type: StructureType,
8796 pub next: *const c_void,
8797 pub flags: PipelineCreateFlags,
8798 pub stage_count: u32,
8799 pub stages: *const PipelineShaderStageCreateInfo,
8800 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8801 pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
8802 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8803 pub viewport_state: *const PipelineViewportStateCreateInfo,
8804 pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
8805 pub multisample_state: *const PipelineMultisampleStateCreateInfo,
8806 pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
8807 pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
8808 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
8809 pub layout: PipelineLayout,
8810 pub render_pass: RenderPass,
8811 pub subpass: u32,
8812 pub base_pipeline_handle: Pipeline,
8813 pub base_pipeline_index: i32,
8814}
8815
8816impl Default for GraphicsPipelineCreateInfo {
8817 #[inline]
8818 fn default() -> Self {
8819 Self {
8820 s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
8821 next: ptr::null(),
8822 flags: PipelineCreateFlags::default(),
8823 stage_count: u32::default(),
8824 stages: ptr::null(),
8825 vertex_input_state: ptr::null(),
8826 input_assembly_state: ptr::null(),
8827 tessellation_state: ptr::null(),
8828 viewport_state: ptr::null(),
8829 rasterization_state: ptr::null(),
8830 multisample_state: ptr::null(),
8831 depth_stencil_state: ptr::null(),
8832 color_blend_state: ptr::null(),
8833 dynamic_state: ptr::null(),
8834 layout: PipelineLayout::default(),
8835 render_pass: RenderPass::default(),
8836 subpass: u32::default(),
8837 base_pipeline_handle: Pipeline::default(),
8838 base_pipeline_index: i32::default(),
8839 }
8840 }
8841}
8842
8843unsafe impl Send for GraphicsPipelineCreateInfo {}
8844unsafe impl Sync for GraphicsPipelineCreateInfo {}
8845
8846#[repr(C)]
8848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8849pub struct GraphicsPipelineLibraryCreateInfoEXT {
8850 pub s_type: StructureType,
8851 pub next: *const c_void,
8852 pub flags: GraphicsPipelineLibraryFlagsEXT,
8853}
8854
8855impl Default for GraphicsPipelineLibraryCreateInfoEXT {
8856 #[inline]
8857 fn default() -> Self {
8858 Self {
8859 s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
8860 next: ptr::null(),
8861 flags: GraphicsPipelineLibraryFlagsEXT::default(),
8862 }
8863 }
8864}
8865
8866unsafe impl Send for GraphicsPipelineLibraryCreateInfoEXT {}
8867unsafe impl Sync for GraphicsPipelineLibraryCreateInfoEXT {}
8868
8869#[repr(C)]
8871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8872pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
8873 pub s_type: StructureType,
8874 pub next: *const c_void,
8875 pub group_count: u32,
8876 pub groups: *const GraphicsShaderGroupCreateInfoNV,
8877 pub pipeline_count: u32,
8878 pub pipelines: *const Pipeline,
8879}
8880
8881impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
8882 #[inline]
8883 fn default() -> Self {
8884 Self {
8885 s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
8886 next: ptr::null(),
8887 group_count: u32::default(),
8888 groups: ptr::null(),
8889 pipeline_count: u32::default(),
8890 pipelines: ptr::null(),
8891 }
8892 }
8893}
8894
8895unsafe impl Send for GraphicsPipelineShaderGroupsCreateInfoNV {}
8896unsafe impl Sync for GraphicsPipelineShaderGroupsCreateInfoNV {}
8897
8898#[repr(C)]
8900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8901pub struct GraphicsShaderGroupCreateInfoNV {
8902 pub s_type: StructureType,
8903 pub next: *const c_void,
8904 pub stage_count: u32,
8905 pub stages: *const PipelineShaderStageCreateInfo,
8906 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8907 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8908}
8909
8910impl Default for GraphicsShaderGroupCreateInfoNV {
8911 #[inline]
8912 fn default() -> Self {
8913 Self {
8914 s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
8915 next: ptr::null(),
8916 stage_count: u32::default(),
8917 stages: ptr::null(),
8918 vertex_input_state: ptr::null(),
8919 tessellation_state: ptr::null(),
8920 }
8921 }
8922}
8923
8924unsafe impl Send for GraphicsShaderGroupCreateInfoNV {}
8925unsafe impl Sync for GraphicsShaderGroupCreateInfoNV {}
8926
8927#[repr(C)]
8929#[derive(Copy, Clone, Debug, PartialEq)]
8930pub struct HdrMetadataEXT {
8931 pub s_type: StructureType,
8932 pub next: *const c_void,
8933 pub display_primary_red: XYColorEXT,
8934 pub display_primary_green: XYColorEXT,
8935 pub display_primary_blue: XYColorEXT,
8936 pub white_point: XYColorEXT,
8937 pub max_luminance: f32,
8938 pub min_luminance: f32,
8939 pub max_content_light_level: f32,
8940 pub max_frame_average_light_level: f32,
8941}
8942
8943impl Default for HdrMetadataEXT {
8944 #[inline]
8945 fn default() -> Self {
8946 Self {
8947 s_type: StructureType::HDR_METADATA_EXT,
8948 next: ptr::null(),
8949 display_primary_red: XYColorEXT::default(),
8950 display_primary_green: XYColorEXT::default(),
8951 display_primary_blue: XYColorEXT::default(),
8952 white_point: XYColorEXT::default(),
8953 max_luminance: f32::default(),
8954 min_luminance: f32::default(),
8955 max_content_light_level: f32::default(),
8956 max_frame_average_light_level: f32::default(),
8957 }
8958 }
8959}
8960
8961unsafe impl Send for HdrMetadataEXT {}
8962unsafe impl Sync for HdrMetadataEXT {}
8963
8964#[repr(C)]
8966#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8967pub struct HdrVividDynamicMetadataHUAWEI {
8968 pub s_type: StructureType,
8969 pub next: *const c_void,
8970 pub dynamic_metadata_size: usize,
8971 pub dynamic_metadata: *const c_void,
8972}
8973
8974impl Default for HdrVividDynamicMetadataHUAWEI {
8975 #[inline]
8976 fn default() -> Self {
8977 Self {
8978 s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
8979 next: ptr::null(),
8980 dynamic_metadata_size: usize::default(),
8981 dynamic_metadata: ptr::null(),
8982 }
8983 }
8984}
8985
8986unsafe impl Send for HdrVividDynamicMetadataHUAWEI {}
8987unsafe impl Sync for HdrVividDynamicMetadataHUAWEI {}
8988
8989#[repr(C)]
8991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8992pub struct HeadlessSurfaceCreateInfoEXT {
8993 pub s_type: StructureType,
8994 pub next: *const c_void,
8995 pub flags: HeadlessSurfaceCreateFlagsEXT,
8996}
8997
8998impl Default for HeadlessSurfaceCreateInfoEXT {
8999 #[inline]
9000 fn default() -> Self {
9001 Self {
9002 s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
9003 next: ptr::null(),
9004 flags: HeadlessSurfaceCreateFlagsEXT::default(),
9005 }
9006 }
9007}
9008
9009unsafe impl Send for HeadlessSurfaceCreateInfoEXT {}
9010unsafe impl Sync for HeadlessSurfaceCreateInfoEXT {}
9011
9012#[repr(C)]
9014#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9015pub struct HostImageCopyDevicePerformanceQuery {
9016 pub s_type: StructureType,
9017 pub next: *mut c_void,
9018 pub optimal_device_access: Bool32,
9019 pub identical_memory_layout: Bool32,
9020}
9021
9022impl Default for HostImageCopyDevicePerformanceQuery {
9023 #[inline]
9024 fn default() -> Self {
9025 Self {
9026 s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
9027 next: ptr::null_mut(),
9028 optimal_device_access: Bool32::default(),
9029 identical_memory_layout: Bool32::default(),
9030 }
9031 }
9032}
9033
9034unsafe impl Send for HostImageCopyDevicePerformanceQuery {}
9035unsafe impl Sync for HostImageCopyDevicePerformanceQuery {}
9036
9037#[repr(C)]
9039#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9040pub struct HostImageLayoutTransitionInfo {
9041 pub s_type: StructureType,
9042 pub next: *const c_void,
9043 pub image: Image,
9044 pub old_layout: ImageLayout,
9045 pub new_layout: ImageLayout,
9046 pub subresource_range: ImageSubresourceRange,
9047}
9048
9049impl Default for HostImageLayoutTransitionInfo {
9050 #[inline]
9051 fn default() -> Self {
9052 Self {
9053 s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
9054 next: ptr::null(),
9055 image: Image::default(),
9056 old_layout: ImageLayout::default(),
9057 new_layout: ImageLayout::default(),
9058 subresource_range: ImageSubresourceRange::default(),
9059 }
9060 }
9061}
9062
9063unsafe impl Send for HostImageLayoutTransitionInfo {}
9064unsafe impl Sync for HostImageLayoutTransitionInfo {}
9065
9066#[repr(C)]
9068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9069pub struct IOSSurfaceCreateInfoMVK {
9070 pub s_type: StructureType,
9071 pub next: *const c_void,
9072 pub flags: IOSSurfaceCreateFlagsMVK,
9073 pub view: *const c_void,
9074}
9075
9076impl Default for IOSSurfaceCreateInfoMVK {
9077 #[inline]
9078 fn default() -> Self {
9079 Self {
9080 s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
9081 next: ptr::null(),
9082 flags: IOSSurfaceCreateFlagsMVK::default(),
9083 view: ptr::null(),
9084 }
9085 }
9086}
9087
9088unsafe impl Send for IOSSurfaceCreateInfoMVK {}
9089unsafe impl Sync for IOSSurfaceCreateInfoMVK {}
9090
9091#[repr(C)]
9093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9094pub struct ImageAlignmentControlCreateInfoMESA {
9095 pub s_type: StructureType,
9096 pub next: *const c_void,
9097 pub maximum_requested_alignment: u32,
9098}
9099
9100impl Default for ImageAlignmentControlCreateInfoMESA {
9101 #[inline]
9102 fn default() -> Self {
9103 Self {
9104 s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
9105 next: ptr::null(),
9106 maximum_requested_alignment: u32::default(),
9107 }
9108 }
9109}
9110
9111unsafe impl Send for ImageAlignmentControlCreateInfoMESA {}
9112unsafe impl Sync for ImageAlignmentControlCreateInfoMESA {}
9113
9114#[repr(C)]
9116#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9117pub struct ImageBlit {
9118 pub src_subresource: ImageSubresourceLayers,
9119 pub src_offsets: [Offset3D; 2],
9120 pub dst_subresource: ImageSubresourceLayers,
9121 pub dst_offsets: [Offset3D; 2],
9122}
9123
9124#[repr(C)]
9126#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9127pub struct ImageBlit2 {
9128 pub s_type: StructureType,
9129 pub next: *const c_void,
9130 pub src_subresource: ImageSubresourceLayers,
9131 pub src_offsets: [Offset3D; 2],
9132 pub dst_subresource: ImageSubresourceLayers,
9133 pub dst_offsets: [Offset3D; 2],
9134}
9135
9136impl Default for ImageBlit2 {
9137 #[inline]
9138 fn default() -> Self {
9139 Self {
9140 s_type: StructureType::IMAGE_BLIT_2,
9141 next: ptr::null(),
9142 src_subresource: ImageSubresourceLayers::default(),
9143 src_offsets: [Offset3D::default(); 2],
9144 dst_subresource: ImageSubresourceLayers::default(),
9145 dst_offsets: [Offset3D::default(); 2],
9146 }
9147 }
9148}
9149
9150unsafe impl Send for ImageBlit2 {}
9151unsafe impl Sync for ImageBlit2 {}
9152
9153#[repr(C)]
9155#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9156pub struct ImageCaptureDescriptorDataInfoEXT {
9157 pub s_type: StructureType,
9158 pub next: *const c_void,
9159 pub image: Image,
9160}
9161
9162impl Default for ImageCaptureDescriptorDataInfoEXT {
9163 #[inline]
9164 fn default() -> Self {
9165 Self {
9166 s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9167 next: ptr::null(),
9168 image: Image::default(),
9169 }
9170 }
9171}
9172
9173unsafe impl Send for ImageCaptureDescriptorDataInfoEXT {}
9174unsafe impl Sync for ImageCaptureDescriptorDataInfoEXT {}
9175
9176#[repr(C)]
9178#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9179pub struct ImageCompressionControlEXT {
9180 pub s_type: StructureType,
9181 pub next: *const c_void,
9182 pub flags: ImageCompressionFlagsEXT,
9183 pub compression_control_plane_count: u32,
9184 pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
9185}
9186
9187impl Default for ImageCompressionControlEXT {
9188 #[inline]
9189 fn default() -> Self {
9190 Self {
9191 s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
9192 next: ptr::null(),
9193 flags: ImageCompressionFlagsEXT::default(),
9194 compression_control_plane_count: u32::default(),
9195 fixed_rate_flags: ptr::null_mut(),
9196 }
9197 }
9198}
9199
9200unsafe impl Send for ImageCompressionControlEXT {}
9201unsafe impl Sync for ImageCompressionControlEXT {}
9202
9203#[repr(C)]
9205#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9206pub struct ImageCompressionPropertiesEXT {
9207 pub s_type: StructureType,
9208 pub next: *mut c_void,
9209 pub image_compression_flags: ImageCompressionFlagsEXT,
9210 pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
9211}
9212
9213impl Default for ImageCompressionPropertiesEXT {
9214 #[inline]
9215 fn default() -> Self {
9216 Self {
9217 s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
9218 next: ptr::null_mut(),
9219 image_compression_flags: ImageCompressionFlagsEXT::default(),
9220 image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
9221 }
9222 }
9223}
9224
9225unsafe impl Send for ImageCompressionPropertiesEXT {}
9226unsafe impl Sync for ImageCompressionPropertiesEXT {}
9227
9228#[repr(C)]
9230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9231pub struct ImageConstraintsInfoFUCHSIA {
9232 pub s_type: StructureType,
9233 pub next: *const c_void,
9234 pub format_constraints_count: u32,
9235 pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
9236 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
9237 pub flags: ImageConstraintsInfoFlagsFUCHSIA,
9238}
9239
9240impl Default for ImageConstraintsInfoFUCHSIA {
9241 #[inline]
9242 fn default() -> Self {
9243 Self {
9244 s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
9245 next: ptr::null(),
9246 format_constraints_count: u32::default(),
9247 format_constraints: ptr::null(),
9248 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
9249 flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
9250 }
9251 }
9252}
9253
9254unsafe impl Send for ImageConstraintsInfoFUCHSIA {}
9255unsafe impl Sync for ImageConstraintsInfoFUCHSIA {}
9256
9257#[repr(C)]
9259#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9260pub struct ImageCopy {
9261 pub src_subresource: ImageSubresourceLayers,
9262 pub src_offset: Offset3D,
9263 pub dst_subresource: ImageSubresourceLayers,
9264 pub dst_offset: Offset3D,
9265 pub extent: Extent3D,
9266}
9267
9268#[repr(C)]
9270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9271pub struct ImageCopy2 {
9272 pub s_type: StructureType,
9273 pub next: *const c_void,
9274 pub src_subresource: ImageSubresourceLayers,
9275 pub src_offset: Offset3D,
9276 pub dst_subresource: ImageSubresourceLayers,
9277 pub dst_offset: Offset3D,
9278 pub extent: Extent3D,
9279}
9280
9281impl Default for ImageCopy2 {
9282 #[inline]
9283 fn default() -> Self {
9284 Self {
9285 s_type: StructureType::IMAGE_COPY_2,
9286 next: ptr::null(),
9287 src_subresource: ImageSubresourceLayers::default(),
9288 src_offset: Offset3D::default(),
9289 dst_subresource: ImageSubresourceLayers::default(),
9290 dst_offset: Offset3D::default(),
9291 extent: Extent3D::default(),
9292 }
9293 }
9294}
9295
9296unsafe impl Send for ImageCopy2 {}
9297unsafe impl Sync for ImageCopy2 {}
9298
9299#[repr(C)]
9301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9302pub struct ImageCreateInfo {
9303 pub s_type: StructureType,
9304 pub next: *const c_void,
9305 pub flags: ImageCreateFlags,
9306 pub image_type: ImageType,
9307 pub format: Format,
9308 pub extent: Extent3D,
9309 pub mip_levels: u32,
9310 pub array_layers: u32,
9311 pub samples: SampleCountFlags,
9312 pub tiling: ImageTiling,
9313 pub usage: ImageUsageFlags,
9314 pub sharing_mode: SharingMode,
9315 pub queue_family_index_count: u32,
9316 pub queue_family_indices: *const u32,
9317 pub initial_layout: ImageLayout,
9318}
9319
9320impl Default for ImageCreateInfo {
9321 #[inline]
9322 fn default() -> Self {
9323 Self {
9324 s_type: StructureType::IMAGE_CREATE_INFO,
9325 next: ptr::null(),
9326 flags: ImageCreateFlags::default(),
9327 image_type: ImageType::default(),
9328 format: Format::default(),
9329 extent: Extent3D::default(),
9330 mip_levels: u32::default(),
9331 array_layers: u32::default(),
9332 samples: SampleCountFlags::default(),
9333 tiling: ImageTiling::default(),
9334 usage: ImageUsageFlags::default(),
9335 sharing_mode: SharingMode::default(),
9336 queue_family_index_count: u32::default(),
9337 queue_family_indices: ptr::null(),
9338 initial_layout: ImageLayout::default(),
9339 }
9340 }
9341}
9342
9343unsafe impl Send for ImageCreateInfo {}
9344unsafe impl Sync for ImageCreateInfo {}
9345
9346#[repr(C)]
9348#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9349pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
9350 pub s_type: StructureType,
9351 pub next: *const c_void,
9352 pub drm_format_modifier: u64,
9353 pub drm_format_modifier_plane_count: u32,
9354 pub plane_layouts: *const SubresourceLayout,
9355}
9356
9357impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
9358 #[inline]
9359 fn default() -> Self {
9360 Self {
9361 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
9362 next: ptr::null(),
9363 drm_format_modifier: u64::default(),
9364 drm_format_modifier_plane_count: u32::default(),
9365 plane_layouts: ptr::null(),
9366 }
9367 }
9368}
9369
9370unsafe impl Send for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9371unsafe impl Sync for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9372
9373#[repr(C)]
9375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9376pub struct ImageDrmFormatModifierListCreateInfoEXT {
9377 pub s_type: StructureType,
9378 pub next: *const c_void,
9379 pub drm_format_modifier_count: u32,
9380 pub drm_format_modifiers: *const u64,
9381}
9382
9383impl Default for ImageDrmFormatModifierListCreateInfoEXT {
9384 #[inline]
9385 fn default() -> Self {
9386 Self {
9387 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
9388 next: ptr::null(),
9389 drm_format_modifier_count: u32::default(),
9390 drm_format_modifiers: ptr::null(),
9391 }
9392 }
9393}
9394
9395unsafe impl Send for ImageDrmFormatModifierListCreateInfoEXT {}
9396unsafe impl Sync for ImageDrmFormatModifierListCreateInfoEXT {}
9397
9398#[repr(C)]
9400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9401pub struct ImageDrmFormatModifierPropertiesEXT {
9402 pub s_type: StructureType,
9403 pub next: *mut c_void,
9404 pub drm_format_modifier: u64,
9405}
9406
9407impl Default for ImageDrmFormatModifierPropertiesEXT {
9408 #[inline]
9409 fn default() -> Self {
9410 Self {
9411 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
9412 next: ptr::null_mut(),
9413 drm_format_modifier: u64::default(),
9414 }
9415 }
9416}
9417
9418unsafe impl Send for ImageDrmFormatModifierPropertiesEXT {}
9419unsafe impl Sync for ImageDrmFormatModifierPropertiesEXT {}
9420
9421#[repr(C)]
9423#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9424pub struct ImageFormatConstraintsInfoFUCHSIA {
9425 pub s_type: StructureType,
9426 pub next: *const c_void,
9427 pub image_create_info: ImageCreateInfo,
9428 pub required_format_features: FormatFeatureFlags,
9429 pub flags: ImageFormatConstraintsFlagsFUCHSIA,
9430 pub sysmem_pixel_format: u64,
9431 pub color_space_count: u32,
9432 pub color_spaces: *const SysmemColorSpaceFUCHSIA,
9433}
9434
9435impl Default for ImageFormatConstraintsInfoFUCHSIA {
9436 #[inline]
9437 fn default() -> Self {
9438 Self {
9439 s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
9440 next: ptr::null(),
9441 image_create_info: ImageCreateInfo::default(),
9442 required_format_features: FormatFeatureFlags::default(),
9443 flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
9444 sysmem_pixel_format: u64::default(),
9445 color_space_count: u32::default(),
9446 color_spaces: ptr::null(),
9447 }
9448 }
9449}
9450
9451unsafe impl Send for ImageFormatConstraintsInfoFUCHSIA {}
9452unsafe impl Sync for ImageFormatConstraintsInfoFUCHSIA {}
9453
9454#[repr(C)]
9456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9457pub struct ImageFormatListCreateInfo {
9458 pub s_type: StructureType,
9459 pub next: *const c_void,
9460 pub view_format_count: u32,
9461 pub view_formats: *const Format,
9462}
9463
9464impl Default for ImageFormatListCreateInfo {
9465 #[inline]
9466 fn default() -> Self {
9467 Self {
9468 s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
9469 next: ptr::null(),
9470 view_format_count: u32::default(),
9471 view_formats: ptr::null(),
9472 }
9473 }
9474}
9475
9476unsafe impl Send for ImageFormatListCreateInfo {}
9477unsafe impl Sync for ImageFormatListCreateInfo {}
9478
9479#[repr(C)]
9481#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9482pub struct ImageFormatProperties {
9483 pub max_extent: Extent3D,
9484 pub max_mip_levels: u32,
9485 pub max_array_layers: u32,
9486 pub sample_counts: SampleCountFlags,
9487 pub max_resource_size: DeviceSize,
9488}
9489
9490#[repr(C)]
9492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9493pub struct ImageFormatProperties2 {
9494 pub s_type: StructureType,
9495 pub next: *mut c_void,
9496 pub image_format_properties: ImageFormatProperties,
9497}
9498
9499impl Default for ImageFormatProperties2 {
9500 #[inline]
9501 fn default() -> Self {
9502 Self {
9503 s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
9504 next: ptr::null_mut(),
9505 image_format_properties: ImageFormatProperties::default(),
9506 }
9507 }
9508}
9509
9510unsafe impl Send for ImageFormatProperties2 {}
9511unsafe impl Sync for ImageFormatProperties2 {}
9512
9513#[repr(C)]
9515#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9516pub struct ImageMemoryBarrier {
9517 pub s_type: StructureType,
9518 pub next: *const c_void,
9519 pub src_access_mask: AccessFlags,
9520 pub dst_access_mask: AccessFlags,
9521 pub old_layout: ImageLayout,
9522 pub new_layout: ImageLayout,
9523 pub src_queue_family_index: u32,
9524 pub dst_queue_family_index: u32,
9525 pub image: Image,
9526 pub subresource_range: ImageSubresourceRange,
9527}
9528
9529impl Default for ImageMemoryBarrier {
9530 #[inline]
9531 fn default() -> Self {
9532 Self {
9533 s_type: StructureType::IMAGE_MEMORY_BARRIER,
9534 next: ptr::null(),
9535 src_access_mask: AccessFlags::default(),
9536 dst_access_mask: AccessFlags::default(),
9537 old_layout: ImageLayout::default(),
9538 new_layout: ImageLayout::default(),
9539 src_queue_family_index: u32::default(),
9540 dst_queue_family_index: u32::default(),
9541 image: Image::default(),
9542 subresource_range: ImageSubresourceRange::default(),
9543 }
9544 }
9545}
9546
9547unsafe impl Send for ImageMemoryBarrier {}
9548unsafe impl Sync for ImageMemoryBarrier {}
9549
9550#[repr(C)]
9552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9553pub struct ImageMemoryBarrier2 {
9554 pub s_type: StructureType,
9555 pub next: *const c_void,
9556 pub src_stage_mask: PipelineStageFlags2,
9557 pub src_access_mask: AccessFlags2,
9558 pub dst_stage_mask: PipelineStageFlags2,
9559 pub dst_access_mask: AccessFlags2,
9560 pub old_layout: ImageLayout,
9561 pub new_layout: ImageLayout,
9562 pub src_queue_family_index: u32,
9563 pub dst_queue_family_index: u32,
9564 pub image: Image,
9565 pub subresource_range: ImageSubresourceRange,
9566}
9567
9568impl Default for ImageMemoryBarrier2 {
9569 #[inline]
9570 fn default() -> Self {
9571 Self {
9572 s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
9573 next: ptr::null(),
9574 src_stage_mask: PipelineStageFlags2::default(),
9575 src_access_mask: AccessFlags2::default(),
9576 dst_stage_mask: PipelineStageFlags2::default(),
9577 dst_access_mask: AccessFlags2::default(),
9578 old_layout: ImageLayout::default(),
9579 new_layout: ImageLayout::default(),
9580 src_queue_family_index: u32::default(),
9581 dst_queue_family_index: u32::default(),
9582 image: Image::default(),
9583 subresource_range: ImageSubresourceRange::default(),
9584 }
9585 }
9586}
9587
9588unsafe impl Send for ImageMemoryBarrier2 {}
9589unsafe impl Sync for ImageMemoryBarrier2 {}
9590
9591#[repr(C)]
9593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9594pub struct ImageMemoryRequirementsInfo2 {
9595 pub s_type: StructureType,
9596 pub next: *const c_void,
9597 pub image: Image,
9598}
9599
9600impl Default for ImageMemoryRequirementsInfo2 {
9601 #[inline]
9602 fn default() -> Self {
9603 Self {
9604 s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
9605 next: ptr::null(),
9606 image: Image::default(),
9607 }
9608 }
9609}
9610
9611unsafe impl Send for ImageMemoryRequirementsInfo2 {}
9612unsafe impl Sync for ImageMemoryRequirementsInfo2 {}
9613
9614#[repr(C)]
9616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9617pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
9618 pub s_type: StructureType,
9619 pub next: *const c_void,
9620 pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
9621 pub image_pipe_handle: zx_handle_t,
9622}
9623
9624impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
9625 #[inline]
9626 fn default() -> Self {
9627 Self {
9628 s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
9629 next: ptr::null(),
9630 flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
9631 image_pipe_handle: zx_handle_t::default(),
9632 }
9633 }
9634}
9635
9636unsafe impl Send for ImagePipeSurfaceCreateInfoFUCHSIA {}
9637unsafe impl Sync for ImagePipeSurfaceCreateInfoFUCHSIA {}
9638
9639#[repr(C)]
9641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9642pub struct ImagePlaneMemoryRequirementsInfo {
9643 pub s_type: StructureType,
9644 pub next: *const c_void,
9645 pub plane_aspect: ImageAspectFlags,
9646}
9647
9648impl Default for ImagePlaneMemoryRequirementsInfo {
9649 #[inline]
9650 fn default() -> Self {
9651 Self {
9652 s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
9653 next: ptr::null(),
9654 plane_aspect: ImageAspectFlags::default(),
9655 }
9656 }
9657}
9658
9659unsafe impl Send for ImagePlaneMemoryRequirementsInfo {}
9660unsafe impl Sync for ImagePlaneMemoryRequirementsInfo {}
9661
9662#[repr(C)]
9664#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9665pub struct ImageResolve {
9666 pub src_subresource: ImageSubresourceLayers,
9667 pub src_offset: Offset3D,
9668 pub dst_subresource: ImageSubresourceLayers,
9669 pub dst_offset: Offset3D,
9670 pub extent: Extent3D,
9671}
9672
9673#[repr(C)]
9675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9676pub struct ImageResolve2 {
9677 pub s_type: StructureType,
9678 pub next: *const c_void,
9679 pub src_subresource: ImageSubresourceLayers,
9680 pub src_offset: Offset3D,
9681 pub dst_subresource: ImageSubresourceLayers,
9682 pub dst_offset: Offset3D,
9683 pub extent: Extent3D,
9684}
9685
9686impl Default for ImageResolve2 {
9687 #[inline]
9688 fn default() -> Self {
9689 Self {
9690 s_type: StructureType::IMAGE_RESOLVE_2,
9691 next: ptr::null(),
9692 src_subresource: ImageSubresourceLayers::default(),
9693 src_offset: Offset3D::default(),
9694 dst_subresource: ImageSubresourceLayers::default(),
9695 dst_offset: Offset3D::default(),
9696 extent: Extent3D::default(),
9697 }
9698 }
9699}
9700
9701unsafe impl Send for ImageResolve2 {}
9702unsafe impl Sync for ImageResolve2 {}
9703
9704#[repr(C)]
9706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9707pub struct ImageSparseMemoryRequirementsInfo2 {
9708 pub s_type: StructureType,
9709 pub next: *const c_void,
9710 pub image: Image,
9711}
9712
9713impl Default for ImageSparseMemoryRequirementsInfo2 {
9714 #[inline]
9715 fn default() -> Self {
9716 Self {
9717 s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
9718 next: ptr::null(),
9719 image: Image::default(),
9720 }
9721 }
9722}
9723
9724unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {}
9725unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {}
9726
9727#[repr(C)]
9729#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9730pub struct ImageStencilUsageCreateInfo {
9731 pub s_type: StructureType,
9732 pub next: *const c_void,
9733 pub stencil_usage: ImageUsageFlags,
9734}
9735
9736impl Default for ImageStencilUsageCreateInfo {
9737 #[inline]
9738 fn default() -> Self {
9739 Self {
9740 s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
9741 next: ptr::null(),
9742 stencil_usage: ImageUsageFlags::default(),
9743 }
9744 }
9745}
9746
9747unsafe impl Send for ImageStencilUsageCreateInfo {}
9748unsafe impl Sync for ImageStencilUsageCreateInfo {}
9749
9750#[repr(C)]
9752#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9753pub struct ImageSubresource {
9754 pub aspect_mask: ImageAspectFlags,
9755 pub mip_level: u32,
9756 pub array_layer: u32,
9757}
9758
9759#[repr(C)]
9761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9762pub struct ImageSubresource2 {
9763 pub s_type: StructureType,
9764 pub next: *mut c_void,
9765 pub image_subresource: ImageSubresource,
9766}
9767
9768impl Default for ImageSubresource2 {
9769 #[inline]
9770 fn default() -> Self {
9771 Self {
9772 s_type: StructureType::IMAGE_SUBRESOURCE_2,
9773 next: ptr::null_mut(),
9774 image_subresource: ImageSubresource::default(),
9775 }
9776 }
9777}
9778
9779unsafe impl Send for ImageSubresource2 {}
9780unsafe impl Sync for ImageSubresource2 {}
9781
9782#[repr(C)]
9784#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9785pub struct ImageSubresourceLayers {
9786 pub aspect_mask: ImageAspectFlags,
9787 pub mip_level: u32,
9788 pub base_array_layer: u32,
9789 pub layer_count: u32,
9790}
9791
9792#[repr(C)]
9794#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9795pub struct ImageSubresourceRange {
9796 pub aspect_mask: ImageAspectFlags,
9797 pub base_mip_level: u32,
9798 pub level_count: u32,
9799 pub base_array_layer: u32,
9800 pub layer_count: u32,
9801}
9802
9803#[repr(C)]
9805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9806pub struct ImageSwapchainCreateInfoKHR {
9807 pub s_type: StructureType,
9808 pub next: *const c_void,
9809 pub swapchain: SwapchainKHR,
9810}
9811
9812impl Default for ImageSwapchainCreateInfoKHR {
9813 #[inline]
9814 fn default() -> Self {
9815 Self {
9816 s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
9817 next: ptr::null(),
9818 swapchain: SwapchainKHR::default(),
9819 }
9820 }
9821}
9822
9823unsafe impl Send for ImageSwapchainCreateInfoKHR {}
9824unsafe impl Sync for ImageSwapchainCreateInfoKHR {}
9825
9826#[repr(C)]
9828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9829pub struct ImageToMemoryCopy {
9830 pub s_type: StructureType,
9831 pub next: *const c_void,
9832 pub host_pointer: *mut c_void,
9833 pub memory_row_length: u32,
9834 pub memory_image_height: u32,
9835 pub image_subresource: ImageSubresourceLayers,
9836 pub image_offset: Offset3D,
9837 pub image_extent: Extent3D,
9838}
9839
9840impl Default for ImageToMemoryCopy {
9841 #[inline]
9842 fn default() -> Self {
9843 Self {
9844 s_type: StructureType::IMAGE_TO_MEMORY_COPY,
9845 next: ptr::null(),
9846 host_pointer: ptr::null_mut(),
9847 memory_row_length: u32::default(),
9848 memory_image_height: u32::default(),
9849 image_subresource: ImageSubresourceLayers::default(),
9850 image_offset: Offset3D::default(),
9851 image_extent: Extent3D::default(),
9852 }
9853 }
9854}
9855
9856unsafe impl Send for ImageToMemoryCopy {}
9857unsafe impl Sync for ImageToMemoryCopy {}
9858
9859#[repr(C)]
9861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9862pub struct ImageViewASTCDecodeModeEXT {
9863 pub s_type: StructureType,
9864 pub next: *const c_void,
9865 pub decode_mode: Format,
9866}
9867
9868impl Default for ImageViewASTCDecodeModeEXT {
9869 #[inline]
9870 fn default() -> Self {
9871 Self {
9872 s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
9873 next: ptr::null(),
9874 decode_mode: Format::default(),
9875 }
9876 }
9877}
9878
9879unsafe impl Send for ImageViewASTCDecodeModeEXT {}
9880unsafe impl Sync for ImageViewASTCDecodeModeEXT {}
9881
9882#[repr(C)]
9884#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9885pub struct ImageViewAddressPropertiesNVX {
9886 pub s_type: StructureType,
9887 pub next: *mut c_void,
9888 pub device_address: DeviceAddress,
9889 pub size: DeviceSize,
9890}
9891
9892impl Default for ImageViewAddressPropertiesNVX {
9893 #[inline]
9894 fn default() -> Self {
9895 Self {
9896 s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
9897 next: ptr::null_mut(),
9898 device_address: DeviceAddress::default(),
9899 size: DeviceSize::default(),
9900 }
9901 }
9902}
9903
9904unsafe impl Send for ImageViewAddressPropertiesNVX {}
9905unsafe impl Sync for ImageViewAddressPropertiesNVX {}
9906
9907#[repr(C)]
9909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9910pub struct ImageViewCaptureDescriptorDataInfoEXT {
9911 pub s_type: StructureType,
9912 pub next: *const c_void,
9913 pub image_view: ImageView,
9914}
9915
9916impl Default for ImageViewCaptureDescriptorDataInfoEXT {
9917 #[inline]
9918 fn default() -> Self {
9919 Self {
9920 s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9921 next: ptr::null(),
9922 image_view: ImageView::default(),
9923 }
9924 }
9925}
9926
9927unsafe impl Send for ImageViewCaptureDescriptorDataInfoEXT {}
9928unsafe impl Sync for ImageViewCaptureDescriptorDataInfoEXT {}
9929
9930#[repr(C)]
9932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9933pub struct ImageViewCreateInfo {
9934 pub s_type: StructureType,
9935 pub next: *const c_void,
9936 pub flags: ImageViewCreateFlags,
9937 pub image: Image,
9938 pub view_type: ImageViewType,
9939 pub format: Format,
9940 pub components: ComponentMapping,
9941 pub subresource_range: ImageSubresourceRange,
9942}
9943
9944impl Default for ImageViewCreateInfo {
9945 #[inline]
9946 fn default() -> Self {
9947 Self {
9948 s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
9949 next: ptr::null(),
9950 flags: ImageViewCreateFlags::default(),
9951 image: Image::default(),
9952 view_type: ImageViewType::default(),
9953 format: Format::default(),
9954 components: ComponentMapping::default(),
9955 subresource_range: ImageSubresourceRange::default(),
9956 }
9957 }
9958}
9959
9960unsafe impl Send for ImageViewCreateInfo {}
9961unsafe impl Sync for ImageViewCreateInfo {}
9962
9963#[repr(C)]
9965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9966pub struct ImageViewHandleInfoNVX {
9967 pub s_type: StructureType,
9968 pub next: *const c_void,
9969 pub image_view: ImageView,
9970 pub descriptor_type: DescriptorType,
9971 pub sampler: Sampler,
9972}
9973
9974impl Default for ImageViewHandleInfoNVX {
9975 #[inline]
9976 fn default() -> Self {
9977 Self {
9978 s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
9979 next: ptr::null(),
9980 image_view: ImageView::default(),
9981 descriptor_type: DescriptorType::default(),
9982 sampler: Sampler::default(),
9983 }
9984 }
9985}
9986
9987unsafe impl Send for ImageViewHandleInfoNVX {}
9988unsafe impl Sync for ImageViewHandleInfoNVX {}
9989
9990#[repr(C)]
9992#[derive(Copy, Clone, Debug, PartialEq)]
9993pub struct ImageViewMinLodCreateInfoEXT {
9994 pub s_type: StructureType,
9995 pub next: *const c_void,
9996 pub min_lod: f32,
9997}
9998
9999impl Default for ImageViewMinLodCreateInfoEXT {
10000 #[inline]
10001 fn default() -> Self {
10002 Self {
10003 s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
10004 next: ptr::null(),
10005 min_lod: f32::default(),
10006 }
10007 }
10008}
10009
10010unsafe impl Send for ImageViewMinLodCreateInfoEXT {}
10011unsafe impl Sync for ImageViewMinLodCreateInfoEXT {}
10012
10013#[repr(C)]
10015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10016pub struct ImageViewSampleWeightCreateInfoQCOM {
10017 pub s_type: StructureType,
10018 pub next: *const c_void,
10019 pub filter_center: Offset2D,
10020 pub filter_size: Extent2D,
10021 pub num_phases: u32,
10022}
10023
10024impl Default for ImageViewSampleWeightCreateInfoQCOM {
10025 #[inline]
10026 fn default() -> Self {
10027 Self {
10028 s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
10029 next: ptr::null(),
10030 filter_center: Offset2D::default(),
10031 filter_size: Extent2D::default(),
10032 num_phases: u32::default(),
10033 }
10034 }
10035}
10036
10037unsafe impl Send for ImageViewSampleWeightCreateInfoQCOM {}
10038unsafe impl Sync for ImageViewSampleWeightCreateInfoQCOM {}
10039
10040#[repr(C)]
10042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10043pub struct ImageViewSlicedCreateInfoEXT {
10044 pub s_type: StructureType,
10045 pub next: *const c_void,
10046 pub slice_offset: u32,
10047 pub slice_count: u32,
10048}
10049
10050impl Default for ImageViewSlicedCreateInfoEXT {
10051 #[inline]
10052 fn default() -> Self {
10053 Self {
10054 s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
10055 next: ptr::null(),
10056 slice_offset: u32::default(),
10057 slice_count: u32::default(),
10058 }
10059 }
10060}
10061
10062unsafe impl Send for ImageViewSlicedCreateInfoEXT {}
10063unsafe impl Sync for ImageViewSlicedCreateInfoEXT {}
10064
10065#[repr(C)]
10067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10068pub struct ImageViewUsageCreateInfo {
10069 pub s_type: StructureType,
10070 pub next: *const c_void,
10071 pub usage: ImageUsageFlags,
10072}
10073
10074impl Default for ImageViewUsageCreateInfo {
10075 #[inline]
10076 fn default() -> Self {
10077 Self {
10078 s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
10079 next: ptr::null(),
10080 usage: ImageUsageFlags::default(),
10081 }
10082 }
10083}
10084
10085unsafe impl Send for ImageViewUsageCreateInfo {}
10086unsafe impl Sync for ImageViewUsageCreateInfo {}
10087
10088#[repr(C)]
10090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10091pub struct ImportAndroidHardwareBufferInfoANDROID {
10092 pub s_type: StructureType,
10093 pub next: *const c_void,
10094 pub buffer: *mut AHardwareBuffer,
10095}
10096
10097impl Default for ImportAndroidHardwareBufferInfoANDROID {
10098 #[inline]
10099 fn default() -> Self {
10100 Self {
10101 s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
10102 next: ptr::null(),
10103 buffer: ptr::null_mut(),
10104 }
10105 }
10106}
10107
10108unsafe impl Send for ImportAndroidHardwareBufferInfoANDROID {}
10109unsafe impl Sync for ImportAndroidHardwareBufferInfoANDROID {}
10110
10111#[repr(C)]
10113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10114pub struct ImportFenceFdInfoKHR {
10115 pub s_type: StructureType,
10116 pub next: *const c_void,
10117 pub fence: Fence,
10118 pub flags: FenceImportFlags,
10119 pub handle_type: ExternalFenceHandleTypeFlags,
10120 pub fd: c_int,
10121}
10122
10123impl Default for ImportFenceFdInfoKHR {
10124 #[inline]
10125 fn default() -> Self {
10126 Self {
10127 s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
10128 next: ptr::null(),
10129 fence: Fence::default(),
10130 flags: FenceImportFlags::default(),
10131 handle_type: ExternalFenceHandleTypeFlags::default(),
10132 fd: c_int::default(),
10133 }
10134 }
10135}
10136
10137unsafe impl Send for ImportFenceFdInfoKHR {}
10138unsafe impl Sync for ImportFenceFdInfoKHR {}
10139
10140#[repr(C)]
10142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10143pub struct ImportFenceSciSyncInfoNV {
10144 pub s_type: StructureType,
10145 pub next: *const c_void,
10146 pub fence: Fence,
10147 pub handle_type: ExternalFenceHandleTypeFlags,
10148 pub handle: *mut c_void,
10149}
10150
10151impl Default for ImportFenceSciSyncInfoNV {
10152 #[inline]
10153 fn default() -> Self {
10154 Self {
10155 s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
10156 next: ptr::null(),
10157 fence: Fence::default(),
10158 handle_type: ExternalFenceHandleTypeFlags::default(),
10159 handle: ptr::null_mut(),
10160 }
10161 }
10162}
10163
10164unsafe impl Send for ImportFenceSciSyncInfoNV {}
10165unsafe impl Sync for ImportFenceSciSyncInfoNV {}
10166
10167#[repr(C)]
10169#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10170pub struct ImportFenceWin32HandleInfoKHR {
10171 pub s_type: StructureType,
10172 pub next: *const c_void,
10173 pub fence: Fence,
10174 pub flags: FenceImportFlags,
10175 pub handle_type: ExternalFenceHandleTypeFlags,
10176 pub handle: HANDLE,
10177 pub name: LPCWSTR,
10178}
10179
10180impl Default for ImportFenceWin32HandleInfoKHR {
10181 #[inline]
10182 fn default() -> Self {
10183 Self {
10184 s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
10185 next: ptr::null(),
10186 fence: Fence::default(),
10187 flags: FenceImportFlags::default(),
10188 handle_type: ExternalFenceHandleTypeFlags::default(),
10189 handle: ptr::null_mut(),
10190 name: ptr::null_mut(),
10191 }
10192 }
10193}
10194
10195unsafe impl Send for ImportFenceWin32HandleInfoKHR {}
10196unsafe impl Sync for ImportFenceWin32HandleInfoKHR {}
10197
10198#[repr(C)]
10200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10201pub struct ImportMemoryBufferCollectionFUCHSIA {
10202 pub s_type: StructureType,
10203 pub next: *const c_void,
10204 pub collection: BufferCollectionFUCHSIA,
10205 pub index: u32,
10206}
10207
10208impl Default for ImportMemoryBufferCollectionFUCHSIA {
10209 #[inline]
10210 fn default() -> Self {
10211 Self {
10212 s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
10213 next: ptr::null(),
10214 collection: BufferCollectionFUCHSIA::default(),
10215 index: u32::default(),
10216 }
10217 }
10218}
10219
10220unsafe impl Send for ImportMemoryBufferCollectionFUCHSIA {}
10221unsafe impl Sync for ImportMemoryBufferCollectionFUCHSIA {}
10222
10223#[repr(C)]
10225#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10226pub struct ImportMemoryFdInfoKHR {
10227 pub s_type: StructureType,
10228 pub next: *const c_void,
10229 pub handle_type: ExternalMemoryHandleTypeFlags,
10230 pub fd: c_int,
10231}
10232
10233impl Default for ImportMemoryFdInfoKHR {
10234 #[inline]
10235 fn default() -> Self {
10236 Self {
10237 s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
10238 next: ptr::null(),
10239 handle_type: ExternalMemoryHandleTypeFlags::default(),
10240 fd: c_int::default(),
10241 }
10242 }
10243}
10244
10245unsafe impl Send for ImportMemoryFdInfoKHR {}
10246unsafe impl Sync for ImportMemoryFdInfoKHR {}
10247
10248#[repr(C)]
10250#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10251pub struct ImportMemoryHostPointerInfoEXT {
10252 pub s_type: StructureType,
10253 pub next: *const c_void,
10254 pub handle_type: ExternalMemoryHandleTypeFlags,
10255 pub host_pointer: *mut c_void,
10256}
10257
10258impl Default for ImportMemoryHostPointerInfoEXT {
10259 #[inline]
10260 fn default() -> Self {
10261 Self {
10262 s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
10263 next: ptr::null(),
10264 handle_type: ExternalMemoryHandleTypeFlags::default(),
10265 host_pointer: ptr::null_mut(),
10266 }
10267 }
10268}
10269
10270unsafe impl Send for ImportMemoryHostPointerInfoEXT {}
10271unsafe impl Sync for ImportMemoryHostPointerInfoEXT {}
10272
10273#[repr(C)]
10275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10276pub struct ImportMemoryMetalHandleInfoEXT {
10277 pub s_type: StructureType,
10278 pub next: *const c_void,
10279 pub handle_type: ExternalMemoryHandleTypeFlags,
10280 pub handle: *mut c_void,
10281}
10282
10283impl Default for ImportMemoryMetalHandleInfoEXT {
10284 #[inline]
10285 fn default() -> Self {
10286 Self {
10287 s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
10288 next: ptr::null(),
10289 handle_type: ExternalMemoryHandleTypeFlags::default(),
10290 handle: ptr::null_mut(),
10291 }
10292 }
10293}
10294
10295unsafe impl Send for ImportMemoryMetalHandleInfoEXT {}
10296unsafe impl Sync for ImportMemoryMetalHandleInfoEXT {}
10297
10298#[repr(C)]
10300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10301pub struct ImportMemorySciBufInfoNV {
10302 pub s_type: StructureType,
10303 pub next: *const c_void,
10304 pub handle_type: ExternalMemoryHandleTypeFlags,
10305 pub handle: NvSciBufObj,
10306}
10307
10308impl Default for ImportMemorySciBufInfoNV {
10309 #[inline]
10310 fn default() -> Self {
10311 Self {
10312 s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
10313 next: ptr::null(),
10314 handle_type: ExternalMemoryHandleTypeFlags::default(),
10315 handle: ptr::null_mut(),
10316 }
10317 }
10318}
10319
10320unsafe impl Send for ImportMemorySciBufInfoNV {}
10321unsafe impl Sync for ImportMemorySciBufInfoNV {}
10322
10323#[repr(C)]
10325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10326pub struct ImportMemoryWin32HandleInfoKHR {
10327 pub s_type: StructureType,
10328 pub next: *const c_void,
10329 pub handle_type: ExternalMemoryHandleTypeFlags,
10330 pub handle: HANDLE,
10331 pub name: LPCWSTR,
10332}
10333
10334impl Default for ImportMemoryWin32HandleInfoKHR {
10335 #[inline]
10336 fn default() -> Self {
10337 Self {
10338 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
10339 next: ptr::null(),
10340 handle_type: ExternalMemoryHandleTypeFlags::default(),
10341 handle: ptr::null_mut(),
10342 name: ptr::null_mut(),
10343 }
10344 }
10345}
10346
10347unsafe impl Send for ImportMemoryWin32HandleInfoKHR {}
10348unsafe impl Sync for ImportMemoryWin32HandleInfoKHR {}
10349
10350#[repr(C)]
10352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10353pub struct ImportMemoryWin32HandleInfoNV {
10354 pub s_type: StructureType,
10355 pub next: *const c_void,
10356 pub handle_type: ExternalMemoryHandleTypeFlagsNV,
10357 pub handle: HANDLE,
10358}
10359
10360impl Default for ImportMemoryWin32HandleInfoNV {
10361 #[inline]
10362 fn default() -> Self {
10363 Self {
10364 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
10365 next: ptr::null(),
10366 handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
10367 handle: ptr::null_mut(),
10368 }
10369 }
10370}
10371
10372unsafe impl Send for ImportMemoryWin32HandleInfoNV {}
10373unsafe impl Sync for ImportMemoryWin32HandleInfoNV {}
10374
10375#[repr(C)]
10377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10378pub struct ImportMemoryZirconHandleInfoFUCHSIA {
10379 pub s_type: StructureType,
10380 pub next: *const c_void,
10381 pub handle_type: ExternalMemoryHandleTypeFlags,
10382 pub handle: zx_handle_t,
10383}
10384
10385impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
10386 #[inline]
10387 fn default() -> Self {
10388 Self {
10389 s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
10390 next: ptr::null(),
10391 handle_type: ExternalMemoryHandleTypeFlags::default(),
10392 handle: zx_handle_t::default(),
10393 }
10394 }
10395}
10396
10397unsafe impl Send for ImportMemoryZirconHandleInfoFUCHSIA {}
10398unsafe impl Sync for ImportMemoryZirconHandleInfoFUCHSIA {}
10399
10400#[repr(C)]
10402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10403pub struct ImportMetalBufferInfoEXT {
10404 pub s_type: StructureType,
10405 pub next: *const c_void,
10406 pub mtl_buffer: MTLBuffer_id,
10407}
10408
10409impl Default for ImportMetalBufferInfoEXT {
10410 #[inline]
10411 fn default() -> Self {
10412 Self {
10413 s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
10414 next: ptr::null(),
10415 mtl_buffer: ptr::null_mut(),
10416 }
10417 }
10418}
10419
10420unsafe impl Send for ImportMetalBufferInfoEXT {}
10421unsafe impl Sync for ImportMetalBufferInfoEXT {}
10422
10423#[repr(C)]
10425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10426pub struct ImportMetalIOSurfaceInfoEXT {
10427 pub s_type: StructureType,
10428 pub next: *const c_void,
10429 pub io_surface: IOSurfaceRef,
10430}
10431
10432impl Default for ImportMetalIOSurfaceInfoEXT {
10433 #[inline]
10434 fn default() -> Self {
10435 Self {
10436 s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
10437 next: ptr::null(),
10438 io_surface: ptr::null_mut(),
10439 }
10440 }
10441}
10442
10443unsafe impl Send for ImportMetalIOSurfaceInfoEXT {}
10444unsafe impl Sync for ImportMetalIOSurfaceInfoEXT {}
10445
10446#[repr(C)]
10448#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10449pub struct ImportMetalSharedEventInfoEXT {
10450 pub s_type: StructureType,
10451 pub next: *const c_void,
10452 pub mtl_shared_event: MTLSharedEvent_id,
10453}
10454
10455impl Default for ImportMetalSharedEventInfoEXT {
10456 #[inline]
10457 fn default() -> Self {
10458 Self {
10459 s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
10460 next: ptr::null(),
10461 mtl_shared_event: ptr::null_mut(),
10462 }
10463 }
10464}
10465
10466unsafe impl Send for ImportMetalSharedEventInfoEXT {}
10467unsafe impl Sync for ImportMetalSharedEventInfoEXT {}
10468
10469#[repr(C)]
10471#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10472pub struct ImportMetalTextureInfoEXT {
10473 pub s_type: StructureType,
10474 pub next: *const c_void,
10475 pub plane: ImageAspectFlags,
10476 pub mtl_texture: MTLTexture_id,
10477}
10478
10479impl Default for ImportMetalTextureInfoEXT {
10480 #[inline]
10481 fn default() -> Self {
10482 Self {
10483 s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
10484 next: ptr::null(),
10485 plane: ImageAspectFlags::default(),
10486 mtl_texture: ptr::null_mut(),
10487 }
10488 }
10489}
10490
10491unsafe impl Send for ImportMetalTextureInfoEXT {}
10492unsafe impl Sync for ImportMetalTextureInfoEXT {}
10493
10494#[repr(C)]
10496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10497pub struct ImportNativeBufferInfoOHOS {
10498 pub s_type: StructureType,
10499 pub next: *const c_void,
10500 pub buffer: *mut OH_NativeBuffer,
10501}
10502
10503impl Default for ImportNativeBufferInfoOHOS {
10504 #[inline]
10505 fn default() -> Self {
10506 Self {
10507 s_type: StructureType::IMPORT_NATIVE_BUFFER_INFO_OHOS,
10508 next: ptr::null(),
10509 buffer: ptr::null_mut(),
10510 }
10511 }
10512}
10513
10514unsafe impl Send for ImportNativeBufferInfoOHOS {}
10515unsafe impl Sync for ImportNativeBufferInfoOHOS {}
10516
10517#[repr(C)]
10519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10520pub struct ImportScreenBufferInfoQNX {
10521 pub s_type: StructureType,
10522 pub next: *const c_void,
10523 pub buffer: *mut _screen_buffer,
10524}
10525
10526impl Default for ImportScreenBufferInfoQNX {
10527 #[inline]
10528 fn default() -> Self {
10529 Self {
10530 s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
10531 next: ptr::null(),
10532 buffer: ptr::null_mut(),
10533 }
10534 }
10535}
10536
10537unsafe impl Send for ImportScreenBufferInfoQNX {}
10538unsafe impl Sync for ImportScreenBufferInfoQNX {}
10539
10540#[repr(C)]
10542#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10543pub struct ImportSemaphoreFdInfoKHR {
10544 pub s_type: StructureType,
10545 pub next: *const c_void,
10546 pub semaphore: Semaphore,
10547 pub flags: SemaphoreImportFlags,
10548 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10549 pub fd: c_int,
10550}
10551
10552impl Default for ImportSemaphoreFdInfoKHR {
10553 #[inline]
10554 fn default() -> Self {
10555 Self {
10556 s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
10557 next: ptr::null(),
10558 semaphore: Semaphore::default(),
10559 flags: SemaphoreImportFlags::default(),
10560 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10561 fd: c_int::default(),
10562 }
10563 }
10564}
10565
10566unsafe impl Send for ImportSemaphoreFdInfoKHR {}
10567unsafe impl Sync for ImportSemaphoreFdInfoKHR {}
10568
10569#[repr(C)]
10571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10572pub struct ImportSemaphoreSciSyncInfoNV {
10573 pub s_type: StructureType,
10574 pub next: *const c_void,
10575 pub semaphore: Semaphore,
10576 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10577 pub handle: *mut c_void,
10578}
10579
10580impl Default for ImportSemaphoreSciSyncInfoNV {
10581 #[inline]
10582 fn default() -> Self {
10583 Self {
10584 s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
10585 next: ptr::null(),
10586 semaphore: Semaphore::default(),
10587 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10588 handle: ptr::null_mut(),
10589 }
10590 }
10591}
10592
10593unsafe impl Send for ImportSemaphoreSciSyncInfoNV {}
10594unsafe impl Sync for ImportSemaphoreSciSyncInfoNV {}
10595
10596#[repr(C)]
10598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10599pub struct ImportSemaphoreWin32HandleInfoKHR {
10600 pub s_type: StructureType,
10601 pub next: *const c_void,
10602 pub semaphore: Semaphore,
10603 pub flags: SemaphoreImportFlags,
10604 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10605 pub handle: HANDLE,
10606 pub name: LPCWSTR,
10607}
10608
10609impl Default for ImportSemaphoreWin32HandleInfoKHR {
10610 #[inline]
10611 fn default() -> Self {
10612 Self {
10613 s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
10614 next: ptr::null(),
10615 semaphore: Semaphore::default(),
10616 flags: SemaphoreImportFlags::default(),
10617 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10618 handle: ptr::null_mut(),
10619 name: ptr::null_mut(),
10620 }
10621 }
10622}
10623
10624unsafe impl Send for ImportSemaphoreWin32HandleInfoKHR {}
10625unsafe impl Sync for ImportSemaphoreWin32HandleInfoKHR {}
10626
10627#[repr(C)]
10629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10630pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
10631 pub s_type: StructureType,
10632 pub next: *const c_void,
10633 pub semaphore: Semaphore,
10634 pub flags: SemaphoreImportFlags,
10635 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10636 pub zircon_handle: zx_handle_t,
10637}
10638
10639impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
10640 #[inline]
10641 fn default() -> Self {
10642 Self {
10643 s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
10644 next: ptr::null(),
10645 semaphore: Semaphore::default(),
10646 flags: SemaphoreImportFlags::default(),
10647 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10648 zircon_handle: zx_handle_t::default(),
10649 }
10650 }
10651}
10652
10653unsafe impl Send for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10654unsafe impl Sync for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10655
10656#[repr(C)]
10658#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10659pub struct IndirectCommandsExecutionSetTokenEXT {
10660 pub type_: IndirectExecutionSetInfoTypeEXT,
10661 pub shader_stages: ShaderStageFlags,
10662}
10663
10664#[repr(C)]
10666#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10667pub struct IndirectCommandsIndexBufferTokenEXT {
10668 pub mode: IndirectCommandsInputModeFlagsEXT,
10669}
10670
10671#[repr(C)]
10673#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10674pub struct IndirectCommandsLayoutCreateInfoEXT {
10675 pub s_type: StructureType,
10676 pub next: *const c_void,
10677 pub flags: IndirectCommandsLayoutUsageFlagsEXT,
10678 pub shader_stages: ShaderStageFlags,
10679 pub indirect_stride: u32,
10680 pub pipeline_layout: PipelineLayout,
10681 pub token_count: u32,
10682 pub tokens: *const IndirectCommandsLayoutTokenEXT,
10683}
10684
10685impl Default for IndirectCommandsLayoutCreateInfoEXT {
10686 #[inline]
10687 fn default() -> Self {
10688 Self {
10689 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
10690 next: ptr::null(),
10691 flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
10692 shader_stages: ShaderStageFlags::default(),
10693 indirect_stride: u32::default(),
10694 pipeline_layout: PipelineLayout::default(),
10695 token_count: u32::default(),
10696 tokens: ptr::null(),
10697 }
10698 }
10699}
10700
10701unsafe impl Send for IndirectCommandsLayoutCreateInfoEXT {}
10702unsafe impl Sync for IndirectCommandsLayoutCreateInfoEXT {}
10703
10704#[repr(C)]
10706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10707pub struct IndirectCommandsLayoutCreateInfoNV {
10708 pub s_type: StructureType,
10709 pub next: *const c_void,
10710 pub flags: IndirectCommandsLayoutUsageFlagsNV,
10711 pub pipeline_bind_point: PipelineBindPoint,
10712 pub token_count: u32,
10713 pub tokens: *const IndirectCommandsLayoutTokenNV,
10714 pub stream_count: u32,
10715 pub stream_strides: *const u32,
10716}
10717
10718impl Default for IndirectCommandsLayoutCreateInfoNV {
10719 #[inline]
10720 fn default() -> Self {
10721 Self {
10722 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
10723 next: ptr::null(),
10724 flags: IndirectCommandsLayoutUsageFlagsNV::default(),
10725 pipeline_bind_point: PipelineBindPoint::default(),
10726 token_count: u32::default(),
10727 tokens: ptr::null(),
10728 stream_count: u32::default(),
10729 stream_strides: ptr::null(),
10730 }
10731 }
10732}
10733
10734unsafe impl Send for IndirectCommandsLayoutCreateInfoNV {}
10735unsafe impl Sync for IndirectCommandsLayoutCreateInfoNV {}
10736
10737#[repr(C)]
10739#[derive(Copy, Clone, Debug)]
10740pub struct IndirectCommandsLayoutTokenEXT {
10741 pub s_type: StructureType,
10742 pub next: *const c_void,
10743 pub type_: IndirectCommandsTokenTypeEXT,
10744 pub data: IndirectCommandsTokenDataEXT,
10745 pub offset: u32,
10746}
10747
10748impl Default for IndirectCommandsLayoutTokenEXT {
10749 #[inline]
10750 fn default() -> Self {
10751 Self {
10752 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
10753 next: ptr::null(),
10754 type_: IndirectCommandsTokenTypeEXT::default(),
10755 data: IndirectCommandsTokenDataEXT::default(),
10756 offset: u32::default(),
10757 }
10758 }
10759}
10760
10761unsafe impl Send for IndirectCommandsLayoutTokenEXT {}
10762unsafe impl Sync for IndirectCommandsLayoutTokenEXT {}
10763
10764#[repr(C)]
10766#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10767pub struct IndirectCommandsLayoutTokenNV {
10768 pub s_type: StructureType,
10769 pub next: *const c_void,
10770 pub token_type: IndirectCommandsTokenTypeNV,
10771 pub stream: u32,
10772 pub offset: u32,
10773 pub vertex_binding_unit: u32,
10774 pub vertex_dynamic_stride: Bool32,
10775 pub pushconstant_pipeline_layout: PipelineLayout,
10776 pub pushconstant_shader_stage_flags: ShaderStageFlags,
10777 pub pushconstant_offset: u32,
10778 pub pushconstant_size: u32,
10779 pub indirect_state_flags: IndirectStateFlagsNV,
10780 pub index_type_count: u32,
10781 pub index_types: *const IndexType,
10782 pub index_type_values: *const u32,
10783}
10784
10785impl Default for IndirectCommandsLayoutTokenNV {
10786 #[inline]
10787 fn default() -> Self {
10788 Self {
10789 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
10790 next: ptr::null(),
10791 token_type: IndirectCommandsTokenTypeNV::default(),
10792 stream: u32::default(),
10793 offset: u32::default(),
10794 vertex_binding_unit: u32::default(),
10795 vertex_dynamic_stride: Bool32::default(),
10796 pushconstant_pipeline_layout: PipelineLayout::default(),
10797 pushconstant_shader_stage_flags: ShaderStageFlags::default(),
10798 pushconstant_offset: u32::default(),
10799 pushconstant_size: u32::default(),
10800 indirect_state_flags: IndirectStateFlagsNV::default(),
10801 index_type_count: u32::default(),
10802 index_types: ptr::null(),
10803 index_type_values: ptr::null(),
10804 }
10805 }
10806}
10807
10808unsafe impl Send for IndirectCommandsLayoutTokenNV {}
10809unsafe impl Sync for IndirectCommandsLayoutTokenNV {}
10810
10811#[repr(C)]
10813#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10814pub struct IndirectCommandsPushConstantTokenEXT {
10815 pub update_range: PushConstantRange,
10816}
10817
10818#[repr(C)]
10820#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10821pub struct IndirectCommandsStreamNV {
10822 pub buffer: Buffer,
10823 pub offset: DeviceSize,
10824}
10825
10826#[repr(C)]
10828#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10829pub struct IndirectCommandsVertexBufferTokenEXT {
10830 pub vertex_binding_unit: u32,
10831}
10832
10833#[repr(C)]
10835#[derive(Copy, Clone, Debug)]
10836pub struct IndirectExecutionSetCreateInfoEXT {
10837 pub s_type: StructureType,
10838 pub next: *const c_void,
10839 pub type_: IndirectExecutionSetInfoTypeEXT,
10840 pub info: IndirectExecutionSetInfoEXT,
10841}
10842
10843impl Default for IndirectExecutionSetCreateInfoEXT {
10844 #[inline]
10845 fn default() -> Self {
10846 Self {
10847 s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
10848 next: ptr::null(),
10849 type_: IndirectExecutionSetInfoTypeEXT::default(),
10850 info: IndirectExecutionSetInfoEXT::default(),
10851 }
10852 }
10853}
10854
10855unsafe impl Send for IndirectExecutionSetCreateInfoEXT {}
10856unsafe impl Sync for IndirectExecutionSetCreateInfoEXT {}
10857
10858#[repr(C)]
10860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10861pub struct IndirectExecutionSetPipelineInfoEXT {
10862 pub s_type: StructureType,
10863 pub next: *const c_void,
10864 pub initial_pipeline: Pipeline,
10865 pub max_pipeline_count: u32,
10866}
10867
10868impl Default for IndirectExecutionSetPipelineInfoEXT {
10869 #[inline]
10870 fn default() -> Self {
10871 Self {
10872 s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
10873 next: ptr::null(),
10874 initial_pipeline: Pipeline::default(),
10875 max_pipeline_count: u32::default(),
10876 }
10877 }
10878}
10879
10880unsafe impl Send for IndirectExecutionSetPipelineInfoEXT {}
10881unsafe impl Sync for IndirectExecutionSetPipelineInfoEXT {}
10882
10883#[repr(C)]
10885#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10886pub struct IndirectExecutionSetShaderInfoEXT {
10887 pub s_type: StructureType,
10888 pub next: *const c_void,
10889 pub shader_count: u32,
10890 pub initial_shaders: *const ShaderEXT,
10891 pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
10892 pub max_shader_count: u32,
10893 pub push_constant_range_count: u32,
10894 pub push_constant_ranges: *const PushConstantRange,
10895}
10896
10897impl Default for IndirectExecutionSetShaderInfoEXT {
10898 #[inline]
10899 fn default() -> Self {
10900 Self {
10901 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
10902 next: ptr::null(),
10903 shader_count: u32::default(),
10904 initial_shaders: ptr::null(),
10905 set_layout_infos: ptr::null(),
10906 max_shader_count: u32::default(),
10907 push_constant_range_count: u32::default(),
10908 push_constant_ranges: ptr::null(),
10909 }
10910 }
10911}
10912
10913unsafe impl Send for IndirectExecutionSetShaderInfoEXT {}
10914unsafe impl Sync for IndirectExecutionSetShaderInfoEXT {}
10915
10916#[repr(C)]
10918#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10919pub struct IndirectExecutionSetShaderLayoutInfoEXT {
10920 pub s_type: StructureType,
10921 pub next: *const c_void,
10922 pub set_layout_count: u32,
10923 pub set_layouts: *const DescriptorSetLayout,
10924}
10925
10926impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
10927 #[inline]
10928 fn default() -> Self {
10929 Self {
10930 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
10931 next: ptr::null(),
10932 set_layout_count: u32::default(),
10933 set_layouts: ptr::null(),
10934 }
10935 }
10936}
10937
10938unsafe impl Send for IndirectExecutionSetShaderLayoutInfoEXT {}
10939unsafe impl Sync for IndirectExecutionSetShaderLayoutInfoEXT {}
10940
10941#[repr(C)]
10943#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10944pub struct InitializePerformanceApiInfoINTEL {
10945 pub s_type: StructureType,
10946 pub next: *const c_void,
10947 pub user_data: *mut c_void,
10948}
10949
10950impl Default for InitializePerformanceApiInfoINTEL {
10951 #[inline]
10952 fn default() -> Self {
10953 Self {
10954 s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
10955 next: ptr::null(),
10956 user_data: ptr::null_mut(),
10957 }
10958 }
10959}
10960
10961unsafe impl Send for InitializePerformanceApiInfoINTEL {}
10962unsafe impl Sync for InitializePerformanceApiInfoINTEL {}
10963
10964#[repr(C)]
10966#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10967pub struct InputAttachmentAspectReference {
10968 pub subpass: u32,
10969 pub input_attachment_index: u32,
10970 pub aspect_mask: ImageAspectFlags,
10971}
10972
10973#[repr(C)]
10975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10976pub struct InstanceCreateInfo {
10977 pub s_type: StructureType,
10978 pub next: *const c_void,
10979 pub flags: InstanceCreateFlags,
10980 pub application_info: *const ApplicationInfo,
10981 pub enabled_layer_count: u32,
10982 pub enabled_layer_names: *const *const c_char,
10983 pub enabled_extension_count: u32,
10984 pub enabled_extension_names: *const *const c_char,
10985}
10986
10987impl Default for InstanceCreateInfo {
10988 #[inline]
10989 fn default() -> Self {
10990 Self {
10991 s_type: StructureType::INSTANCE_CREATE_INFO,
10992 next: ptr::null(),
10993 flags: InstanceCreateFlags::default(),
10994 application_info: ptr::null(),
10995 enabled_layer_count: u32::default(),
10996 enabled_layer_names: ptr::null(),
10997 enabled_extension_count: u32::default(),
10998 enabled_extension_names: ptr::null(),
10999 }
11000 }
11001}
11002
11003unsafe impl Send for InstanceCreateInfo {}
11004unsafe impl Sync for InstanceCreateInfo {}
11005
11006#[repr(C)]
11008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11009pub struct LatencySleepInfoNV {
11010 pub s_type: StructureType,
11011 pub next: *const c_void,
11012 pub signal_semaphore: Semaphore,
11013 pub value: u64,
11014}
11015
11016impl Default for LatencySleepInfoNV {
11017 #[inline]
11018 fn default() -> Self {
11019 Self {
11020 s_type: StructureType::LATENCY_SLEEP_INFO_NV,
11021 next: ptr::null(),
11022 signal_semaphore: Semaphore::default(),
11023 value: u64::default(),
11024 }
11025 }
11026}
11027
11028unsafe impl Send for LatencySleepInfoNV {}
11029unsafe impl Sync for LatencySleepInfoNV {}
11030
11031#[repr(C)]
11033#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11034pub struct LatencySleepModeInfoNV {
11035 pub s_type: StructureType,
11036 pub next: *const c_void,
11037 pub low_latency_mode: Bool32,
11038 pub low_latency_boost: Bool32,
11039 pub minimum_interval_us: u32,
11040}
11041
11042impl Default for LatencySleepModeInfoNV {
11043 #[inline]
11044 fn default() -> Self {
11045 Self {
11046 s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
11047 next: ptr::null(),
11048 low_latency_mode: Bool32::default(),
11049 low_latency_boost: Bool32::default(),
11050 minimum_interval_us: u32::default(),
11051 }
11052 }
11053}
11054
11055unsafe impl Send for LatencySleepModeInfoNV {}
11056unsafe impl Sync for LatencySleepModeInfoNV {}
11057
11058#[repr(C)]
11060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11061pub struct LatencySubmissionPresentIdNV {
11062 pub s_type: StructureType,
11063 pub next: *const c_void,
11064 pub present_id: u64,
11065}
11066
11067impl Default for LatencySubmissionPresentIdNV {
11068 #[inline]
11069 fn default() -> Self {
11070 Self {
11071 s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
11072 next: ptr::null(),
11073 present_id: u64::default(),
11074 }
11075 }
11076}
11077
11078unsafe impl Send for LatencySubmissionPresentIdNV {}
11079unsafe impl Sync for LatencySubmissionPresentIdNV {}
11080
11081#[repr(C)]
11083#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11084pub struct LatencySurfaceCapabilitiesNV {
11085 pub s_type: StructureType,
11086 pub next: *const c_void,
11087 pub present_mode_count: u32,
11088 pub present_modes: *mut PresentModeKHR,
11089}
11090
11091impl Default for LatencySurfaceCapabilitiesNV {
11092 #[inline]
11093 fn default() -> Self {
11094 Self {
11095 s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
11096 next: ptr::null(),
11097 present_mode_count: u32::default(),
11098 present_modes: ptr::null_mut(),
11099 }
11100 }
11101}
11102
11103unsafe impl Send for LatencySurfaceCapabilitiesNV {}
11104unsafe impl Sync for LatencySurfaceCapabilitiesNV {}
11105
11106#[repr(C)]
11108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11109pub struct LatencyTimingsFrameReportNV {
11110 pub s_type: StructureType,
11111 pub next: *const c_void,
11112 pub present_id: u64,
11113 pub input_sample_time_us: u64,
11114 pub sim_start_time_us: u64,
11115 pub sim_end_time_us: u64,
11116 pub render_submit_start_time_us: u64,
11117 pub render_submit_end_time_us: u64,
11118 pub present_start_time_us: u64,
11119 pub present_end_time_us: u64,
11120 pub driver_start_time_us: u64,
11121 pub driver_end_time_us: u64,
11122 pub os_render_queue_start_time_us: u64,
11123 pub os_render_queue_end_time_us: u64,
11124 pub gpu_render_start_time_us: u64,
11125 pub gpu_render_end_time_us: u64,
11126}
11127
11128impl Default for LatencyTimingsFrameReportNV {
11129 #[inline]
11130 fn default() -> Self {
11131 Self {
11132 s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
11133 next: ptr::null(),
11134 present_id: u64::default(),
11135 input_sample_time_us: u64::default(),
11136 sim_start_time_us: u64::default(),
11137 sim_end_time_us: u64::default(),
11138 render_submit_start_time_us: u64::default(),
11139 render_submit_end_time_us: u64::default(),
11140 present_start_time_us: u64::default(),
11141 present_end_time_us: u64::default(),
11142 driver_start_time_us: u64::default(),
11143 driver_end_time_us: u64::default(),
11144 os_render_queue_start_time_us: u64::default(),
11145 os_render_queue_end_time_us: u64::default(),
11146 gpu_render_start_time_us: u64::default(),
11147 gpu_render_end_time_us: u64::default(),
11148 }
11149 }
11150}
11151
11152unsafe impl Send for LatencyTimingsFrameReportNV {}
11153unsafe impl Sync for LatencyTimingsFrameReportNV {}
11154
11155#[repr(C)]
11157#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11158pub struct LayerProperties {
11159 pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
11160 pub spec_version: u32,
11161 pub implementation_version: u32,
11162 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
11163}
11164
11165#[repr(C)]
11167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11168pub struct LayerSettingEXT {
11169 pub layer_name: *const c_char,
11170 pub setting_name: *const c_char,
11171 pub type_: LayerSettingTypeEXT,
11172 pub value_count: u32,
11173 pub values: *const c_void,
11174}
11175
11176impl Default for LayerSettingEXT {
11177 #[inline]
11178 fn default() -> Self {
11179 Self {
11180 layer_name: ptr::null(),
11181 setting_name: ptr::null(),
11182 type_: LayerSettingTypeEXT::default(),
11183 value_count: u32::default(),
11184 values: ptr::null(),
11185 }
11186 }
11187}
11188
11189unsafe impl Send for LayerSettingEXT {}
11190unsafe impl Sync for LayerSettingEXT {}
11191
11192#[repr(C)]
11194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11195pub struct LayerSettingsCreateInfoEXT {
11196 pub s_type: StructureType,
11197 pub next: *const c_void,
11198 pub setting_count: u32,
11199 pub settings: *const LayerSettingEXT,
11200}
11201
11202impl Default for LayerSettingsCreateInfoEXT {
11203 #[inline]
11204 fn default() -> Self {
11205 Self {
11206 s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
11207 next: ptr::null(),
11208 setting_count: u32::default(),
11209 settings: ptr::null(),
11210 }
11211 }
11212}
11213
11214unsafe impl Send for LayerSettingsCreateInfoEXT {}
11215unsafe impl Sync for LayerSettingsCreateInfoEXT {}
11216
11217#[repr(C)]
11219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11220pub struct MacOSSurfaceCreateInfoMVK {
11221 pub s_type: StructureType,
11222 pub next: *const c_void,
11223 pub flags: MacOSSurfaceCreateFlagsMVK,
11224 pub view: *const c_void,
11225}
11226
11227impl Default for MacOSSurfaceCreateInfoMVK {
11228 #[inline]
11229 fn default() -> Self {
11230 Self {
11231 s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
11232 next: ptr::null(),
11233 flags: MacOSSurfaceCreateFlagsMVK::default(),
11234 view: ptr::null(),
11235 }
11236 }
11237}
11238
11239unsafe impl Send for MacOSSurfaceCreateInfoMVK {}
11240unsafe impl Sync for MacOSSurfaceCreateInfoMVK {}
11241
11242#[repr(C)]
11244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11245pub struct MappedMemoryRange {
11246 pub s_type: StructureType,
11247 pub next: *const c_void,
11248 pub memory: DeviceMemory,
11249 pub offset: DeviceSize,
11250 pub size: DeviceSize,
11251}
11252
11253impl Default for MappedMemoryRange {
11254 #[inline]
11255 fn default() -> Self {
11256 Self {
11257 s_type: StructureType::MAPPED_MEMORY_RANGE,
11258 next: ptr::null(),
11259 memory: DeviceMemory::default(),
11260 offset: DeviceSize::default(),
11261 size: DeviceSize::default(),
11262 }
11263 }
11264}
11265
11266unsafe impl Send for MappedMemoryRange {}
11267unsafe impl Sync for MappedMemoryRange {}
11268
11269#[repr(C)]
11271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11272pub struct MemoryAllocateFlagsInfo {
11273 pub s_type: StructureType,
11274 pub next: *const c_void,
11275 pub flags: MemoryAllocateFlags,
11276 pub device_mask: u32,
11277}
11278
11279impl Default for MemoryAllocateFlagsInfo {
11280 #[inline]
11281 fn default() -> Self {
11282 Self {
11283 s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
11284 next: ptr::null(),
11285 flags: MemoryAllocateFlags::default(),
11286 device_mask: u32::default(),
11287 }
11288 }
11289}
11290
11291unsafe impl Send for MemoryAllocateFlagsInfo {}
11292unsafe impl Sync for MemoryAllocateFlagsInfo {}
11293
11294#[repr(C)]
11296#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11297pub struct MemoryAllocateInfo {
11298 pub s_type: StructureType,
11299 pub next: *const c_void,
11300 pub allocation_size: DeviceSize,
11301 pub memory_type_index: u32,
11302}
11303
11304impl Default for MemoryAllocateInfo {
11305 #[inline]
11306 fn default() -> Self {
11307 Self {
11308 s_type: StructureType::MEMORY_ALLOCATE_INFO,
11309 next: ptr::null(),
11310 allocation_size: DeviceSize::default(),
11311 memory_type_index: u32::default(),
11312 }
11313 }
11314}
11315
11316unsafe impl Send for MemoryAllocateInfo {}
11317unsafe impl Sync for MemoryAllocateInfo {}
11318
11319#[repr(C)]
11321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11322pub struct MemoryBarrier {
11323 pub s_type: StructureType,
11324 pub next: *const c_void,
11325 pub src_access_mask: AccessFlags,
11326 pub dst_access_mask: AccessFlags,
11327}
11328
11329impl Default for MemoryBarrier {
11330 #[inline]
11331 fn default() -> Self {
11332 Self {
11333 s_type: StructureType::MEMORY_BARRIER,
11334 next: ptr::null(),
11335 src_access_mask: AccessFlags::default(),
11336 dst_access_mask: AccessFlags::default(),
11337 }
11338 }
11339}
11340
11341unsafe impl Send for MemoryBarrier {}
11342unsafe impl Sync for MemoryBarrier {}
11343
11344#[repr(C)]
11346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11347pub struct MemoryBarrier2 {
11348 pub s_type: StructureType,
11349 pub next: *const c_void,
11350 pub src_stage_mask: PipelineStageFlags2,
11351 pub src_access_mask: AccessFlags2,
11352 pub dst_stage_mask: PipelineStageFlags2,
11353 pub dst_access_mask: AccessFlags2,
11354}
11355
11356impl Default for MemoryBarrier2 {
11357 #[inline]
11358 fn default() -> Self {
11359 Self {
11360 s_type: StructureType::MEMORY_BARRIER_2,
11361 next: ptr::null(),
11362 src_stage_mask: PipelineStageFlags2::default(),
11363 src_access_mask: AccessFlags2::default(),
11364 dst_stage_mask: PipelineStageFlags2::default(),
11365 dst_access_mask: AccessFlags2::default(),
11366 }
11367 }
11368}
11369
11370unsafe impl Send for MemoryBarrier2 {}
11371unsafe impl Sync for MemoryBarrier2 {}
11372
11373#[repr(C)]
11375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11376pub struct MemoryBarrierAccessFlags3KHR {
11377 pub s_type: StructureType,
11378 pub next: *const c_void,
11379 pub src_access_mask3: AccessFlags3KHR,
11380 pub dst_access_mask3: AccessFlags3KHR,
11381}
11382
11383impl Default for MemoryBarrierAccessFlags3KHR {
11384 #[inline]
11385 fn default() -> Self {
11386 Self {
11387 s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
11388 next: ptr::null(),
11389 src_access_mask3: AccessFlags3KHR::default(),
11390 dst_access_mask3: AccessFlags3KHR::default(),
11391 }
11392 }
11393}
11394
11395unsafe impl Send for MemoryBarrierAccessFlags3KHR {}
11396unsafe impl Sync for MemoryBarrierAccessFlags3KHR {}
11397
11398#[repr(C)]
11400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11401pub struct MemoryDedicatedAllocateInfo {
11402 pub s_type: StructureType,
11403 pub next: *const c_void,
11404 pub image: Image,
11405 pub buffer: Buffer,
11406}
11407
11408impl Default for MemoryDedicatedAllocateInfo {
11409 #[inline]
11410 fn default() -> Self {
11411 Self {
11412 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
11413 next: ptr::null(),
11414 image: Image::default(),
11415 buffer: Buffer::default(),
11416 }
11417 }
11418}
11419
11420unsafe impl Send for MemoryDedicatedAllocateInfo {}
11421unsafe impl Sync for MemoryDedicatedAllocateInfo {}
11422
11423#[repr(C)]
11425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11426pub struct MemoryDedicatedAllocateInfoTensorARM {
11427 pub s_type: StructureType,
11428 pub next: *const c_void,
11429 pub tensor: TensorARM,
11430}
11431
11432impl Default for MemoryDedicatedAllocateInfoTensorARM {
11433 #[inline]
11434 fn default() -> Self {
11435 Self {
11436 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
11437 next: ptr::null(),
11438 tensor: TensorARM::default(),
11439 }
11440 }
11441}
11442
11443unsafe impl Send for MemoryDedicatedAllocateInfoTensorARM {}
11444unsafe impl Sync for MemoryDedicatedAllocateInfoTensorARM {}
11445
11446#[repr(C)]
11448#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11449pub struct MemoryDedicatedRequirements {
11450 pub s_type: StructureType,
11451 pub next: *mut c_void,
11452 pub prefers_dedicated_allocation: Bool32,
11453 pub requires_dedicated_allocation: Bool32,
11454}
11455
11456impl Default for MemoryDedicatedRequirements {
11457 #[inline]
11458 fn default() -> Self {
11459 Self {
11460 s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
11461 next: ptr::null_mut(),
11462 prefers_dedicated_allocation: Bool32::default(),
11463 requires_dedicated_allocation: Bool32::default(),
11464 }
11465 }
11466}
11467
11468unsafe impl Send for MemoryDedicatedRequirements {}
11469unsafe impl Sync for MemoryDedicatedRequirements {}
11470
11471#[repr(C)]
11473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11474pub struct MemoryFdPropertiesKHR {
11475 pub s_type: StructureType,
11476 pub next: *mut c_void,
11477 pub memory_type_bits: u32,
11478}
11479
11480impl Default for MemoryFdPropertiesKHR {
11481 #[inline]
11482 fn default() -> Self {
11483 Self {
11484 s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
11485 next: ptr::null_mut(),
11486 memory_type_bits: u32::default(),
11487 }
11488 }
11489}
11490
11491unsafe impl Send for MemoryFdPropertiesKHR {}
11492unsafe impl Sync for MemoryFdPropertiesKHR {}
11493
11494#[repr(C)]
11496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11497pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
11498 pub s_type: StructureType,
11499 pub next: *const c_void,
11500 pub memory: DeviceMemory,
11501}
11502
11503impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
11504 #[inline]
11505 fn default() -> Self {
11506 Self {
11507 s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
11508 next: ptr::null(),
11509 memory: DeviceMemory::default(),
11510 }
11511 }
11512}
11513
11514unsafe impl Send for MemoryGetAndroidHardwareBufferInfoANDROID {}
11515unsafe impl Sync for MemoryGetAndroidHardwareBufferInfoANDROID {}
11516
11517#[repr(C)]
11519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11520pub struct MemoryGetFdInfoKHR {
11521 pub s_type: StructureType,
11522 pub next: *const c_void,
11523 pub memory: DeviceMemory,
11524 pub handle_type: ExternalMemoryHandleTypeFlags,
11525}
11526
11527impl Default for MemoryGetFdInfoKHR {
11528 #[inline]
11529 fn default() -> Self {
11530 Self {
11531 s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
11532 next: ptr::null(),
11533 memory: DeviceMemory::default(),
11534 handle_type: ExternalMemoryHandleTypeFlags::default(),
11535 }
11536 }
11537}
11538
11539unsafe impl Send for MemoryGetFdInfoKHR {}
11540unsafe impl Sync for MemoryGetFdInfoKHR {}
11541
11542#[repr(C)]
11544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11545pub struct MemoryGetMetalHandleInfoEXT {
11546 pub s_type: StructureType,
11547 pub next: *const c_void,
11548 pub memory: DeviceMemory,
11549 pub handle_type: ExternalMemoryHandleTypeFlags,
11550}
11551
11552impl Default for MemoryGetMetalHandleInfoEXT {
11553 #[inline]
11554 fn default() -> Self {
11555 Self {
11556 s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
11557 next: ptr::null(),
11558 memory: DeviceMemory::default(),
11559 handle_type: ExternalMemoryHandleTypeFlags::default(),
11560 }
11561 }
11562}
11563
11564unsafe impl Send for MemoryGetMetalHandleInfoEXT {}
11565unsafe impl Sync for MemoryGetMetalHandleInfoEXT {}
11566
11567#[repr(C)]
11569#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11570pub struct MemoryGetNativeBufferInfoOHOS {
11571 pub s_type: StructureType,
11572 pub next: *const c_void,
11573 pub memory: DeviceMemory,
11574}
11575
11576impl Default for MemoryGetNativeBufferInfoOHOS {
11577 #[inline]
11578 fn default() -> Self {
11579 Self {
11580 s_type: StructureType::MEMORY_GET_NATIVE_BUFFER_INFO_OHOS,
11581 next: ptr::null(),
11582 memory: DeviceMemory::default(),
11583 }
11584 }
11585}
11586
11587unsafe impl Send for MemoryGetNativeBufferInfoOHOS {}
11588unsafe impl Sync for MemoryGetNativeBufferInfoOHOS {}
11589
11590#[repr(C)]
11592#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11593pub struct MemoryGetRemoteAddressInfoNV {
11594 pub s_type: StructureType,
11595 pub next: *const c_void,
11596 pub memory: DeviceMemory,
11597 pub handle_type: ExternalMemoryHandleTypeFlags,
11598}
11599
11600impl Default for MemoryGetRemoteAddressInfoNV {
11601 #[inline]
11602 fn default() -> Self {
11603 Self {
11604 s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
11605 next: ptr::null(),
11606 memory: DeviceMemory::default(),
11607 handle_type: ExternalMemoryHandleTypeFlags::default(),
11608 }
11609 }
11610}
11611
11612unsafe impl Send for MemoryGetRemoteAddressInfoNV {}
11613unsafe impl Sync for MemoryGetRemoteAddressInfoNV {}
11614
11615#[repr(C)]
11617#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11618pub struct MemoryGetSciBufInfoNV {
11619 pub s_type: StructureType,
11620 pub next: *const c_void,
11621 pub memory: DeviceMemory,
11622 pub handle_type: ExternalMemoryHandleTypeFlags,
11623}
11624
11625impl Default for MemoryGetSciBufInfoNV {
11626 #[inline]
11627 fn default() -> Self {
11628 Self {
11629 s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
11630 next: ptr::null(),
11631 memory: DeviceMemory::default(),
11632 handle_type: ExternalMemoryHandleTypeFlags::default(),
11633 }
11634 }
11635}
11636
11637unsafe impl Send for MemoryGetSciBufInfoNV {}
11638unsafe impl Sync for MemoryGetSciBufInfoNV {}
11639
11640#[repr(C)]
11642#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11643pub struct MemoryGetWin32HandleInfoKHR {
11644 pub s_type: StructureType,
11645 pub next: *const c_void,
11646 pub memory: DeviceMemory,
11647 pub handle_type: ExternalMemoryHandleTypeFlags,
11648}
11649
11650impl Default for MemoryGetWin32HandleInfoKHR {
11651 #[inline]
11652 fn default() -> Self {
11653 Self {
11654 s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
11655 next: ptr::null(),
11656 memory: DeviceMemory::default(),
11657 handle_type: ExternalMemoryHandleTypeFlags::default(),
11658 }
11659 }
11660}
11661
11662unsafe impl Send for MemoryGetWin32HandleInfoKHR {}
11663unsafe impl Sync for MemoryGetWin32HandleInfoKHR {}
11664
11665#[repr(C)]
11667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11668pub struct MemoryGetZirconHandleInfoFUCHSIA {
11669 pub s_type: StructureType,
11670 pub next: *const c_void,
11671 pub memory: DeviceMemory,
11672 pub handle_type: ExternalMemoryHandleTypeFlags,
11673}
11674
11675impl Default for MemoryGetZirconHandleInfoFUCHSIA {
11676 #[inline]
11677 fn default() -> Self {
11678 Self {
11679 s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
11680 next: ptr::null(),
11681 memory: DeviceMemory::default(),
11682 handle_type: ExternalMemoryHandleTypeFlags::default(),
11683 }
11684 }
11685}
11686
11687unsafe impl Send for MemoryGetZirconHandleInfoFUCHSIA {}
11688unsafe impl Sync for MemoryGetZirconHandleInfoFUCHSIA {}
11689
11690#[repr(C)]
11692#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11693pub struct MemoryHeap {
11694 pub size: DeviceSize,
11695 pub flags: MemoryHeapFlags,
11696}
11697
11698#[repr(C)]
11700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11701pub struct MemoryHostPointerPropertiesEXT {
11702 pub s_type: StructureType,
11703 pub next: *mut c_void,
11704 pub memory_type_bits: u32,
11705}
11706
11707impl Default for MemoryHostPointerPropertiesEXT {
11708 #[inline]
11709 fn default() -> Self {
11710 Self {
11711 s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
11712 next: ptr::null_mut(),
11713 memory_type_bits: u32::default(),
11714 }
11715 }
11716}
11717
11718unsafe impl Send for MemoryHostPointerPropertiesEXT {}
11719unsafe impl Sync for MemoryHostPointerPropertiesEXT {}
11720
11721#[repr(C)]
11723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11724pub struct MemoryMapInfo {
11725 pub s_type: StructureType,
11726 pub next: *const c_void,
11727 pub flags: MemoryMapFlags,
11728 pub memory: DeviceMemory,
11729 pub offset: DeviceSize,
11730 pub size: DeviceSize,
11731}
11732
11733impl Default for MemoryMapInfo {
11734 #[inline]
11735 fn default() -> Self {
11736 Self {
11737 s_type: StructureType::MEMORY_MAP_INFO,
11738 next: ptr::null(),
11739 flags: MemoryMapFlags::default(),
11740 memory: DeviceMemory::default(),
11741 offset: DeviceSize::default(),
11742 size: DeviceSize::default(),
11743 }
11744 }
11745}
11746
11747unsafe impl Send for MemoryMapInfo {}
11748unsafe impl Sync for MemoryMapInfo {}
11749
11750#[repr(C)]
11752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11753pub struct MemoryMapPlacedInfoEXT {
11754 pub s_type: StructureType,
11755 pub next: *const c_void,
11756 pub placed_address: *mut c_void,
11757}
11758
11759impl Default for MemoryMapPlacedInfoEXT {
11760 #[inline]
11761 fn default() -> Self {
11762 Self {
11763 s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
11764 next: ptr::null(),
11765 placed_address: ptr::null_mut(),
11766 }
11767 }
11768}
11769
11770unsafe impl Send for MemoryMapPlacedInfoEXT {}
11771unsafe impl Sync for MemoryMapPlacedInfoEXT {}
11772
11773#[repr(C)]
11775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11776pub struct MemoryMetalHandlePropertiesEXT {
11777 pub s_type: StructureType,
11778 pub next: *mut c_void,
11779 pub memory_type_bits: u32,
11780}
11781
11782impl Default for MemoryMetalHandlePropertiesEXT {
11783 #[inline]
11784 fn default() -> Self {
11785 Self {
11786 s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
11787 next: ptr::null_mut(),
11788 memory_type_bits: u32::default(),
11789 }
11790 }
11791}
11792
11793unsafe impl Send for MemoryMetalHandlePropertiesEXT {}
11794unsafe impl Sync for MemoryMetalHandlePropertiesEXT {}
11795
11796#[repr(C)]
11798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11799pub struct MemoryOpaqueCaptureAddressAllocateInfo {
11800 pub s_type: StructureType,
11801 pub next: *const c_void,
11802 pub opaque_capture_address: u64,
11803}
11804
11805impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
11806 #[inline]
11807 fn default() -> Self {
11808 Self {
11809 s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
11810 next: ptr::null(),
11811 opaque_capture_address: u64::default(),
11812 }
11813 }
11814}
11815
11816unsafe impl Send for MemoryOpaqueCaptureAddressAllocateInfo {}
11817unsafe impl Sync for MemoryOpaqueCaptureAddressAllocateInfo {}
11818
11819#[repr(C)]
11821#[derive(Copy, Clone, Debug, PartialEq)]
11822pub struct MemoryPriorityAllocateInfoEXT {
11823 pub s_type: StructureType,
11824 pub next: *const c_void,
11825 pub priority: f32,
11826}
11827
11828impl Default for MemoryPriorityAllocateInfoEXT {
11829 #[inline]
11830 fn default() -> Self {
11831 Self {
11832 s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
11833 next: ptr::null(),
11834 priority: f32::default(),
11835 }
11836 }
11837}
11838
11839unsafe impl Send for MemoryPriorityAllocateInfoEXT {}
11840unsafe impl Sync for MemoryPriorityAllocateInfoEXT {}
11841
11842#[repr(C)]
11844#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11845pub struct MemoryRequirements {
11846 pub size: DeviceSize,
11847 pub alignment: DeviceSize,
11848 pub memory_type_bits: u32,
11849}
11850
11851#[repr(C)]
11853#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11854pub struct MemoryRequirements2 {
11855 pub s_type: StructureType,
11856 pub next: *mut c_void,
11857 pub memory_requirements: MemoryRequirements,
11858}
11859
11860impl Default for MemoryRequirements2 {
11861 #[inline]
11862 fn default() -> Self {
11863 Self {
11864 s_type: StructureType::MEMORY_REQUIREMENTS_2,
11865 next: ptr::null_mut(),
11866 memory_requirements: MemoryRequirements::default(),
11867 }
11868 }
11869}
11870
11871unsafe impl Send for MemoryRequirements2 {}
11872unsafe impl Sync for MemoryRequirements2 {}
11873
11874#[repr(C)]
11876#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11877pub struct MemorySciBufPropertiesNV {
11878 pub s_type: StructureType,
11879 pub next: *const c_void,
11880 pub memory_type_bits: u32,
11881}
11882
11883impl Default for MemorySciBufPropertiesNV {
11884 #[inline]
11885 fn default() -> Self {
11886 Self {
11887 s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
11888 next: ptr::null(),
11889 memory_type_bits: u32::default(),
11890 }
11891 }
11892}
11893
11894unsafe impl Send for MemorySciBufPropertiesNV {}
11895unsafe impl Sync for MemorySciBufPropertiesNV {}
11896
11897#[repr(C)]
11899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11900pub struct MemoryToImageCopy {
11901 pub s_type: StructureType,
11902 pub next: *const c_void,
11903 pub host_pointer: *const c_void,
11904 pub memory_row_length: u32,
11905 pub memory_image_height: u32,
11906 pub image_subresource: ImageSubresourceLayers,
11907 pub image_offset: Offset3D,
11908 pub image_extent: Extent3D,
11909}
11910
11911impl Default for MemoryToImageCopy {
11912 #[inline]
11913 fn default() -> Self {
11914 Self {
11915 s_type: StructureType::MEMORY_TO_IMAGE_COPY,
11916 next: ptr::null(),
11917 host_pointer: ptr::null(),
11918 memory_row_length: u32::default(),
11919 memory_image_height: u32::default(),
11920 image_subresource: ImageSubresourceLayers::default(),
11921 image_offset: Offset3D::default(),
11922 image_extent: Extent3D::default(),
11923 }
11924 }
11925}
11926
11927unsafe impl Send for MemoryToImageCopy {}
11928unsafe impl Sync for MemoryToImageCopy {}
11929
11930#[repr(C)]
11932#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11933pub struct MemoryType {
11934 pub property_flags: MemoryPropertyFlags,
11935 pub heap_index: u32,
11936}
11937
11938#[repr(C)]
11940#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11941pub struct MemoryUnmapInfo {
11942 pub s_type: StructureType,
11943 pub next: *const c_void,
11944 pub flags: MemoryUnmapFlags,
11945 pub memory: DeviceMemory,
11946}
11947
11948impl Default for MemoryUnmapInfo {
11949 #[inline]
11950 fn default() -> Self {
11951 Self {
11952 s_type: StructureType::MEMORY_UNMAP_INFO,
11953 next: ptr::null(),
11954 flags: MemoryUnmapFlags::default(),
11955 memory: DeviceMemory::default(),
11956 }
11957 }
11958}
11959
11960unsafe impl Send for MemoryUnmapInfo {}
11961unsafe impl Sync for MemoryUnmapInfo {}
11962
11963#[repr(C)]
11965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11966pub struct MemoryWin32HandlePropertiesKHR {
11967 pub s_type: StructureType,
11968 pub next: *mut c_void,
11969 pub memory_type_bits: u32,
11970}
11971
11972impl Default for MemoryWin32HandlePropertiesKHR {
11973 #[inline]
11974 fn default() -> Self {
11975 Self {
11976 s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
11977 next: ptr::null_mut(),
11978 memory_type_bits: u32::default(),
11979 }
11980 }
11981}
11982
11983unsafe impl Send for MemoryWin32HandlePropertiesKHR {}
11984unsafe impl Sync for MemoryWin32HandlePropertiesKHR {}
11985
11986#[repr(C)]
11988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11989pub struct MemoryZirconHandlePropertiesFUCHSIA {
11990 pub s_type: StructureType,
11991 pub next: *mut c_void,
11992 pub memory_type_bits: u32,
11993}
11994
11995impl Default for MemoryZirconHandlePropertiesFUCHSIA {
11996 #[inline]
11997 fn default() -> Self {
11998 Self {
11999 s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
12000 next: ptr::null_mut(),
12001 memory_type_bits: u32::default(),
12002 }
12003 }
12004}
12005
12006unsafe impl Send for MemoryZirconHandlePropertiesFUCHSIA {}
12007unsafe impl Sync for MemoryZirconHandlePropertiesFUCHSIA {}
12008
12009#[repr(C)]
12011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12012pub struct MetalSurfaceCreateInfoEXT {
12013 pub s_type: StructureType,
12014 pub next: *const c_void,
12015 pub flags: MetalSurfaceCreateFlagsEXT,
12016 pub layer: *const CAMetalLayer,
12017}
12018
12019impl Default for MetalSurfaceCreateInfoEXT {
12020 #[inline]
12021 fn default() -> Self {
12022 Self {
12023 s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
12024 next: ptr::null(),
12025 flags: MetalSurfaceCreateFlagsEXT::default(),
12026 layer: ptr::null(),
12027 }
12028 }
12029}
12030
12031unsafe impl Send for MetalSurfaceCreateInfoEXT {}
12032unsafe impl Sync for MetalSurfaceCreateInfoEXT {}
12033
12034#[repr(C)]
12036#[derive(Copy, Clone, Debug)]
12037pub struct MicromapBuildInfoEXT {
12038 pub s_type: StructureType,
12039 pub next: *const c_void,
12040 pub type_: MicromapTypeEXT,
12041 pub flags: BuildMicromapFlagsEXT,
12042 pub mode: BuildMicromapModeEXT,
12043 pub dst_micromap: MicromapEXT,
12044 pub usage_counts_count: u32,
12045 pub usage_counts: *const MicromapUsageEXT,
12046 pub pointer_usage_counts: *const *const MicromapUsageEXT,
12047 pub data: DeviceOrHostAddressConstKHR,
12048 pub scratch_data: DeviceOrHostAddressKHR,
12049 pub triangle_array: DeviceOrHostAddressConstKHR,
12050 pub triangle_array_stride: DeviceSize,
12051}
12052
12053impl Default for MicromapBuildInfoEXT {
12054 #[inline]
12055 fn default() -> Self {
12056 Self {
12057 s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
12058 next: ptr::null(),
12059 type_: MicromapTypeEXT::default(),
12060 flags: BuildMicromapFlagsEXT::default(),
12061 mode: BuildMicromapModeEXT::default(),
12062 dst_micromap: MicromapEXT::default(),
12063 usage_counts_count: u32::default(),
12064 usage_counts: ptr::null(),
12065 pointer_usage_counts: ptr::null(),
12066 data: DeviceOrHostAddressConstKHR::default(),
12067 scratch_data: DeviceOrHostAddressKHR::default(),
12068 triangle_array: DeviceOrHostAddressConstKHR::default(),
12069 triangle_array_stride: DeviceSize::default(),
12070 }
12071 }
12072}
12073
12074unsafe impl Send for MicromapBuildInfoEXT {}
12075unsafe impl Sync for MicromapBuildInfoEXT {}
12076
12077#[repr(C)]
12079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12080pub struct MicromapBuildSizesInfoEXT {
12081 pub s_type: StructureType,
12082 pub next: *const c_void,
12083 pub micromap_size: DeviceSize,
12084 pub build_scratch_size: DeviceSize,
12085 pub discardable: Bool32,
12086}
12087
12088impl Default for MicromapBuildSizesInfoEXT {
12089 #[inline]
12090 fn default() -> Self {
12091 Self {
12092 s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
12093 next: ptr::null(),
12094 micromap_size: DeviceSize::default(),
12095 build_scratch_size: DeviceSize::default(),
12096 discardable: Bool32::default(),
12097 }
12098 }
12099}
12100
12101unsafe impl Send for MicromapBuildSizesInfoEXT {}
12102unsafe impl Sync for MicromapBuildSizesInfoEXT {}
12103
12104#[repr(C)]
12106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12107pub struct MicromapCreateInfoEXT {
12108 pub s_type: StructureType,
12109 pub next: *const c_void,
12110 pub create_flags: MicromapCreateFlagsEXT,
12111 pub buffer: Buffer,
12112 pub offset: DeviceSize,
12113 pub size: DeviceSize,
12114 pub type_: MicromapTypeEXT,
12115 pub device_address: DeviceAddress,
12116}
12117
12118impl Default for MicromapCreateInfoEXT {
12119 #[inline]
12120 fn default() -> Self {
12121 Self {
12122 s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
12123 next: ptr::null(),
12124 create_flags: MicromapCreateFlagsEXT::default(),
12125 buffer: Buffer::default(),
12126 offset: DeviceSize::default(),
12127 size: DeviceSize::default(),
12128 type_: MicromapTypeEXT::default(),
12129 device_address: DeviceAddress::default(),
12130 }
12131 }
12132}
12133
12134unsafe impl Send for MicromapCreateInfoEXT {}
12135unsafe impl Sync for MicromapCreateInfoEXT {}
12136
12137#[repr(C)]
12139#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12140pub struct MicromapTriangleEXT {
12141 pub data_offset: u32,
12142 pub subdivision_level: u16,
12143 pub format: u16,
12144}
12145
12146#[repr(C)]
12148#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12149pub struct MicromapUsageEXT {
12150 pub count: u32,
12151 pub subdivision_level: u32,
12152 pub format: u32,
12153}
12154
12155#[repr(C)]
12157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12158pub struct MicromapVersionInfoEXT {
12159 pub s_type: StructureType,
12160 pub next: *const c_void,
12161 pub version_data: *const u8,
12162}
12163
12164impl Default for MicromapVersionInfoEXT {
12165 #[inline]
12166 fn default() -> Self {
12167 Self {
12168 s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
12169 next: ptr::null(),
12170 version_data: ptr::null(),
12171 }
12172 }
12173}
12174
12175unsafe impl Send for MicromapVersionInfoEXT {}
12176unsafe impl Sync for MicromapVersionInfoEXT {}
12177
12178#[repr(C)]
12180#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12181pub struct MultiDrawIndexedInfoEXT {
12182 pub first_index: u32,
12183 pub index_count: u32,
12184 pub vertex_offset: i32,
12185}
12186
12187#[repr(C)]
12189#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12190pub struct MultiDrawInfoEXT {
12191 pub first_vertex: u32,
12192 pub vertex_count: u32,
12193}
12194
12195#[repr(C)]
12197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12198pub struct MultisamplePropertiesEXT {
12199 pub s_type: StructureType,
12200 pub next: *mut c_void,
12201 pub max_sample_location_grid_size: Extent2D,
12202}
12203
12204impl Default for MultisamplePropertiesEXT {
12205 #[inline]
12206 fn default() -> Self {
12207 Self {
12208 s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
12209 next: ptr::null_mut(),
12210 max_sample_location_grid_size: Extent2D::default(),
12211 }
12212 }
12213}
12214
12215unsafe impl Send for MultisamplePropertiesEXT {}
12216unsafe impl Sync for MultisamplePropertiesEXT {}
12217
12218#[repr(C)]
12220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12221pub struct MultisampledRenderToSingleSampledInfoEXT {
12222 pub s_type: StructureType,
12223 pub next: *const c_void,
12224 pub multisampled_render_to_single_sampled_enable: Bool32,
12225 pub rasterization_samples: SampleCountFlags,
12226}
12227
12228impl Default for MultisampledRenderToSingleSampledInfoEXT {
12229 #[inline]
12230 fn default() -> Self {
12231 Self {
12232 s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
12233 next: ptr::null(),
12234 multisampled_render_to_single_sampled_enable: Bool32::default(),
12235 rasterization_samples: SampleCountFlags::default(),
12236 }
12237 }
12238}
12239
12240unsafe impl Send for MultisampledRenderToSingleSampledInfoEXT {}
12241unsafe impl Sync for MultisampledRenderToSingleSampledInfoEXT {}
12242
12243#[repr(C)]
12245#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12246pub struct MultiviewPerViewAttributesInfoNVX {
12247 pub s_type: StructureType,
12248 pub next: *const c_void,
12249 pub per_view_attributes: Bool32,
12250 pub per_view_attributes_position_x_only: Bool32,
12251}
12252
12253impl Default for MultiviewPerViewAttributesInfoNVX {
12254 #[inline]
12255 fn default() -> Self {
12256 Self {
12257 s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
12258 next: ptr::null(),
12259 per_view_attributes: Bool32::default(),
12260 per_view_attributes_position_x_only: Bool32::default(),
12261 }
12262 }
12263}
12264
12265unsafe impl Send for MultiviewPerViewAttributesInfoNVX {}
12266unsafe impl Sync for MultiviewPerViewAttributesInfoNVX {}
12267
12268#[repr(C)]
12270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12271pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12272 pub s_type: StructureType,
12273 pub next: *const c_void,
12274 pub per_view_render_area_count: u32,
12275 pub per_view_render_areas: *const Rect2D,
12276}
12277
12278impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12279 #[inline]
12280 fn default() -> Self {
12281 Self {
12282 s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
12283 next: ptr::null(),
12284 per_view_render_area_count: u32::default(),
12285 per_view_render_areas: ptr::null(),
12286 }
12287 }
12288}
12289
12290unsafe impl Send for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12291unsafe impl Sync for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12292
12293#[repr(C)]
12295#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12296pub struct MutableDescriptorTypeCreateInfoEXT {
12297 pub s_type: StructureType,
12298 pub next: *const c_void,
12299 pub mutable_descriptor_type_list_count: u32,
12300 pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
12301}
12302
12303impl Default for MutableDescriptorTypeCreateInfoEXT {
12304 #[inline]
12305 fn default() -> Self {
12306 Self {
12307 s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
12308 next: ptr::null(),
12309 mutable_descriptor_type_list_count: u32::default(),
12310 mutable_descriptor_type_lists: ptr::null(),
12311 }
12312 }
12313}
12314
12315unsafe impl Send for MutableDescriptorTypeCreateInfoEXT {}
12316unsafe impl Sync for MutableDescriptorTypeCreateInfoEXT {}
12317
12318#[repr(C)]
12320#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12321pub struct MutableDescriptorTypeListEXT {
12322 pub descriptor_type_count: u32,
12323 pub descriptor_types: *const DescriptorType,
12324}
12325
12326impl Default for MutableDescriptorTypeListEXT {
12327 #[inline]
12328 fn default() -> Self {
12329 Self {
12330 descriptor_type_count: u32::default(),
12331 descriptor_types: ptr::null(),
12332 }
12333 }
12334}
12335
12336unsafe impl Send for MutableDescriptorTypeListEXT {}
12337unsafe impl Sync for MutableDescriptorTypeListEXT {}
12338
12339#[repr(C)]
12341#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12342pub struct NativeBufferFormatPropertiesOHOS {
12343 pub s_type: StructureType,
12344 pub next: *mut c_void,
12345 pub format: Format,
12346 pub external_format: u64,
12347 pub format_features: FormatFeatureFlags,
12348 pub sampler_ycbcr_conversion_components: ComponentMapping,
12349 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
12350 pub suggested_ycbcr_range: SamplerYcbcrRange,
12351 pub suggested_x_chroma_offset: ChromaLocation,
12352 pub suggested_y_chroma_offset: ChromaLocation,
12353}
12354
12355impl Default for NativeBufferFormatPropertiesOHOS {
12356 #[inline]
12357 fn default() -> Self {
12358 Self {
12359 s_type: StructureType::NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS,
12360 next: ptr::null_mut(),
12361 format: Format::default(),
12362 external_format: u64::default(),
12363 format_features: FormatFeatureFlags::default(),
12364 sampler_ycbcr_conversion_components: ComponentMapping::default(),
12365 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
12366 suggested_ycbcr_range: SamplerYcbcrRange::default(),
12367 suggested_x_chroma_offset: ChromaLocation::default(),
12368 suggested_y_chroma_offset: ChromaLocation::default(),
12369 }
12370 }
12371}
12372
12373unsafe impl Send for NativeBufferFormatPropertiesOHOS {}
12374unsafe impl Sync for NativeBufferFormatPropertiesOHOS {}
12375
12376#[repr(C)]
12378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12379pub struct NativeBufferOHOS {
12380 pub s_type: StructureType,
12381 pub next: *const c_void,
12382 pub handle: *mut OHBufferHandle,
12383}
12384
12385impl Default for NativeBufferOHOS {
12386 #[inline]
12387 fn default() -> Self {
12388 Self {
12389 s_type: StructureType::NATIVE_BUFFER_OHOS,
12390 next: ptr::null(),
12391 handle: ptr::null_mut(),
12392 }
12393 }
12394}
12395
12396unsafe impl Send for NativeBufferOHOS {}
12397unsafe impl Sync for NativeBufferOHOS {}
12398
12399#[repr(C)]
12401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12402pub struct NativeBufferPropertiesOHOS {
12403 pub s_type: StructureType,
12404 pub next: *mut c_void,
12405 pub allocation_size: DeviceSize,
12406 pub memory_type_bits: u32,
12407}
12408
12409impl Default for NativeBufferPropertiesOHOS {
12410 #[inline]
12411 fn default() -> Self {
12412 Self {
12413 s_type: StructureType::NATIVE_BUFFER_PROPERTIES_OHOS,
12414 next: ptr::null_mut(),
12415 allocation_size: DeviceSize::default(),
12416 memory_type_bits: u32::default(),
12417 }
12418 }
12419}
12420
12421unsafe impl Send for NativeBufferPropertiesOHOS {}
12422unsafe impl Sync for NativeBufferPropertiesOHOS {}
12423
12424#[repr(C)]
12426#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12427pub struct NativeBufferUsageOHOS {
12428 pub s_type: StructureType,
12429 pub next: *mut c_void,
12430 pub ohos_native_buffer_usage: u64,
12431}
12432
12433impl Default for NativeBufferUsageOHOS {
12434 #[inline]
12435 fn default() -> Self {
12436 Self {
12437 s_type: StructureType::NATIVE_BUFFER_USAGE_OHOS,
12438 next: ptr::null_mut(),
12439 ohos_native_buffer_usage: u64::default(),
12440 }
12441 }
12442}
12443
12444unsafe impl Send for NativeBufferUsageOHOS {}
12445unsafe impl Sync for NativeBufferUsageOHOS {}
12446
12447#[repr(C)]
12449#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12450pub struct Offset2D {
12451 pub x: i32,
12452 pub y: i32,
12453}
12454
12455#[repr(C)]
12457#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12458pub struct Offset3D {
12459 pub x: i32,
12460 pub y: i32,
12461 pub z: i32,
12462}
12463
12464#[repr(C)]
12466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12467pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
12468 pub s_type: StructureType,
12469 pub next: *const c_void,
12470 pub opaque_capture_descriptor_data: *const c_void,
12471}
12472
12473impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
12474 #[inline]
12475 fn default() -> Self {
12476 Self {
12477 s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
12478 next: ptr::null(),
12479 opaque_capture_descriptor_data: ptr::null(),
12480 }
12481 }
12482}
12483
12484unsafe impl Send for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12485unsafe impl Sync for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12486
12487#[repr(C)]
12489#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12490pub struct OpticalFlowExecuteInfoNV {
12491 pub s_type: StructureType,
12492 pub next: *mut c_void,
12493 pub flags: OpticalFlowExecuteFlagsNV,
12494 pub region_count: u32,
12495 pub regions: *const Rect2D,
12496}
12497
12498impl Default for OpticalFlowExecuteInfoNV {
12499 #[inline]
12500 fn default() -> Self {
12501 Self {
12502 s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
12503 next: ptr::null_mut(),
12504 flags: OpticalFlowExecuteFlagsNV::default(),
12505 region_count: u32::default(),
12506 regions: ptr::null(),
12507 }
12508 }
12509}
12510
12511unsafe impl Send for OpticalFlowExecuteInfoNV {}
12512unsafe impl Sync for OpticalFlowExecuteInfoNV {}
12513
12514#[repr(C)]
12516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12517pub struct OpticalFlowImageFormatInfoNV {
12518 pub s_type: StructureType,
12519 pub next: *const c_void,
12520 pub usage: OpticalFlowUsageFlagsNV,
12521}
12522
12523impl Default for OpticalFlowImageFormatInfoNV {
12524 #[inline]
12525 fn default() -> Self {
12526 Self {
12527 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
12528 next: ptr::null(),
12529 usage: OpticalFlowUsageFlagsNV::default(),
12530 }
12531 }
12532}
12533
12534unsafe impl Send for OpticalFlowImageFormatInfoNV {}
12535unsafe impl Sync for OpticalFlowImageFormatInfoNV {}
12536
12537#[repr(C)]
12539#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12540pub struct OpticalFlowImageFormatPropertiesNV {
12541 pub s_type: StructureType,
12542 pub next: *const c_void,
12543 pub format: Format,
12544}
12545
12546impl Default for OpticalFlowImageFormatPropertiesNV {
12547 #[inline]
12548 fn default() -> Self {
12549 Self {
12550 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
12551 next: ptr::null(),
12552 format: Format::default(),
12553 }
12554 }
12555}
12556
12557unsafe impl Send for OpticalFlowImageFormatPropertiesNV {}
12558unsafe impl Sync for OpticalFlowImageFormatPropertiesNV {}
12559
12560#[repr(C)]
12562#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12563pub struct OpticalFlowSessionCreateInfoNV {
12564 pub s_type: StructureType,
12565 pub next: *mut c_void,
12566 pub width: u32,
12567 pub height: u32,
12568 pub image_format: Format,
12569 pub flow_vector_format: Format,
12570 pub cost_format: Format,
12571 pub output_grid_size: OpticalFlowGridSizeFlagsNV,
12572 pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
12573 pub performance_level: OpticalFlowPerformanceLevelNV,
12574 pub flags: OpticalFlowSessionCreateFlagsNV,
12575}
12576
12577impl Default for OpticalFlowSessionCreateInfoNV {
12578 #[inline]
12579 fn default() -> Self {
12580 Self {
12581 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
12582 next: ptr::null_mut(),
12583 width: u32::default(),
12584 height: u32::default(),
12585 image_format: Format::default(),
12586 flow_vector_format: Format::default(),
12587 cost_format: Format::default(),
12588 output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12589 hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12590 performance_level: OpticalFlowPerformanceLevelNV::default(),
12591 flags: OpticalFlowSessionCreateFlagsNV::default(),
12592 }
12593 }
12594}
12595
12596unsafe impl Send for OpticalFlowSessionCreateInfoNV {}
12597unsafe impl Sync for OpticalFlowSessionCreateInfoNV {}
12598
12599#[repr(C)]
12601#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12602pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
12603 pub s_type: StructureType,
12604 pub next: *mut c_void,
12605 pub id: u32,
12606 pub size: u32,
12607 pub private_data: *const c_void,
12608}
12609
12610impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
12611 #[inline]
12612 fn default() -> Self {
12613 Self {
12614 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
12615 next: ptr::null_mut(),
12616 id: u32::default(),
12617 size: u32::default(),
12618 private_data: ptr::null(),
12619 }
12620 }
12621}
12622
12623unsafe impl Send for OpticalFlowSessionCreatePrivateDataInfoNV {}
12624unsafe impl Sync for OpticalFlowSessionCreatePrivateDataInfoNV {}
12625
12626#[repr(C)]
12628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12629pub struct OutOfBandQueueTypeInfoNV {
12630 pub s_type: StructureType,
12631 pub next: *const c_void,
12632 pub queue_type: OutOfBandQueueTypeNV,
12633}
12634
12635impl Default for OutOfBandQueueTypeInfoNV {
12636 #[inline]
12637 fn default() -> Self {
12638 Self {
12639 s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
12640 next: ptr::null(),
12641 queue_type: OutOfBandQueueTypeNV::default(),
12642 }
12643 }
12644}
12645
12646unsafe impl Send for OutOfBandQueueTypeInfoNV {}
12647unsafe impl Sync for OutOfBandQueueTypeInfoNV {}
12648
12649#[repr(C)]
12651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12652pub struct PartitionedAccelerationStructureFlagsNV {
12653 pub s_type: StructureType,
12654 pub next: *mut c_void,
12655 pub enable_partition_translation: Bool32,
12656}
12657
12658impl Default for PartitionedAccelerationStructureFlagsNV {
12659 #[inline]
12660 fn default() -> Self {
12661 Self {
12662 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
12663 next: ptr::null_mut(),
12664 enable_partition_translation: Bool32::default(),
12665 }
12666 }
12667}
12668
12669unsafe impl Send for PartitionedAccelerationStructureFlagsNV {}
12670unsafe impl Sync for PartitionedAccelerationStructureFlagsNV {}
12671
12672#[repr(C)]
12674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12675pub struct PartitionedAccelerationStructureInstancesInputNV {
12676 pub s_type: StructureType,
12677 pub next: *mut c_void,
12678 pub flags: BuildAccelerationStructureFlagsKHR,
12679 pub instance_count: u32,
12680 pub max_instance_per_partition_count: u32,
12681 pub partition_count: u32,
12682 pub max_instance_in_global_partition_count: u32,
12683}
12684
12685impl Default for PartitionedAccelerationStructureInstancesInputNV {
12686 #[inline]
12687 fn default() -> Self {
12688 Self {
12689 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
12690 next: ptr::null_mut(),
12691 flags: BuildAccelerationStructureFlagsKHR::default(),
12692 instance_count: u32::default(),
12693 max_instance_per_partition_count: u32::default(),
12694 partition_count: u32::default(),
12695 max_instance_in_global_partition_count: u32::default(),
12696 }
12697 }
12698}
12699
12700unsafe impl Send for PartitionedAccelerationStructureInstancesInputNV {}
12701unsafe impl Sync for PartitionedAccelerationStructureInstancesInputNV {}
12702
12703#[repr(C)]
12705#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12706pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
12707 pub instance_index: u32,
12708 pub instance_contribution_to_hit_group_index: u32,
12709 pub acceleration_structure: DeviceAddress,
12710}
12711
12712#[repr(C)]
12714#[derive(Copy, Clone, Default, Debug, PartialEq)]
12715pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
12716 pub transform: TransformMatrixKHR,
12717 pub explicit_aabb: [f32; 6],
12718 pub instance_id: u32,
12719 pub instance_mask: u32,
12720 pub instance_contribution_to_hit_group_index: u32,
12721 pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
12722 pub instance_index: u32,
12723 pub partition_index: u32,
12724 pub acceleration_structure: DeviceAddress,
12725}
12726
12727#[repr(C)]
12729#[derive(Copy, Clone, Default, Debug, PartialEq)]
12730pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
12731 pub partition_index: u32,
12732 pub partition_translation: [f32; 3],
12733}
12734
12735#[repr(C)]
12737#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12738pub struct PastPresentationTimingGOOGLE {
12739 pub present_id: u32,
12740 pub desired_present_time: u64,
12741 pub actual_present_time: u64,
12742 pub earliest_present_time: u64,
12743 pub present_margin: u64,
12744}
12745
12746#[repr(C)]
12748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12749pub struct PerTileBeginInfoQCOM {
12750 pub s_type: StructureType,
12751 pub next: *const c_void,
12752}
12753
12754impl Default for PerTileBeginInfoQCOM {
12755 #[inline]
12756 fn default() -> Self {
12757 Self {
12758 s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
12759 next: ptr::null(),
12760 }
12761 }
12762}
12763
12764unsafe impl Send for PerTileBeginInfoQCOM {}
12765unsafe impl Sync for PerTileBeginInfoQCOM {}
12766
12767#[repr(C)]
12769#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12770pub struct PerTileEndInfoQCOM {
12771 pub s_type: StructureType,
12772 pub next: *const c_void,
12773}
12774
12775impl Default for PerTileEndInfoQCOM {
12776 #[inline]
12777 fn default() -> Self {
12778 Self {
12779 s_type: StructureType::PER_TILE_END_INFO_QCOM,
12780 next: ptr::null(),
12781 }
12782 }
12783}
12784
12785unsafe impl Send for PerTileEndInfoQCOM {}
12786unsafe impl Sync for PerTileEndInfoQCOM {}
12787
12788#[repr(C)]
12790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12791pub struct PerformanceConfigurationAcquireInfoINTEL {
12792 pub s_type: StructureType,
12793 pub next: *const c_void,
12794 pub type_: PerformanceConfigurationTypeINTEL,
12795}
12796
12797impl Default for PerformanceConfigurationAcquireInfoINTEL {
12798 #[inline]
12799 fn default() -> Self {
12800 Self {
12801 s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
12802 next: ptr::null(),
12803 type_: PerformanceConfigurationTypeINTEL::default(),
12804 }
12805 }
12806}
12807
12808unsafe impl Send for PerformanceConfigurationAcquireInfoINTEL {}
12809unsafe impl Sync for PerformanceConfigurationAcquireInfoINTEL {}
12810
12811#[repr(C)]
12813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12814pub struct PerformanceCounterARM {
12815 pub s_type: StructureType,
12816 pub next: *mut c_void,
12817 pub counter_id: u32,
12818}
12819
12820impl Default for PerformanceCounterARM {
12821 #[inline]
12822 fn default() -> Self {
12823 Self {
12824 s_type: StructureType::PERFORMANCE_COUNTER_ARM,
12825 next: ptr::null_mut(),
12826 counter_id: u32::default(),
12827 }
12828 }
12829}
12830
12831unsafe impl Send for PerformanceCounterARM {}
12832unsafe impl Sync for PerformanceCounterARM {}
12833
12834#[repr(C)]
12836#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12837pub struct PerformanceCounterDescriptionARM {
12838 pub s_type: StructureType,
12839 pub next: *mut c_void,
12840 pub flags: PerformanceCounterDescriptionFlagsARM,
12841 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
12842}
12843
12844impl Default for PerformanceCounterDescriptionARM {
12845 #[inline]
12846 fn default() -> Self {
12847 Self {
12848 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_ARM,
12849 next: ptr::null_mut(),
12850 flags: PerformanceCounterDescriptionFlagsARM::default(),
12851 name: StringArray::default(),
12852 }
12853 }
12854}
12855
12856unsafe impl Send for PerformanceCounterDescriptionARM {}
12857unsafe impl Sync for PerformanceCounterDescriptionARM {}
12858
12859#[repr(C)]
12861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12862pub struct PerformanceCounterDescriptionKHR {
12863 pub s_type: StructureType,
12864 pub next: *mut c_void,
12865 pub flags: PerformanceCounterDescriptionFlagsKHR,
12866 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
12867 pub category: StringArray<MAX_DESCRIPTION_SIZE>,
12868 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
12869}
12870
12871impl Default for PerformanceCounterDescriptionKHR {
12872 #[inline]
12873 fn default() -> Self {
12874 Self {
12875 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
12876 next: ptr::null_mut(),
12877 flags: PerformanceCounterDescriptionFlagsKHR::default(),
12878 name: StringArray::default(),
12879 category: StringArray::default(),
12880 description: StringArray::default(),
12881 }
12882 }
12883}
12884
12885unsafe impl Send for PerformanceCounterDescriptionKHR {}
12886unsafe impl Sync for PerformanceCounterDescriptionKHR {}
12887
12888#[repr(C)]
12890#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12891pub struct PerformanceCounterKHR {
12892 pub s_type: StructureType,
12893 pub next: *mut c_void,
12894 pub unit: PerformanceCounterUnitKHR,
12895 pub scope: PerformanceCounterScopeKHR,
12896 pub storage: PerformanceCounterStorageKHR,
12897 pub uuid: ByteArray<UUID_SIZE>,
12898}
12899
12900impl Default for PerformanceCounterKHR {
12901 #[inline]
12902 fn default() -> Self {
12903 Self {
12904 s_type: StructureType::PERFORMANCE_COUNTER_KHR,
12905 next: ptr::null_mut(),
12906 unit: PerformanceCounterUnitKHR::default(),
12907 scope: PerformanceCounterScopeKHR::default(),
12908 storage: PerformanceCounterStorageKHR::default(),
12909 uuid: ByteArray::default(),
12910 }
12911 }
12912}
12913
12914unsafe impl Send for PerformanceCounterKHR {}
12915unsafe impl Sync for PerformanceCounterKHR {}
12916
12917#[repr(C)]
12919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12920pub struct PerformanceMarkerInfoINTEL {
12921 pub s_type: StructureType,
12922 pub next: *const c_void,
12923 pub marker: u64,
12924}
12925
12926impl Default for PerformanceMarkerInfoINTEL {
12927 #[inline]
12928 fn default() -> Self {
12929 Self {
12930 s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
12931 next: ptr::null(),
12932 marker: u64::default(),
12933 }
12934 }
12935}
12936
12937unsafe impl Send for PerformanceMarkerInfoINTEL {}
12938unsafe impl Sync for PerformanceMarkerInfoINTEL {}
12939
12940#[repr(C)]
12942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12943pub struct PerformanceOverrideInfoINTEL {
12944 pub s_type: StructureType,
12945 pub next: *const c_void,
12946 pub type_: PerformanceOverrideTypeINTEL,
12947 pub enable: Bool32,
12948 pub parameter: u64,
12949}
12950
12951impl Default for PerformanceOverrideInfoINTEL {
12952 #[inline]
12953 fn default() -> Self {
12954 Self {
12955 s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
12956 next: ptr::null(),
12957 type_: PerformanceOverrideTypeINTEL::default(),
12958 enable: Bool32::default(),
12959 parameter: u64::default(),
12960 }
12961 }
12962}
12963
12964unsafe impl Send for PerformanceOverrideInfoINTEL {}
12965unsafe impl Sync for PerformanceOverrideInfoINTEL {}
12966
12967#[repr(C)]
12969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12970pub struct PerformanceQueryReservationInfoKHR {
12971 pub s_type: StructureType,
12972 pub next: *const c_void,
12973 pub max_performance_queries_per_pool: u32,
12974}
12975
12976impl Default for PerformanceQueryReservationInfoKHR {
12977 #[inline]
12978 fn default() -> Self {
12979 Self {
12980 s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
12981 next: ptr::null(),
12982 max_performance_queries_per_pool: u32::default(),
12983 }
12984 }
12985}
12986
12987unsafe impl Send for PerformanceQueryReservationInfoKHR {}
12988unsafe impl Sync for PerformanceQueryReservationInfoKHR {}
12989
12990#[repr(C)]
12992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12993pub struct PerformanceQuerySubmitInfoKHR {
12994 pub s_type: StructureType,
12995 pub next: *const c_void,
12996 pub counter_pass_index: u32,
12997}
12998
12999impl Default for PerformanceQuerySubmitInfoKHR {
13000 #[inline]
13001 fn default() -> Self {
13002 Self {
13003 s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
13004 next: ptr::null(),
13005 counter_pass_index: u32::default(),
13006 }
13007 }
13008}
13009
13010unsafe impl Send for PerformanceQuerySubmitInfoKHR {}
13011unsafe impl Sync for PerformanceQuerySubmitInfoKHR {}
13012
13013#[repr(C)]
13015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13016pub struct PerformanceStreamMarkerInfoINTEL {
13017 pub s_type: StructureType,
13018 pub next: *const c_void,
13019 pub marker: u32,
13020}
13021
13022impl Default for PerformanceStreamMarkerInfoINTEL {
13023 #[inline]
13024 fn default() -> Self {
13025 Self {
13026 s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
13027 next: ptr::null(),
13028 marker: u32::default(),
13029 }
13030 }
13031}
13032
13033unsafe impl Send for PerformanceStreamMarkerInfoINTEL {}
13034unsafe impl Sync for PerformanceStreamMarkerInfoINTEL {}
13035
13036#[repr(C)]
13038#[derive(Copy, Clone, Default, Debug)]
13039pub struct PerformanceValueINTEL {
13040 pub type_: PerformanceValueTypeINTEL,
13041 pub data: PerformanceValueDataINTEL,
13042}
13043
13044#[repr(C)]
13046#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13047pub struct PhysicalDevice16BitStorageFeatures {
13048 pub s_type: StructureType,
13049 pub next: *mut c_void,
13050 pub storage_buffer_16bit_access: Bool32,
13051 pub uniform_and_storage_buffer_16bit_access: Bool32,
13052 pub storage_push_constant16: Bool32,
13053 pub storage_input_output16: Bool32,
13054}
13055
13056impl Default for PhysicalDevice16BitStorageFeatures {
13057 #[inline]
13058 fn default() -> Self {
13059 Self {
13060 s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
13061 next: ptr::null_mut(),
13062 storage_buffer_16bit_access: Bool32::default(),
13063 uniform_and_storage_buffer_16bit_access: Bool32::default(),
13064 storage_push_constant16: Bool32::default(),
13065 storage_input_output16: Bool32::default(),
13066 }
13067 }
13068}
13069
13070unsafe impl Send for PhysicalDevice16BitStorageFeatures {}
13071unsafe impl Sync for PhysicalDevice16BitStorageFeatures {}
13072
13073#[repr(C)]
13075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13076pub struct PhysicalDevice4444FormatsFeaturesEXT {
13077 pub s_type: StructureType,
13078 pub next: *mut c_void,
13079 pub format_a4_r4_g4_b4: Bool32,
13080 pub format_a4_b4_g4_r4: Bool32,
13081}
13082
13083impl Default for PhysicalDevice4444FormatsFeaturesEXT {
13084 #[inline]
13085 fn default() -> Self {
13086 Self {
13087 s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
13088 next: ptr::null_mut(),
13089 format_a4_r4_g4_b4: Bool32::default(),
13090 format_a4_b4_g4_r4: Bool32::default(),
13091 }
13092 }
13093}
13094
13095unsafe impl Send for PhysicalDevice4444FormatsFeaturesEXT {}
13096unsafe impl Sync for PhysicalDevice4444FormatsFeaturesEXT {}
13097
13098#[repr(C)]
13100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13101pub struct PhysicalDevice8BitStorageFeatures {
13102 pub s_type: StructureType,
13103 pub next: *mut c_void,
13104 pub storage_buffer_8bit_access: Bool32,
13105 pub uniform_and_storage_buffer_8bit_access: Bool32,
13106 pub storage_push_constant8: Bool32,
13107}
13108
13109impl Default for PhysicalDevice8BitStorageFeatures {
13110 #[inline]
13111 fn default() -> Self {
13112 Self {
13113 s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
13114 next: ptr::null_mut(),
13115 storage_buffer_8bit_access: Bool32::default(),
13116 uniform_and_storage_buffer_8bit_access: Bool32::default(),
13117 storage_push_constant8: Bool32::default(),
13118 }
13119 }
13120}
13121
13122unsafe impl Send for PhysicalDevice8BitStorageFeatures {}
13123unsafe impl Sync for PhysicalDevice8BitStorageFeatures {}
13124
13125#[repr(C)]
13127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13128pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
13129 pub s_type: StructureType,
13130 pub next: *mut c_void,
13131 pub decode_mode_shared_exponent: Bool32,
13132}
13133
13134impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
13135 #[inline]
13136 fn default() -> Self {
13137 Self {
13138 s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
13139 next: ptr::null_mut(),
13140 decode_mode_shared_exponent: Bool32::default(),
13141 }
13142 }
13143}
13144
13145unsafe impl Send for PhysicalDeviceASTCDecodeFeaturesEXT {}
13146unsafe impl Sync for PhysicalDeviceASTCDecodeFeaturesEXT {}
13147
13148#[repr(C)]
13150#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13151pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
13152 pub s_type: StructureType,
13153 pub next: *mut c_void,
13154 pub acceleration_structure: Bool32,
13155 pub acceleration_structure_capture_replay: Bool32,
13156 pub acceleration_structure_indirect_build: Bool32,
13157 pub acceleration_structure_host_commands: Bool32,
13158 pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
13159}
13160
13161impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
13162 #[inline]
13163 fn default() -> Self {
13164 Self {
13165 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
13166 next: ptr::null_mut(),
13167 acceleration_structure: Bool32::default(),
13168 acceleration_structure_capture_replay: Bool32::default(),
13169 acceleration_structure_indirect_build: Bool32::default(),
13170 acceleration_structure_host_commands: Bool32::default(),
13171 descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
13172 }
13173 }
13174}
13175
13176unsafe impl Send for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13177unsafe impl Sync for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13178
13179#[repr(C)]
13181#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13182pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
13183 pub s_type: StructureType,
13184 pub next: *mut c_void,
13185 pub max_geometry_count: u64,
13186 pub max_instance_count: u64,
13187 pub max_primitive_count: u64,
13188 pub max_per_stage_descriptor_acceleration_structures: u32,
13189 pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
13190 pub max_descriptor_set_acceleration_structures: u32,
13191 pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
13192 pub min_acceleration_structure_scratch_offset_alignment: u32,
13193}
13194
13195impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
13196 #[inline]
13197 fn default() -> Self {
13198 Self {
13199 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
13200 next: ptr::null_mut(),
13201 max_geometry_count: u64::default(),
13202 max_instance_count: u64::default(),
13203 max_primitive_count: u64::default(),
13204 max_per_stage_descriptor_acceleration_structures: u32::default(),
13205 max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
13206 max_descriptor_set_acceleration_structures: u32::default(),
13207 max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
13208 min_acceleration_structure_scratch_offset_alignment: u32::default(),
13209 }
13210 }
13211}
13212
13213unsafe impl Send for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13214unsafe impl Sync for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13215
13216#[repr(C)]
13218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13219pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
13220 pub s_type: StructureType,
13221 pub next: *mut c_void,
13222 pub report_address_binding: Bool32,
13223}
13224
13225impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
13226 #[inline]
13227 fn default() -> Self {
13228 Self {
13229 s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
13230 next: ptr::null_mut(),
13231 report_address_binding: Bool32::default(),
13232 }
13233 }
13234}
13235
13236unsafe impl Send for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13237unsafe impl Sync for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13238
13239#[repr(C)]
13241#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13242pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
13243 pub s_type: StructureType,
13244 pub next: *mut c_void,
13245 pub amigo_profiling: Bool32,
13246}
13247
13248impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
13249 #[inline]
13250 fn default() -> Self {
13251 Self {
13252 s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
13253 next: ptr::null_mut(),
13254 amigo_profiling: Bool32::default(),
13255 }
13256 }
13257}
13258
13259unsafe impl Send for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13260unsafe impl Sync for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13261
13262#[repr(C)]
13264#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13265pub struct PhysicalDeviceAntiLagFeaturesAMD {
13266 pub s_type: StructureType,
13267 pub next: *mut c_void,
13268 pub anti_lag: Bool32,
13269}
13270
13271impl Default for PhysicalDeviceAntiLagFeaturesAMD {
13272 #[inline]
13273 fn default() -> Self {
13274 Self {
13275 s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
13276 next: ptr::null_mut(),
13277 anti_lag: Bool32::default(),
13278 }
13279 }
13280}
13281
13282unsafe impl Send for PhysicalDeviceAntiLagFeaturesAMD {}
13283unsafe impl Sync for PhysicalDeviceAntiLagFeaturesAMD {}
13284
13285#[repr(C)]
13287#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13288pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13289 pub s_type: StructureType,
13290 pub next: *mut c_void,
13291 pub attachment_feedback_loop_dynamic_state: Bool32,
13292}
13293
13294impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13295 #[inline]
13296 fn default() -> Self {
13297 Self {
13298 s_type:
13299 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
13300 next: ptr::null_mut(),
13301 attachment_feedback_loop_dynamic_state: Bool32::default(),
13302 }
13303 }
13304}
13305
13306unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13307unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13308
13309#[repr(C)]
13311#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13312pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13313 pub s_type: StructureType,
13314 pub next: *mut c_void,
13315 pub attachment_feedback_loop_layout: Bool32,
13316}
13317
13318impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13319 #[inline]
13320 fn default() -> Self {
13321 Self {
13322 s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
13323 next: ptr::null_mut(),
13324 attachment_feedback_loop_layout: Bool32::default(),
13325 }
13326 }
13327}
13328
13329unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13330unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13331
13332#[repr(C)]
13334#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13335pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13336 pub s_type: StructureType,
13337 pub next: *mut c_void,
13338 pub advanced_blend_coherent_operations: Bool32,
13339}
13340
13341impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13342 #[inline]
13343 fn default() -> Self {
13344 Self {
13345 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
13346 next: ptr::null_mut(),
13347 advanced_blend_coherent_operations: Bool32::default(),
13348 }
13349 }
13350}
13351
13352unsafe impl Send for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13353unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13354
13355#[repr(C)]
13357#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13358pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13359 pub s_type: StructureType,
13360 pub next: *mut c_void,
13361 pub advanced_blend_max_color_attachments: u32,
13362 pub advanced_blend_independent_blend: Bool32,
13363 pub advanced_blend_non_premultiplied_src_color: Bool32,
13364 pub advanced_blend_non_premultiplied_dst_color: Bool32,
13365 pub advanced_blend_correlated_overlap: Bool32,
13366 pub advanced_blend_all_operations: Bool32,
13367}
13368
13369impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13370 #[inline]
13371 fn default() -> Self {
13372 Self {
13373 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
13374 next: ptr::null_mut(),
13375 advanced_blend_max_color_attachments: u32::default(),
13376 advanced_blend_independent_blend: Bool32::default(),
13377 advanced_blend_non_premultiplied_src_color: Bool32::default(),
13378 advanced_blend_non_premultiplied_dst_color: Bool32::default(),
13379 advanced_blend_correlated_overlap: Bool32::default(),
13380 advanced_blend_all_operations: Bool32::default(),
13381 }
13382 }
13383}
13384
13385unsafe impl Send for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13386unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13387
13388#[repr(C)]
13390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13391pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13392 pub s_type: StructureType,
13393 pub next: *mut c_void,
13394 pub border_color_swizzle: Bool32,
13395 pub border_color_swizzle_from_image: Bool32,
13396}
13397
13398impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13399 #[inline]
13400 fn default() -> Self {
13401 Self {
13402 s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
13403 next: ptr::null_mut(),
13404 border_color_swizzle: Bool32::default(),
13405 border_color_swizzle_from_image: Bool32::default(),
13406 }
13407 }
13408}
13409
13410unsafe impl Send for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13411unsafe impl Sync for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13412
13413#[repr(C)]
13415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13416pub struct PhysicalDeviceBufferDeviceAddressFeatures {
13417 pub s_type: StructureType,
13418 pub next: *mut c_void,
13419 pub buffer_device_address: Bool32,
13420 pub buffer_device_address_capture_replay: Bool32,
13421 pub buffer_device_address_multi_device: Bool32,
13422}
13423
13424impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
13425 #[inline]
13426 fn default() -> Self {
13427 Self {
13428 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
13429 next: ptr::null_mut(),
13430 buffer_device_address: Bool32::default(),
13431 buffer_device_address_capture_replay: Bool32::default(),
13432 buffer_device_address_multi_device: Bool32::default(),
13433 }
13434 }
13435}
13436
13437unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeatures {}
13438unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeatures {}
13439
13440#[repr(C)]
13442#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13443pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13444 pub s_type: StructureType,
13445 pub next: *mut c_void,
13446 pub buffer_device_address: Bool32,
13447 pub buffer_device_address_capture_replay: Bool32,
13448 pub buffer_device_address_multi_device: Bool32,
13449}
13450
13451impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13452 #[inline]
13453 fn default() -> Self {
13454 Self {
13455 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
13456 next: ptr::null_mut(),
13457 buffer_device_address: Bool32::default(),
13458 buffer_device_address_capture_replay: Bool32::default(),
13459 buffer_device_address_multi_device: Bool32::default(),
13460 }
13461 }
13462}
13463
13464unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13465unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13466
13467#[repr(C)]
13469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13470pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13471 pub s_type: StructureType,
13472 pub next: *mut c_void,
13473 pub cluster_acceleration_structure: Bool32,
13474}
13475
13476impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13477 #[inline]
13478 fn default() -> Self {
13479 Self {
13480 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
13481 next: ptr::null_mut(),
13482 cluster_acceleration_structure: Bool32::default(),
13483 }
13484 }
13485}
13486
13487unsafe impl Send for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13488unsafe impl Sync for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13489
13490#[repr(C)]
13492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13493pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13494 pub s_type: StructureType,
13495 pub next: *mut c_void,
13496 pub max_vertices_per_cluster: u32,
13497 pub max_triangles_per_cluster: u32,
13498 pub cluster_scratch_byte_alignment: u32,
13499 pub cluster_byte_alignment: u32,
13500 pub cluster_template_byte_alignment: u32,
13501 pub cluster_bottom_level_byte_alignment: u32,
13502 pub cluster_template_bounds_byte_alignment: u32,
13503 pub max_cluster_geometry_index: u32,
13504}
13505
13506impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13507 #[inline]
13508 fn default() -> Self {
13509 Self {
13510 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
13511 next: ptr::null_mut(),
13512 max_vertices_per_cluster: u32::default(),
13513 max_triangles_per_cluster: u32::default(),
13514 cluster_scratch_byte_alignment: u32::default(),
13515 cluster_byte_alignment: u32::default(),
13516 cluster_template_byte_alignment: u32::default(),
13517 cluster_bottom_level_byte_alignment: u32::default(),
13518 cluster_template_bounds_byte_alignment: u32::default(),
13519 max_cluster_geometry_index: u32::default(),
13520 }
13521 }
13522}
13523
13524unsafe impl Send for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13525unsafe impl Sync for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13526
13527#[repr(C)]
13529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13530pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13531 pub s_type: StructureType,
13532 pub next: *mut c_void,
13533 pub clusterculling_shader: Bool32,
13534 pub multiview_cluster_culling_shader: Bool32,
13535}
13536
13537impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13538 #[inline]
13539 fn default() -> Self {
13540 Self {
13541 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
13542 next: ptr::null_mut(),
13543 clusterculling_shader: Bool32::default(),
13544 multiview_cluster_culling_shader: Bool32::default(),
13545 }
13546 }
13547}
13548
13549unsafe impl Send for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13550unsafe impl Sync for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13551
13552#[repr(C)]
13554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13555pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13556 pub s_type: StructureType,
13557 pub next: *mut c_void,
13558 pub max_work_group_count: [u32; 3],
13559 pub max_work_group_size: [u32; 3],
13560 pub max_output_cluster_count: u32,
13561 pub indirect_buffer_offset_alignment: DeviceSize,
13562}
13563
13564impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13565 #[inline]
13566 fn default() -> Self {
13567 Self {
13568 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
13569 next: ptr::null_mut(),
13570 max_work_group_count: [u32::default(); 3],
13571 max_work_group_size: [u32::default(); 3],
13572 max_output_cluster_count: u32::default(),
13573 indirect_buffer_offset_alignment: DeviceSize::default(),
13574 }
13575 }
13576}
13577
13578unsafe impl Send for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13579unsafe impl Sync for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13580
13581#[repr(C)]
13583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13584pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13585 pub s_type: StructureType,
13586 pub next: *mut c_void,
13587 pub cluster_shading_rate: Bool32,
13588}
13589
13590impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13591 #[inline]
13592 fn default() -> Self {
13593 Self {
13594 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
13595 next: ptr::null_mut(),
13596 cluster_shading_rate: Bool32::default(),
13597 }
13598 }
13599}
13600
13601unsafe impl Send for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13602unsafe impl Sync for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13603
13604#[repr(C)]
13606#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13607pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
13608 pub s_type: StructureType,
13609 pub next: *mut c_void,
13610 pub device_coherent_memory: Bool32,
13611}
13612
13613impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
13614 #[inline]
13615 fn default() -> Self {
13616 Self {
13617 s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
13618 next: ptr::null_mut(),
13619 device_coherent_memory: Bool32::default(),
13620 }
13621 }
13622}
13623
13624unsafe impl Send for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13625unsafe impl Sync for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13626
13627#[repr(C)]
13629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13630pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
13631 pub s_type: StructureType,
13632 pub next: *mut c_void,
13633 pub color_write_enable: Bool32,
13634}
13635
13636impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
13637 #[inline]
13638 fn default() -> Self {
13639 Self {
13640 s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
13641 next: ptr::null_mut(),
13642 color_write_enable: Bool32::default(),
13643 }
13644 }
13645}
13646
13647unsafe impl Send for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13648unsafe impl Sync for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13649
13650#[repr(C)]
13652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13653pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13654 pub s_type: StructureType,
13655 pub next: *mut c_void,
13656 pub command_buffer_inheritance: Bool32,
13657}
13658
13659impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13660 #[inline]
13661 fn default() -> Self {
13662 Self {
13663 s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
13664 next: ptr::null_mut(),
13665 command_buffer_inheritance: Bool32::default(),
13666 }
13667 }
13668}
13669
13670unsafe impl Send for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13671unsafe impl Sync for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13672
13673#[repr(C)]
13675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13676pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13677 pub s_type: StructureType,
13678 pub next: *mut c_void,
13679 pub compute_derivative_group_quads: Bool32,
13680 pub compute_derivative_group_linear: Bool32,
13681}
13682
13683impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13684 #[inline]
13685 fn default() -> Self {
13686 Self {
13687 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
13688 next: ptr::null_mut(),
13689 compute_derivative_group_quads: Bool32::default(),
13690 compute_derivative_group_linear: Bool32::default(),
13691 }
13692 }
13693}
13694
13695unsafe impl Send for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13696unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13697
13698#[repr(C)]
13700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13701pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13702 pub s_type: StructureType,
13703 pub next: *mut c_void,
13704 pub mesh_and_task_shader_derivatives: Bool32,
13705}
13706
13707impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13708 #[inline]
13709 fn default() -> Self {
13710 Self {
13711 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
13712 next: ptr::null_mut(),
13713 mesh_and_task_shader_derivatives: Bool32::default(),
13714 }
13715 }
13716}
13717
13718unsafe impl Send for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13719unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13720
13721#[repr(C)]
13723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13724pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
13725 pub s_type: StructureType,
13726 pub next: *mut c_void,
13727 pub conditional_rendering: Bool32,
13728 pub inherited_conditional_rendering: Bool32,
13729}
13730
13731impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
13732 #[inline]
13733 fn default() -> Self {
13734 Self {
13735 s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
13736 next: ptr::null_mut(),
13737 conditional_rendering: Bool32::default(),
13738 inherited_conditional_rendering: Bool32::default(),
13739 }
13740 }
13741}
13742
13743unsafe impl Send for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13744unsafe impl Sync for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13745
13746#[repr(C)]
13748#[derive(Copy, Clone, Debug, PartialEq)]
13749pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
13750 pub s_type: StructureType,
13751 pub next: *mut c_void,
13752 pub primitive_overestimation_size: f32,
13753 pub max_extra_primitive_overestimation_size: f32,
13754 pub extra_primitive_overestimation_size_granularity: f32,
13755 pub primitive_underestimation: Bool32,
13756 pub conservative_point_and_line_rasterization: Bool32,
13757 pub degenerate_triangles_rasterized: Bool32,
13758 pub degenerate_lines_rasterized: Bool32,
13759 pub fully_covered_fragment_shader_input_variable: Bool32,
13760 pub conservative_rasterization_post_depth_coverage: Bool32,
13761}
13762
13763impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
13764 #[inline]
13765 fn default() -> Self {
13766 Self {
13767 s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
13768 next: ptr::null_mut(),
13769 primitive_overestimation_size: f32::default(),
13770 max_extra_primitive_overestimation_size: f32::default(),
13771 extra_primitive_overestimation_size_granularity: f32::default(),
13772 primitive_underestimation: Bool32::default(),
13773 conservative_point_and_line_rasterization: Bool32::default(),
13774 degenerate_triangles_rasterized: Bool32::default(),
13775 degenerate_lines_rasterized: Bool32::default(),
13776 fully_covered_fragment_shader_input_variable: Bool32::default(),
13777 conservative_rasterization_post_depth_coverage: Bool32::default(),
13778 }
13779 }
13780}
13781
13782unsafe impl Send for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13783unsafe impl Sync for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13784
13785#[repr(C)]
13787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13788pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
13789 pub s_type: StructureType,
13790 pub next: *mut c_void,
13791 pub cooperative_matrix_workgroup_scope: Bool32,
13792 pub cooperative_matrix_flexible_dimensions: Bool32,
13793 pub cooperative_matrix_reductions: Bool32,
13794 pub cooperative_matrix_conversions: Bool32,
13795 pub cooperative_matrix_per_element_operations: Bool32,
13796 pub cooperative_matrix_tensor_addressing: Bool32,
13797 pub cooperative_matrix_block_loads: Bool32,
13798}
13799
13800impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
13801 #[inline]
13802 fn default() -> Self {
13803 Self {
13804 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
13805 next: ptr::null_mut(),
13806 cooperative_matrix_workgroup_scope: Bool32::default(),
13807 cooperative_matrix_flexible_dimensions: Bool32::default(),
13808 cooperative_matrix_reductions: Bool32::default(),
13809 cooperative_matrix_conversions: Bool32::default(),
13810 cooperative_matrix_per_element_operations: Bool32::default(),
13811 cooperative_matrix_tensor_addressing: Bool32::default(),
13812 cooperative_matrix_block_loads: Bool32::default(),
13813 }
13814 }
13815}
13816
13817unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13818unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13819
13820#[repr(C)]
13822#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13823pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
13824 pub s_type: StructureType,
13825 pub next: *mut c_void,
13826 pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
13827 pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
13828 pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
13829}
13830
13831impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
13832 #[inline]
13833 fn default() -> Self {
13834 Self {
13835 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
13836 next: ptr::null_mut(),
13837 cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
13838 cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
13839 cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
13840 }
13841 }
13842}
13843
13844unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
13845unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
13846
13847#[repr(C)]
13849#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13850pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
13851 pub s_type: StructureType,
13852 pub next: *mut c_void,
13853 pub cooperative_matrix: Bool32,
13854 pub cooperative_matrix_robust_buffer_access: Bool32,
13855}
13856
13857impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
13858 #[inline]
13859 fn default() -> Self {
13860 Self {
13861 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
13862 next: ptr::null_mut(),
13863 cooperative_matrix: Bool32::default(),
13864 cooperative_matrix_robust_buffer_access: Bool32::default(),
13865 }
13866 }
13867}
13868
13869unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
13870unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
13871
13872#[repr(C)]
13874#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13875pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
13876 pub s_type: StructureType,
13877 pub next: *mut c_void,
13878 pub cooperative_matrix: Bool32,
13879 pub cooperative_matrix_robust_buffer_access: Bool32,
13880}
13881
13882impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
13883 #[inline]
13884 fn default() -> Self {
13885 Self {
13886 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
13887 next: ptr::null_mut(),
13888 cooperative_matrix: Bool32::default(),
13889 cooperative_matrix_robust_buffer_access: Bool32::default(),
13890 }
13891 }
13892}
13893
13894unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesNV {}
13895unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesNV {}
13896
13897#[repr(C)]
13899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13900pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
13901 pub s_type: StructureType,
13902 pub next: *mut c_void,
13903 pub cooperative_matrix_supported_stages: ShaderStageFlags,
13904}
13905
13906impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
13907 #[inline]
13908 fn default() -> Self {
13909 Self {
13910 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
13911 next: ptr::null_mut(),
13912 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
13913 }
13914 }
13915}
13916
13917unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
13918unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
13919
13920#[repr(C)]
13922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13923pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
13924 pub s_type: StructureType,
13925 pub next: *mut c_void,
13926 pub cooperative_matrix_supported_stages: ShaderStageFlags,
13927}
13928
13929impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
13930 #[inline]
13931 fn default() -> Self {
13932 Self {
13933 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
13934 next: ptr::null_mut(),
13935 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
13936 }
13937 }
13938}
13939
13940unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesNV {}
13941unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesNV {}
13942
13943#[repr(C)]
13945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13946pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
13947 pub s_type: StructureType,
13948 pub next: *mut c_void,
13949 pub cooperative_vector: Bool32,
13950 pub cooperative_vector_training: Bool32,
13951}
13952
13953impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
13954 #[inline]
13955 fn default() -> Self {
13956 Self {
13957 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
13958 next: ptr::null_mut(),
13959 cooperative_vector: Bool32::default(),
13960 cooperative_vector_training: Bool32::default(),
13961 }
13962 }
13963}
13964
13965unsafe impl Send for PhysicalDeviceCooperativeVectorFeaturesNV {}
13966unsafe impl Sync for PhysicalDeviceCooperativeVectorFeaturesNV {}
13967
13968#[repr(C)]
13970#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13971pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
13972 pub s_type: StructureType,
13973 pub next: *mut c_void,
13974 pub cooperative_vector_supported_stages: ShaderStageFlags,
13975 pub cooperative_vector_training_float16_accumulation: Bool32,
13976 pub cooperative_vector_training_float32_accumulation: Bool32,
13977 pub max_cooperative_vector_components: u32,
13978}
13979
13980impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
13981 #[inline]
13982 fn default() -> Self {
13983 Self {
13984 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
13985 next: ptr::null_mut(),
13986 cooperative_vector_supported_stages: ShaderStageFlags::default(),
13987 cooperative_vector_training_float16_accumulation: Bool32::default(),
13988 cooperative_vector_training_float32_accumulation: Bool32::default(),
13989 max_cooperative_vector_components: u32::default(),
13990 }
13991 }
13992}
13993
13994unsafe impl Send for PhysicalDeviceCooperativeVectorPropertiesNV {}
13995unsafe impl Sync for PhysicalDeviceCooperativeVectorPropertiesNV {}
13996
13997#[repr(C)]
13999#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14000pub struct PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
14001 pub s_type: StructureType,
14002 pub next: *mut c_void,
14003 pub indirect_memory_copy: Bool32,
14004 pub indirect_memory_to_image_copy: Bool32,
14005}
14006
14007impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
14008 #[inline]
14009 fn default() -> Self {
14010 Self {
14011 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
14012 next: ptr::null_mut(),
14013 indirect_memory_copy: Bool32::default(),
14014 indirect_memory_to_image_copy: Bool32::default(),
14015 }
14016 }
14017}
14018
14019unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
14020unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
14021
14022#[repr(C)]
14024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14025pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14026 pub s_type: StructureType,
14027 pub next: *mut c_void,
14028 pub indirect_copy: Bool32,
14029}
14030
14031impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14032 #[inline]
14033 fn default() -> Self {
14034 Self {
14035 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
14036 next: ptr::null_mut(),
14037 indirect_copy: Bool32::default(),
14038 }
14039 }
14040}
14041
14042unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14043unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14044
14045#[repr(C)]
14047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14048pub struct PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14049 pub s_type: StructureType,
14050 pub next: *mut c_void,
14051 pub supported_queues: QueueFlags,
14052}
14053
14054impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14055 #[inline]
14056 fn default() -> Self {
14057 Self {
14058 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
14059 next: ptr::null_mut(),
14060 supported_queues: QueueFlags::default(),
14061 }
14062 }
14063}
14064
14065unsafe impl Send for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14066unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14067
14068#[repr(C)]
14070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14071pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
14072 pub s_type: StructureType,
14073 pub next: *mut c_void,
14074 pub corner_sampled_image: Bool32,
14075}
14076
14077impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
14078 #[inline]
14079 fn default() -> Self {
14080 Self {
14081 s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
14082 next: ptr::null_mut(),
14083 corner_sampled_image: Bool32::default(),
14084 }
14085 }
14086}
14087
14088unsafe impl Send for PhysicalDeviceCornerSampledImageFeaturesNV {}
14089unsafe impl Sync for PhysicalDeviceCornerSampledImageFeaturesNV {}
14090
14091#[repr(C)]
14093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14094pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
14095 pub s_type: StructureType,
14096 pub next: *mut c_void,
14097 pub coverage_reduction_mode: Bool32,
14098}
14099
14100impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
14101 #[inline]
14102 fn default() -> Self {
14103 Self {
14104 s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
14105 next: ptr::null_mut(),
14106 coverage_reduction_mode: Bool32::default(),
14107 }
14108 }
14109}
14110
14111unsafe impl Send for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14112unsafe impl Sync for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14113
14114#[repr(C)]
14116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14117pub struct PhysicalDeviceCubicClampFeaturesQCOM {
14118 pub s_type: StructureType,
14119 pub next: *mut c_void,
14120 pub cubic_range_clamp: Bool32,
14121}
14122
14123impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
14124 #[inline]
14125 fn default() -> Self {
14126 Self {
14127 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
14128 next: ptr::null_mut(),
14129 cubic_range_clamp: Bool32::default(),
14130 }
14131 }
14132}
14133
14134unsafe impl Send for PhysicalDeviceCubicClampFeaturesQCOM {}
14135unsafe impl Sync for PhysicalDeviceCubicClampFeaturesQCOM {}
14136
14137#[repr(C)]
14139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14140pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
14141 pub s_type: StructureType,
14142 pub next: *mut c_void,
14143 pub selectable_cubic_weights: Bool32,
14144}
14145
14146impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
14147 #[inline]
14148 fn default() -> Self {
14149 Self {
14150 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
14151 next: ptr::null_mut(),
14152 selectable_cubic_weights: Bool32::default(),
14153 }
14154 }
14155}
14156
14157unsafe impl Send for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14158unsafe impl Sync for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14159
14160#[repr(C)]
14162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14163pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
14164 pub s_type: StructureType,
14165 pub next: *mut c_void,
14166 pub cuda_kernel_launch_features: Bool32,
14167}
14168
14169impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
14170 #[inline]
14171 fn default() -> Self {
14172 Self {
14173 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
14174 next: ptr::null_mut(),
14175 cuda_kernel_launch_features: Bool32::default(),
14176 }
14177 }
14178}
14179
14180unsafe impl Send for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14181unsafe impl Sync for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14182
14183#[repr(C)]
14185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14186pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
14187 pub s_type: StructureType,
14188 pub next: *mut c_void,
14189 pub compute_capability_minor: u32,
14190 pub compute_capability_major: u32,
14191}
14192
14193impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
14194 #[inline]
14195 fn default() -> Self {
14196 Self {
14197 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
14198 next: ptr::null_mut(),
14199 compute_capability_minor: u32::default(),
14200 compute_capability_major: u32::default(),
14201 }
14202 }
14203}
14204
14205unsafe impl Send for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14206unsafe impl Sync for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14207
14208#[repr(C)]
14210#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14211pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
14212 pub s_type: StructureType,
14213 pub next: *mut c_void,
14214 pub custom_border_colors: Bool32,
14215 pub custom_border_color_without_format: Bool32,
14216}
14217
14218impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
14219 #[inline]
14220 fn default() -> Self {
14221 Self {
14222 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
14223 next: ptr::null_mut(),
14224 custom_border_colors: Bool32::default(),
14225 custom_border_color_without_format: Bool32::default(),
14226 }
14227 }
14228}
14229
14230unsafe impl Send for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14231unsafe impl Sync for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14232
14233#[repr(C)]
14235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14236pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
14237 pub s_type: StructureType,
14238 pub next: *mut c_void,
14239 pub max_custom_border_color_samplers: u32,
14240}
14241
14242impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
14243 #[inline]
14244 fn default() -> Self {
14245 Self {
14246 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
14247 next: ptr::null_mut(),
14248 max_custom_border_color_samplers: u32::default(),
14249 }
14250 }
14251}
14252
14253unsafe impl Send for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14254unsafe impl Sync for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14255
14256#[repr(C)]
14258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14259pub struct PhysicalDeviceDataGraphFeaturesARM {
14260 pub s_type: StructureType,
14261 pub next: *mut c_void,
14262 pub data_graph: Bool32,
14263 pub data_graph_update_after_bind: Bool32,
14264 pub data_graph_specialization_constants: Bool32,
14265 pub data_graph_descriptor_buffer: Bool32,
14266 pub data_graph_shader_module: Bool32,
14267}
14268
14269impl Default for PhysicalDeviceDataGraphFeaturesARM {
14270 #[inline]
14271 fn default() -> Self {
14272 Self {
14273 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
14274 next: ptr::null_mut(),
14275 data_graph: Bool32::default(),
14276 data_graph_update_after_bind: Bool32::default(),
14277 data_graph_specialization_constants: Bool32::default(),
14278 data_graph_descriptor_buffer: Bool32::default(),
14279 data_graph_shader_module: Bool32::default(),
14280 }
14281 }
14282}
14283
14284unsafe impl Send for PhysicalDeviceDataGraphFeaturesARM {}
14285unsafe impl Sync for PhysicalDeviceDataGraphFeaturesARM {}
14286
14287#[repr(C)]
14289#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14290pub struct PhysicalDeviceDataGraphModelFeaturesQCOM {
14291 pub s_type: StructureType,
14292 pub next: *const c_void,
14293 pub data_graph_model: Bool32,
14294}
14295
14296impl Default for PhysicalDeviceDataGraphModelFeaturesQCOM {
14297 #[inline]
14298 fn default() -> Self {
14299 Self {
14300 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
14301 next: ptr::null(),
14302 data_graph_model: Bool32::default(),
14303 }
14304 }
14305}
14306
14307unsafe impl Send for PhysicalDeviceDataGraphModelFeaturesQCOM {}
14308unsafe impl Sync for PhysicalDeviceDataGraphModelFeaturesQCOM {}
14309
14310#[repr(C)]
14312#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14313pub struct PhysicalDeviceDataGraphOperationSupportARM {
14314 pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
14315 pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
14316 pub version: u32,
14317}
14318
14319#[repr(C)]
14321#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14322pub struct PhysicalDeviceDataGraphProcessingEngineARM {
14323 pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
14324 pub is_foreign: Bool32,
14325}
14326
14327#[repr(C)]
14329#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14330pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14331 pub s_type: StructureType,
14332 pub next: *mut c_void,
14333 pub dedicated_allocation_image_aliasing: Bool32,
14334}
14335
14336impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14337 #[inline]
14338 fn default() -> Self {
14339 Self {
14340 s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
14341 next: ptr::null_mut(),
14342 dedicated_allocation_image_aliasing: Bool32::default(),
14343 }
14344 }
14345}
14346
14347unsafe impl Send for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14348unsafe impl Sync for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14349
14350#[repr(C)]
14352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14353pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14354 pub s_type: StructureType,
14355 pub next: *mut c_void,
14356 pub dense_geometry_format: Bool32,
14357}
14358
14359impl Default for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14360 #[inline]
14361 fn default() -> Self {
14362 Self {
14363 s_type: StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
14364 next: ptr::null_mut(),
14365 dense_geometry_format: Bool32::default(),
14366 }
14367 }
14368}
14369
14370unsafe impl Send for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14371unsafe impl Sync for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14372
14373#[repr(C)]
14375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14376pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
14377 pub s_type: StructureType,
14378 pub next: *mut c_void,
14379 pub depth_bias_control: Bool32,
14380 pub least_representable_value_force_unorm_representation: Bool32,
14381 pub float_representation: Bool32,
14382 pub depth_bias_exact: Bool32,
14383}
14384
14385impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
14386 #[inline]
14387 fn default() -> Self {
14388 Self {
14389 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
14390 next: ptr::null_mut(),
14391 depth_bias_control: Bool32::default(),
14392 least_representable_value_force_unorm_representation: Bool32::default(),
14393 float_representation: Bool32::default(),
14394 depth_bias_exact: Bool32::default(),
14395 }
14396 }
14397}
14398
14399unsafe impl Send for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14400unsafe impl Sync for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14401
14402#[repr(C)]
14404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14405pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
14406 pub s_type: StructureType,
14407 pub next: *mut c_void,
14408 pub depth_clamp_control: Bool32,
14409}
14410
14411impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
14412 #[inline]
14413 fn default() -> Self {
14414 Self {
14415 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
14416 next: ptr::null_mut(),
14417 depth_clamp_control: Bool32::default(),
14418 }
14419 }
14420}
14421
14422unsafe impl Send for PhysicalDeviceDepthClampControlFeaturesEXT {}
14423unsafe impl Sync for PhysicalDeviceDepthClampControlFeaturesEXT {}
14424
14425#[repr(C)]
14427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14428pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14429 pub s_type: StructureType,
14430 pub next: *mut c_void,
14431 pub depth_clamp_zero_one: Bool32,
14432}
14433
14434impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14435 #[inline]
14436 fn default() -> Self {
14437 Self {
14438 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
14439 next: ptr::null_mut(),
14440 depth_clamp_zero_one: Bool32::default(),
14441 }
14442 }
14443}
14444
14445unsafe impl Send for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14446unsafe impl Sync for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14447
14448#[repr(C)]
14450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14451pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
14452 pub s_type: StructureType,
14453 pub next: *mut c_void,
14454 pub depth_clip_control: Bool32,
14455}
14456
14457impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
14458 #[inline]
14459 fn default() -> Self {
14460 Self {
14461 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
14462 next: ptr::null_mut(),
14463 depth_clip_control: Bool32::default(),
14464 }
14465 }
14466}
14467
14468unsafe impl Send for PhysicalDeviceDepthClipControlFeaturesEXT {}
14469unsafe impl Sync for PhysicalDeviceDepthClipControlFeaturesEXT {}
14470
14471#[repr(C)]
14473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14474pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
14475 pub s_type: StructureType,
14476 pub next: *mut c_void,
14477 pub depth_clip_enable: Bool32,
14478}
14479
14480impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
14481 #[inline]
14482 fn default() -> Self {
14483 Self {
14484 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
14485 next: ptr::null_mut(),
14486 depth_clip_enable: Bool32::default(),
14487 }
14488 }
14489}
14490
14491unsafe impl Send for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14492unsafe impl Sync for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14493
14494#[repr(C)]
14496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14497pub struct PhysicalDeviceDepthStencilResolveProperties {
14498 pub s_type: StructureType,
14499 pub next: *mut c_void,
14500 pub supported_depth_resolve_modes: ResolveModeFlags,
14501 pub supported_stencil_resolve_modes: ResolveModeFlags,
14502 pub independent_resolve_none: Bool32,
14503 pub independent_resolve: Bool32,
14504}
14505
14506impl Default for PhysicalDeviceDepthStencilResolveProperties {
14507 #[inline]
14508 fn default() -> Self {
14509 Self {
14510 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
14511 next: ptr::null_mut(),
14512 supported_depth_resolve_modes: ResolveModeFlags::default(),
14513 supported_stencil_resolve_modes: ResolveModeFlags::default(),
14514 independent_resolve_none: Bool32::default(),
14515 independent_resolve: Bool32::default(),
14516 }
14517 }
14518}
14519
14520unsafe impl Send for PhysicalDeviceDepthStencilResolveProperties {}
14521unsafe impl Sync for PhysicalDeviceDepthStencilResolveProperties {}
14522
14523#[repr(C)]
14525#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14526pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14527 pub s_type: StructureType,
14528 pub next: *mut c_void,
14529 pub combined_image_sampler_density_map_descriptor_size: usize,
14530}
14531
14532impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14533 #[inline]
14534 fn default() -> Self {
14535 Self {
14536 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
14537 next: ptr::null_mut(),
14538 combined_image_sampler_density_map_descriptor_size: usize::default(),
14539 }
14540 }
14541}
14542
14543unsafe impl Send for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14544unsafe impl Sync for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14545
14546#[repr(C)]
14548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14549pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
14550 pub s_type: StructureType,
14551 pub next: *mut c_void,
14552 pub descriptor_buffer: Bool32,
14553 pub descriptor_buffer_capture_replay: Bool32,
14554 pub descriptor_buffer_image_layout_ignored: Bool32,
14555 pub descriptor_buffer_push_descriptors: Bool32,
14556}
14557
14558impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
14559 #[inline]
14560 fn default() -> Self {
14561 Self {
14562 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
14563 next: ptr::null_mut(),
14564 descriptor_buffer: Bool32::default(),
14565 descriptor_buffer_capture_replay: Bool32::default(),
14566 descriptor_buffer_image_layout_ignored: Bool32::default(),
14567 descriptor_buffer_push_descriptors: Bool32::default(),
14568 }
14569 }
14570}
14571
14572unsafe impl Send for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14573unsafe impl Sync for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14574
14575#[repr(C)]
14577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14578pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
14579 pub s_type: StructureType,
14580 pub next: *mut c_void,
14581 pub combined_image_sampler_descriptor_single_array: Bool32,
14582 pub bufferless_push_descriptors: Bool32,
14583 pub allow_sampler_image_view_post_submit_creation: Bool32,
14584 pub descriptor_buffer_offset_alignment: DeviceSize,
14585 pub max_descriptor_buffer_bindings: u32,
14586 pub max_resource_descriptor_buffer_bindings: u32,
14587 pub max_sampler_descriptor_buffer_bindings: u32,
14588 pub max_embedded_immutable_sampler_bindings: u32,
14589 pub max_embedded_immutable_samplers: u32,
14590 pub buffer_capture_replay_descriptor_data_size: usize,
14591 pub image_capture_replay_descriptor_data_size: usize,
14592 pub image_view_capture_replay_descriptor_data_size: usize,
14593 pub sampler_capture_replay_descriptor_data_size: usize,
14594 pub acceleration_structure_capture_replay_descriptor_data_size: usize,
14595 pub sampler_descriptor_size: usize,
14596 pub combined_image_sampler_descriptor_size: usize,
14597 pub sampled_image_descriptor_size: usize,
14598 pub storage_image_descriptor_size: usize,
14599 pub uniform_texel_buffer_descriptor_size: usize,
14600 pub robust_uniform_texel_buffer_descriptor_size: usize,
14601 pub storage_texel_buffer_descriptor_size: usize,
14602 pub robust_storage_texel_buffer_descriptor_size: usize,
14603 pub uniform_buffer_descriptor_size: usize,
14604 pub robust_uniform_buffer_descriptor_size: usize,
14605 pub storage_buffer_descriptor_size: usize,
14606 pub robust_storage_buffer_descriptor_size: usize,
14607 pub input_attachment_descriptor_size: usize,
14608 pub acceleration_structure_descriptor_size: usize,
14609 pub max_sampler_descriptor_buffer_range: DeviceSize,
14610 pub max_resource_descriptor_buffer_range: DeviceSize,
14611 pub sampler_descriptor_buffer_address_space_size: DeviceSize,
14612 pub resource_descriptor_buffer_address_space_size: DeviceSize,
14613 pub descriptor_buffer_address_space_size: DeviceSize,
14614}
14615
14616impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
14617 #[inline]
14618 fn default() -> Self {
14619 Self {
14620 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
14621 next: ptr::null_mut(),
14622 combined_image_sampler_descriptor_single_array: Bool32::default(),
14623 bufferless_push_descriptors: Bool32::default(),
14624 allow_sampler_image_view_post_submit_creation: Bool32::default(),
14625 descriptor_buffer_offset_alignment: DeviceSize::default(),
14626 max_descriptor_buffer_bindings: u32::default(),
14627 max_resource_descriptor_buffer_bindings: u32::default(),
14628 max_sampler_descriptor_buffer_bindings: u32::default(),
14629 max_embedded_immutable_sampler_bindings: u32::default(),
14630 max_embedded_immutable_samplers: u32::default(),
14631 buffer_capture_replay_descriptor_data_size: usize::default(),
14632 image_capture_replay_descriptor_data_size: usize::default(),
14633 image_view_capture_replay_descriptor_data_size: usize::default(),
14634 sampler_capture_replay_descriptor_data_size: usize::default(),
14635 acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
14636 sampler_descriptor_size: usize::default(),
14637 combined_image_sampler_descriptor_size: usize::default(),
14638 sampled_image_descriptor_size: usize::default(),
14639 storage_image_descriptor_size: usize::default(),
14640 uniform_texel_buffer_descriptor_size: usize::default(),
14641 robust_uniform_texel_buffer_descriptor_size: usize::default(),
14642 storage_texel_buffer_descriptor_size: usize::default(),
14643 robust_storage_texel_buffer_descriptor_size: usize::default(),
14644 uniform_buffer_descriptor_size: usize::default(),
14645 robust_uniform_buffer_descriptor_size: usize::default(),
14646 storage_buffer_descriptor_size: usize::default(),
14647 robust_storage_buffer_descriptor_size: usize::default(),
14648 input_attachment_descriptor_size: usize::default(),
14649 acceleration_structure_descriptor_size: usize::default(),
14650 max_sampler_descriptor_buffer_range: DeviceSize::default(),
14651 max_resource_descriptor_buffer_range: DeviceSize::default(),
14652 sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
14653 resource_descriptor_buffer_address_space_size: DeviceSize::default(),
14654 descriptor_buffer_address_space_size: DeviceSize::default(),
14655 }
14656 }
14657}
14658
14659unsafe impl Send for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14660unsafe impl Sync for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14661
14662#[repr(C)]
14664#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14665pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14666 pub s_type: StructureType,
14667 pub next: *mut c_void,
14668 pub descriptor_buffer_tensor_descriptors: Bool32,
14669}
14670
14671impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14672 #[inline]
14673 fn default() -> Self {
14674 Self {
14675 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
14676 next: ptr::null_mut(),
14677 descriptor_buffer_tensor_descriptors: Bool32::default(),
14678 }
14679 }
14680}
14681
14682unsafe impl Send for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14683unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14684
14685#[repr(C)]
14687#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14688pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14689 pub s_type: StructureType,
14690 pub next: *mut c_void,
14691 pub tensor_capture_replay_descriptor_data_size: usize,
14692 pub tensor_view_capture_replay_descriptor_data_size: usize,
14693 pub tensor_descriptor_size: usize,
14694}
14695
14696impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14697 #[inline]
14698 fn default() -> Self {
14699 Self {
14700 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
14701 next: ptr::null_mut(),
14702 tensor_capture_replay_descriptor_data_size: usize::default(),
14703 tensor_view_capture_replay_descriptor_data_size: usize::default(),
14704 tensor_descriptor_size: usize::default(),
14705 }
14706 }
14707}
14708
14709unsafe impl Send for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14710unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14711
14712#[repr(C)]
14714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14715pub struct PhysicalDeviceDescriptorIndexingFeatures {
14716 pub s_type: StructureType,
14717 pub next: *mut c_void,
14718 pub shader_input_attachment_array_dynamic_indexing: Bool32,
14719 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
14720 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
14721 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
14722 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
14723 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
14724 pub shader_storage_image_array_non_uniform_indexing: Bool32,
14725 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
14726 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
14727 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
14728 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
14729 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
14730 pub descriptor_binding_storage_image_update_after_bind: Bool32,
14731 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
14732 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
14733 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
14734 pub descriptor_binding_update_unused_while_pending: Bool32,
14735 pub descriptor_binding_partially_bound: Bool32,
14736 pub descriptor_binding_variable_descriptor_count: Bool32,
14737 pub runtime_descriptor_array: Bool32,
14738}
14739
14740impl Default for PhysicalDeviceDescriptorIndexingFeatures {
14741 #[inline]
14742 fn default() -> Self {
14743 Self {
14744 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
14745 next: ptr::null_mut(),
14746 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
14747 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
14748 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
14749 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
14750 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
14751 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
14752 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
14753 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
14754 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14755 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14756 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
14757 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
14758 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
14759 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
14760 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
14761 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
14762 descriptor_binding_update_unused_while_pending: Bool32::default(),
14763 descriptor_binding_partially_bound: Bool32::default(),
14764 descriptor_binding_variable_descriptor_count: Bool32::default(),
14765 runtime_descriptor_array: Bool32::default(),
14766 }
14767 }
14768}
14769
14770unsafe impl Send for PhysicalDeviceDescriptorIndexingFeatures {}
14771unsafe impl Sync for PhysicalDeviceDescriptorIndexingFeatures {}
14772
14773#[repr(C)]
14775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14776pub struct PhysicalDeviceDescriptorIndexingProperties {
14777 pub s_type: StructureType,
14778 pub next: *mut c_void,
14779 pub max_update_after_bind_descriptors_in_all_pools: u32,
14780 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
14781 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
14782 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
14783 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
14784 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
14785 pub robust_buffer_access_update_after_bind: Bool32,
14786 pub quad_divergent_implicit_lod: Bool32,
14787 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
14788 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
14789 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
14790 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
14791 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
14792 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
14793 pub max_per_stage_update_after_bind_resources: u32,
14794 pub max_descriptor_set_update_after_bind_samplers: u32,
14795 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
14796 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
14797 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
14798 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
14799 pub max_descriptor_set_update_after_bind_sampled_images: u32,
14800 pub max_descriptor_set_update_after_bind_storage_images: u32,
14801 pub max_descriptor_set_update_after_bind_input_attachments: u32,
14802}
14803
14804impl Default for PhysicalDeviceDescriptorIndexingProperties {
14805 #[inline]
14806 fn default() -> Self {
14807 Self {
14808 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
14809 next: ptr::null_mut(),
14810 max_update_after_bind_descriptors_in_all_pools: u32::default(),
14811 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
14812 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
14813 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
14814 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
14815 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
14816 robust_buffer_access_update_after_bind: Bool32::default(),
14817 quad_divergent_implicit_lod: Bool32::default(),
14818 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
14819 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
14820 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
14821 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
14822 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
14823 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
14824 max_per_stage_update_after_bind_resources: u32::default(),
14825 max_descriptor_set_update_after_bind_samplers: u32::default(),
14826 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
14827 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
14828 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
14829 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
14830 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
14831 max_descriptor_set_update_after_bind_storage_images: u32::default(),
14832 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
14833 }
14834 }
14835}
14836
14837unsafe impl Send for PhysicalDeviceDescriptorIndexingProperties {}
14838unsafe impl Sync for PhysicalDeviceDescriptorIndexingProperties {}
14839
14840#[repr(C)]
14842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14843pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
14844 pub s_type: StructureType,
14845 pub next: *mut c_void,
14846 pub descriptor_pool_overallocation: Bool32,
14847}
14848
14849impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
14850 #[inline]
14851 fn default() -> Self {
14852 Self {
14853 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
14854 next: ptr::null_mut(),
14855 descriptor_pool_overallocation: Bool32::default(),
14856 }
14857 }
14858}
14859
14860unsafe impl Send for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
14861unsafe impl Sync for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
14862
14863#[repr(C)]
14865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14866pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
14867 pub s_type: StructureType,
14868 pub next: *mut c_void,
14869 pub descriptor_set_host_mapping: Bool32,
14870}
14871
14872impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
14873 #[inline]
14874 fn default() -> Self {
14875 Self {
14876 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
14877 next: ptr::null_mut(),
14878 descriptor_set_host_mapping: Bool32::default(),
14879 }
14880 }
14881}
14882
14883unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
14884unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
14885
14886#[repr(C)]
14888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14889pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
14890 pub s_type: StructureType,
14891 pub next: *mut c_void,
14892 pub device_generated_compute: Bool32,
14893 pub device_generated_compute_pipelines: Bool32,
14894 pub device_generated_compute_capture_replay: Bool32,
14895}
14896
14897impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
14898 #[inline]
14899 fn default() -> Self {
14900 Self {
14901 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
14902 next: ptr::null_mut(),
14903 device_generated_compute: Bool32::default(),
14904 device_generated_compute_pipelines: Bool32::default(),
14905 device_generated_compute_capture_replay: Bool32::default(),
14906 }
14907 }
14908}
14909
14910unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
14911unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
14912
14913#[repr(C)]
14915#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14916pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
14917 pub s_type: StructureType,
14918 pub next: *mut c_void,
14919 pub device_generated_commands: Bool32,
14920 pub dynamic_generated_pipeline_layout: Bool32,
14921}
14922
14923impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
14924 #[inline]
14925 fn default() -> Self {
14926 Self {
14927 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
14928 next: ptr::null_mut(),
14929 device_generated_commands: Bool32::default(),
14930 dynamic_generated_pipeline_layout: Bool32::default(),
14931 }
14932 }
14933}
14934
14935unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
14936unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
14937
14938#[repr(C)]
14940#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14941pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14942 pub s_type: StructureType,
14943 pub next: *mut c_void,
14944 pub device_generated_commands: Bool32,
14945}
14946
14947impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14948 #[inline]
14949 fn default() -> Self {
14950 Self {
14951 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
14952 next: ptr::null_mut(),
14953 device_generated_commands: Bool32::default(),
14954 }
14955 }
14956}
14957
14958unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
14959unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
14960
14961#[repr(C)]
14963#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14964pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
14965 pub s_type: StructureType,
14966 pub next: *mut c_void,
14967 pub max_indirect_pipeline_count: u32,
14968 pub max_indirect_shader_object_count: u32,
14969 pub max_indirect_sequence_count: u32,
14970 pub max_indirect_commands_token_count: u32,
14971 pub max_indirect_commands_token_offset: u32,
14972 pub max_indirect_commands_indirect_stride: u32,
14973 pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
14974 pub supported_indirect_commands_shader_stages: ShaderStageFlags,
14975 pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
14976 pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
14977 pub device_generated_commands_transform_feedback: Bool32,
14978 pub device_generated_commands_multi_draw_indirect_count: Bool32,
14979}
14980
14981impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
14982 #[inline]
14983 fn default() -> Self {
14984 Self {
14985 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
14986 next: ptr::null_mut(),
14987 max_indirect_pipeline_count: u32::default(),
14988 max_indirect_shader_object_count: u32::default(),
14989 max_indirect_sequence_count: u32::default(),
14990 max_indirect_commands_token_count: u32::default(),
14991 max_indirect_commands_token_offset: u32::default(),
14992 max_indirect_commands_indirect_stride: u32::default(),
14993 supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
14994 supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
14995 supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
14996 supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
14997 device_generated_commands_transform_feedback: Bool32::default(),
14998 device_generated_commands_multi_draw_indirect_count: Bool32::default(),
14999 }
15000 }
15001}
15002
15003unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
15004unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
15005
15006#[repr(C)]
15008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15009pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15010 pub s_type: StructureType,
15011 pub next: *mut c_void,
15012 pub max_graphics_shader_group_count: u32,
15013 pub max_indirect_sequence_count: u32,
15014 pub max_indirect_commands_token_count: u32,
15015 pub max_indirect_commands_stream_count: u32,
15016 pub max_indirect_commands_token_offset: u32,
15017 pub max_indirect_commands_stream_stride: u32,
15018 pub min_sequences_count_buffer_offset_alignment: u32,
15019 pub min_sequences_index_buffer_offset_alignment: u32,
15020 pub min_indirect_commands_buffer_offset_alignment: u32,
15021}
15022
15023impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15024 #[inline]
15025 fn default() -> Self {
15026 Self {
15027 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
15028 next: ptr::null_mut(),
15029 max_graphics_shader_group_count: u32::default(),
15030 max_indirect_sequence_count: u32::default(),
15031 max_indirect_commands_token_count: u32::default(),
15032 max_indirect_commands_stream_count: u32::default(),
15033 max_indirect_commands_token_offset: u32::default(),
15034 max_indirect_commands_stream_stride: u32::default(),
15035 min_sequences_count_buffer_offset_alignment: u32::default(),
15036 min_sequences_index_buffer_offset_alignment: u32::default(),
15037 min_indirect_commands_buffer_offset_alignment: u32::default(),
15038 }
15039 }
15040}
15041
15042unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
15043unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
15044
15045#[repr(C)]
15047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15048pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15049 pub s_type: StructureType,
15050 pub next: *mut c_void,
15051 pub device_memory_report: Bool32,
15052}
15053
15054impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15055 #[inline]
15056 fn default() -> Self {
15057 Self {
15058 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
15059 next: ptr::null_mut(),
15060 device_memory_report: Bool32::default(),
15061 }
15062 }
15063}
15064
15065unsafe impl Send for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15066unsafe impl Sync for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15067
15068#[repr(C)]
15070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15071pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
15072 pub s_type: StructureType,
15073 pub next: *mut c_void,
15074 pub diagnostics_config: Bool32,
15075}
15076
15077impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
15078 #[inline]
15079 fn default() -> Self {
15080 Self {
15081 s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
15082 next: ptr::null_mut(),
15083 diagnostics_config: Bool32::default(),
15084 }
15085 }
15086}
15087
15088unsafe impl Send for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15089unsafe impl Sync for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15090
15091#[repr(C)]
15093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15094pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
15095 pub s_type: StructureType,
15096 pub next: *mut c_void,
15097 pub max_discard_rectangles: u32,
15098}
15099
15100impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
15101 #[inline]
15102 fn default() -> Self {
15103 Self {
15104 s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
15105 next: ptr::null_mut(),
15106 max_discard_rectangles: u32::default(),
15107 }
15108 }
15109}
15110
15111unsafe impl Send for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15112unsafe impl Sync for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15113
15114#[repr(C)]
15116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15117pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
15118 pub s_type: StructureType,
15119 pub next: *mut c_void,
15120 pub displacement_micromap: Bool32,
15121}
15122
15123impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
15124 #[inline]
15125 fn default() -> Self {
15126 Self {
15127 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
15128 next: ptr::null_mut(),
15129 displacement_micromap: Bool32::default(),
15130 }
15131 }
15132}
15133
15134unsafe impl Send for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15135unsafe impl Sync for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15136
15137#[repr(C)]
15139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15140pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
15141 pub s_type: StructureType,
15142 pub next: *mut c_void,
15143 pub max_displacement_micromap_subdivision_level: u32,
15144}
15145
15146impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
15147 #[inline]
15148 fn default() -> Self {
15149 Self {
15150 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
15151 next: ptr::null_mut(),
15152 max_displacement_micromap_subdivision_level: u32::default(),
15153 }
15154 }
15155}
15156
15157unsafe impl Send for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15158unsafe impl Sync for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15159
15160#[repr(C)]
15162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15163pub struct PhysicalDeviceDriverProperties {
15164 pub s_type: StructureType,
15165 pub next: *mut c_void,
15166 pub driver_id: DriverId,
15167 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
15168 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
15169 pub conformance_version: ConformanceVersion,
15170}
15171
15172impl Default for PhysicalDeviceDriverProperties {
15173 #[inline]
15174 fn default() -> Self {
15175 Self {
15176 s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
15177 next: ptr::null_mut(),
15178 driver_id: DriverId::default(),
15179 driver_name: StringArray::default(),
15180 driver_info: StringArray::default(),
15181 conformance_version: ConformanceVersion::default(),
15182 }
15183 }
15184}
15185
15186unsafe impl Send for PhysicalDeviceDriverProperties {}
15187unsafe impl Sync for PhysicalDeviceDriverProperties {}
15188
15189#[repr(C)]
15191#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15192pub struct PhysicalDeviceDrmPropertiesEXT {
15193 pub s_type: StructureType,
15194 pub next: *mut c_void,
15195 pub has_primary: Bool32,
15196 pub has_render: Bool32,
15197 pub primary_major: i64,
15198 pub primary_minor: i64,
15199 pub render_major: i64,
15200 pub render_minor: i64,
15201}
15202
15203impl Default for PhysicalDeviceDrmPropertiesEXT {
15204 #[inline]
15205 fn default() -> Self {
15206 Self {
15207 s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
15208 next: ptr::null_mut(),
15209 has_primary: Bool32::default(),
15210 has_render: Bool32::default(),
15211 primary_major: i64::default(),
15212 primary_minor: i64::default(),
15213 render_major: i64::default(),
15214 render_minor: i64::default(),
15215 }
15216 }
15217}
15218
15219unsafe impl Send for PhysicalDeviceDrmPropertiesEXT {}
15220unsafe impl Sync for PhysicalDeviceDrmPropertiesEXT {}
15221
15222#[repr(C)]
15224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15225pub struct PhysicalDeviceDynamicRenderingFeatures {
15226 pub s_type: StructureType,
15227 pub next: *mut c_void,
15228 pub dynamic_rendering: Bool32,
15229}
15230
15231impl Default for PhysicalDeviceDynamicRenderingFeatures {
15232 #[inline]
15233 fn default() -> Self {
15234 Self {
15235 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
15236 next: ptr::null_mut(),
15237 dynamic_rendering: Bool32::default(),
15238 }
15239 }
15240}
15241
15242unsafe impl Send for PhysicalDeviceDynamicRenderingFeatures {}
15243unsafe impl Sync for PhysicalDeviceDynamicRenderingFeatures {}
15244
15245#[repr(C)]
15247#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15248pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
15249 pub s_type: StructureType,
15250 pub next: *mut c_void,
15251 pub dynamic_rendering_local_read: Bool32,
15252}
15253
15254impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
15255 #[inline]
15256 fn default() -> Self {
15257 Self {
15258 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
15259 next: ptr::null_mut(),
15260 dynamic_rendering_local_read: Bool32::default(),
15261 }
15262 }
15263}
15264
15265unsafe impl Send for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15266unsafe impl Sync for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15267
15268#[repr(C)]
15270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15271pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15272 pub s_type: StructureType,
15273 pub next: *mut c_void,
15274 pub dynamic_rendering_unused_attachments: Bool32,
15275}
15276
15277impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15278 #[inline]
15279 fn default() -> Self {
15280 Self {
15281 s_type:
15282 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
15283 next: ptr::null_mut(),
15284 dynamic_rendering_unused_attachments: Bool32::default(),
15285 }
15286 }
15287}
15288
15289unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
15290unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
15291
15292#[repr(C)]
15294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15295pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
15296 pub s_type: StructureType,
15297 pub next: *mut c_void,
15298 pub exclusive_scissor: Bool32,
15299}
15300
15301impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
15302 #[inline]
15303 fn default() -> Self {
15304 Self {
15305 s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
15306 next: ptr::null_mut(),
15307 exclusive_scissor: Bool32::default(),
15308 }
15309 }
15310}
15311
15312unsafe impl Send for PhysicalDeviceExclusiveScissorFeaturesNV {}
15313unsafe impl Sync for PhysicalDeviceExclusiveScissorFeaturesNV {}
15314
15315#[repr(C)]
15317#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15318pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15319 pub s_type: StructureType,
15320 pub next: *mut c_void,
15321 pub extended_dynamic_state2: Bool32,
15322 pub extended_dynamic_state2_logic_op: Bool32,
15323 pub extended_dynamic_state2_patch_control_points: Bool32,
15324}
15325
15326impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15327 #[inline]
15328 fn default() -> Self {
15329 Self {
15330 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
15331 next: ptr::null_mut(),
15332 extended_dynamic_state2: Bool32::default(),
15333 extended_dynamic_state2_logic_op: Bool32::default(),
15334 extended_dynamic_state2_patch_control_points: Bool32::default(),
15335 }
15336 }
15337}
15338
15339unsafe impl Send for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15340unsafe impl Sync for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15341
15342#[repr(C)]
15344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15345pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15346 pub s_type: StructureType,
15347 pub next: *mut c_void,
15348 pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
15349 pub extended_dynamic_state_3depth_clamp_enable: Bool32,
15350 pub extended_dynamic_state3_polygon_mode: Bool32,
15351 pub extended_dynamic_state3_rasterization_samples: Bool32,
15352 pub extended_dynamic_state3_sample_mask: Bool32,
15353 pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
15354 pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
15355 pub extended_dynamic_state3_logic_op_enable: Bool32,
15356 pub extended_dynamic_state3_color_blend_enable: Bool32,
15357 pub extended_dynamic_state3_color_blend_equation: Bool32,
15358 pub extended_dynamic_state3_color_write_mask: Bool32,
15359 pub extended_dynamic_state3_rasterization_stream: Bool32,
15360 pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
15361 pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
15362 pub extended_dynamic_state_3depth_clip_enable: Bool32,
15363 pub extended_dynamic_state3_sample_locations_enable: Bool32,
15364 pub extended_dynamic_state3_color_blend_advanced: Bool32,
15365 pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
15366 pub extended_dynamic_state3_line_rasterization_mode: Bool32,
15367 pub extended_dynamic_state3_line_stipple_enable: Bool32,
15368 pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
15369 pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
15370 pub extended_dynamic_state3_viewport_swizzle: Bool32,
15371 pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
15372 pub extended_dynamic_state3_coverage_to_color_location: Bool32,
15373 pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
15374 pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
15375 pub extended_dynamic_state3_coverage_modulation_table: Bool32,
15376 pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
15377 pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
15378 pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
15379}
15380
15381impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15382 #[inline]
15383 fn default() -> Self {
15384 Self {
15385 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
15386 next: ptr::null_mut(),
15387 extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
15388 extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
15389 extended_dynamic_state3_polygon_mode: Bool32::default(),
15390 extended_dynamic_state3_rasterization_samples: Bool32::default(),
15391 extended_dynamic_state3_sample_mask: Bool32::default(),
15392 extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
15393 extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
15394 extended_dynamic_state3_logic_op_enable: Bool32::default(),
15395 extended_dynamic_state3_color_blend_enable: Bool32::default(),
15396 extended_dynamic_state3_color_blend_equation: Bool32::default(),
15397 extended_dynamic_state3_color_write_mask: Bool32::default(),
15398 extended_dynamic_state3_rasterization_stream: Bool32::default(),
15399 extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
15400 extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
15401 extended_dynamic_state_3depth_clip_enable: Bool32::default(),
15402 extended_dynamic_state3_sample_locations_enable: Bool32::default(),
15403 extended_dynamic_state3_color_blend_advanced: Bool32::default(),
15404 extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
15405 extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
15406 extended_dynamic_state3_line_stipple_enable: Bool32::default(),
15407 extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
15408 extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
15409 extended_dynamic_state3_viewport_swizzle: Bool32::default(),
15410 extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
15411 extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
15412 extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
15413 extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
15414 extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
15415 extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
15416 extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
15417 extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
15418 }
15419 }
15420}
15421
15422unsafe impl Send for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15423unsafe impl Sync for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15424
15425#[repr(C)]
15427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15428pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15429 pub s_type: StructureType,
15430 pub next: *mut c_void,
15431 pub dynamic_primitive_topology_unrestricted: Bool32,
15432}
15433
15434impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15435 #[inline]
15436 fn default() -> Self {
15437 Self {
15438 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
15439 next: ptr::null_mut(),
15440 dynamic_primitive_topology_unrestricted: Bool32::default(),
15441 }
15442 }
15443}
15444
15445unsafe impl Send for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15446unsafe impl Sync for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15447
15448#[repr(C)]
15450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15451pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15452 pub s_type: StructureType,
15453 pub next: *mut c_void,
15454 pub extended_dynamic_state: Bool32,
15455}
15456
15457impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15458 #[inline]
15459 fn default() -> Self {
15460 Self {
15461 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
15462 next: ptr::null_mut(),
15463 extended_dynamic_state: Bool32::default(),
15464 }
15465 }
15466}
15467
15468unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15469unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15470
15471#[repr(C)]
15473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15474pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15475 pub s_type: StructureType,
15476 pub next: *mut c_void,
15477 pub extended_sparse_address_space: Bool32,
15478}
15479
15480impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15481 #[inline]
15482 fn default() -> Self {
15483 Self {
15484 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
15485 next: ptr::null_mut(),
15486 extended_sparse_address_space: Bool32::default(),
15487 }
15488 }
15489}
15490
15491unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15492unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15493
15494#[repr(C)]
15496#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15497pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15498 pub s_type: StructureType,
15499 pub next: *mut c_void,
15500 pub extended_sparse_address_space_size: DeviceSize,
15501 pub extended_sparse_image_usage_flags: ImageUsageFlags,
15502 pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
15503}
15504
15505impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15506 #[inline]
15507 fn default() -> Self {
15508 Self {
15509 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
15510 next: ptr::null_mut(),
15511 extended_sparse_address_space_size: DeviceSize::default(),
15512 extended_sparse_image_usage_flags: ImageUsageFlags::default(),
15513 extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
15514 }
15515 }
15516}
15517
15518unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15519unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15520
15521#[repr(C)]
15523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15524pub struct PhysicalDeviceExternalBufferInfo {
15525 pub s_type: StructureType,
15526 pub next: *const c_void,
15527 pub flags: BufferCreateFlags,
15528 pub usage: BufferUsageFlags,
15529 pub handle_type: ExternalMemoryHandleTypeFlags,
15530}
15531
15532impl Default for PhysicalDeviceExternalBufferInfo {
15533 #[inline]
15534 fn default() -> Self {
15535 Self {
15536 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
15537 next: ptr::null(),
15538 flags: BufferCreateFlags::default(),
15539 usage: BufferUsageFlags::default(),
15540 handle_type: ExternalMemoryHandleTypeFlags::default(),
15541 }
15542 }
15543}
15544
15545unsafe impl Send for PhysicalDeviceExternalBufferInfo {}
15546unsafe impl Sync for PhysicalDeviceExternalBufferInfo {}
15547
15548#[repr(C)]
15550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15551pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
15552 pub s_type: StructureType,
15553 pub next: *mut c_void,
15554 pub external_data_size: u32,
15555 pub max_external_queues: u32,
15556}
15557
15558impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
15559 #[inline]
15560 fn default() -> Self {
15561 Self {
15562 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
15563 next: ptr::null_mut(),
15564 external_data_size: u32::default(),
15565 max_external_queues: u32::default(),
15566 }
15567 }
15568}
15569
15570unsafe impl Send for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15571unsafe impl Sync for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15572
15573#[repr(C)]
15575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15576pub struct PhysicalDeviceExternalFenceInfo {
15577 pub s_type: StructureType,
15578 pub next: *const c_void,
15579 pub handle_type: ExternalFenceHandleTypeFlags,
15580}
15581
15582impl Default for PhysicalDeviceExternalFenceInfo {
15583 #[inline]
15584 fn default() -> Self {
15585 Self {
15586 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
15587 next: ptr::null(),
15588 handle_type: ExternalFenceHandleTypeFlags::default(),
15589 }
15590 }
15591}
15592
15593unsafe impl Send for PhysicalDeviceExternalFenceInfo {}
15594unsafe impl Sync for PhysicalDeviceExternalFenceInfo {}
15595
15596#[repr(C)]
15598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15599pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15600 pub s_type: StructureType,
15601 pub next: *mut c_void,
15602 pub external_format_resolve: Bool32,
15603}
15604
15605impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15606 #[inline]
15607 fn default() -> Self {
15608 Self {
15609 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
15610 next: ptr::null_mut(),
15611 external_format_resolve: Bool32::default(),
15612 }
15613 }
15614}
15615
15616unsafe impl Send for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15617unsafe impl Sync for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15618
15619#[repr(C)]
15621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15622pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15623 pub s_type: StructureType,
15624 pub next: *mut c_void,
15625 pub null_color_attachment_with_external_format_resolve: Bool32,
15626 pub external_format_resolve_chroma_offset_x: ChromaLocation,
15627 pub external_format_resolve_chroma_offset_y: ChromaLocation,
15628}
15629
15630impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15631 #[inline]
15632 fn default() -> Self {
15633 Self {
15634 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
15635 next: ptr::null_mut(),
15636 null_color_attachment_with_external_format_resolve: Bool32::default(),
15637 external_format_resolve_chroma_offset_x: ChromaLocation::default(),
15638 external_format_resolve_chroma_offset_y: ChromaLocation::default(),
15639 }
15640 }
15641}
15642
15643unsafe impl Send for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15644unsafe impl Sync for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15645
15646#[repr(C)]
15648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15649pub struct PhysicalDeviceExternalImageFormatInfo {
15650 pub s_type: StructureType,
15651 pub next: *const c_void,
15652 pub handle_type: ExternalMemoryHandleTypeFlags,
15653}
15654
15655impl Default for PhysicalDeviceExternalImageFormatInfo {
15656 #[inline]
15657 fn default() -> Self {
15658 Self {
15659 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
15660 next: ptr::null(),
15661 handle_type: ExternalMemoryHandleTypeFlags::default(),
15662 }
15663 }
15664}
15665
15666unsafe impl Send for PhysicalDeviceExternalImageFormatInfo {}
15667unsafe impl Sync for PhysicalDeviceExternalImageFormatInfo {}
15668
15669#[repr(C)]
15671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15672pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
15673 pub s_type: StructureType,
15674 pub next: *mut c_void,
15675 pub min_imported_host_pointer_alignment: DeviceSize,
15676}
15677
15678impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
15679 #[inline]
15680 fn default() -> Self {
15681 Self {
15682 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
15683 next: ptr::null_mut(),
15684 min_imported_host_pointer_alignment: DeviceSize::default(),
15685 }
15686 }
15687}
15688
15689unsafe impl Send for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15690unsafe impl Sync for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15691
15692#[repr(C)]
15694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15695pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15696 pub s_type: StructureType,
15697 pub next: *mut c_void,
15698 pub external_memory_rdma: Bool32,
15699}
15700
15701impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15702 #[inline]
15703 fn default() -> Self {
15704 Self {
15705 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
15706 next: ptr::null_mut(),
15707 external_memory_rdma: Bool32::default(),
15708 }
15709 }
15710}
15711
15712unsafe impl Send for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15713unsafe impl Sync for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15714
15715#[repr(C)]
15717#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15718pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
15719 pub s_type: StructureType,
15720 pub next: *mut c_void,
15721 pub sci_buf_import: Bool32,
15722 pub sci_buf_export: Bool32,
15723}
15724
15725impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
15726 #[inline]
15727 fn default() -> Self {
15728 Self {
15729 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
15730 next: ptr::null_mut(),
15731 sci_buf_import: Bool32::default(),
15732 sci_buf_export: Bool32::default(),
15733 }
15734 }
15735}
15736
15737unsafe impl Send for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15738unsafe impl Sync for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15739
15740#[repr(C)]
15742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15743pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15744 pub s_type: StructureType,
15745 pub next: *mut c_void,
15746 pub screen_buffer_import: Bool32,
15747}
15748
15749impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15750 #[inline]
15751 fn default() -> Self {
15752 Self {
15753 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
15754 next: ptr::null_mut(),
15755 screen_buffer_import: Bool32::default(),
15756 }
15757 }
15758}
15759
15760unsafe impl Send for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15761unsafe impl Sync for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15762
15763#[repr(C)]
15765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15766pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
15767 pub s_type: StructureType,
15768 pub next: *mut c_void,
15769 pub sci_sync_fence: Bool32,
15770 pub sci_sync_semaphore2: Bool32,
15771 pub sci_sync_import: Bool32,
15772 pub sci_sync_export: Bool32,
15773}
15774
15775impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
15776 #[inline]
15777 fn default() -> Self {
15778 Self {
15779 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
15780 next: ptr::null_mut(),
15781 sci_sync_fence: Bool32::default(),
15782 sci_sync_semaphore2: Bool32::default(),
15783 sci_sync_import: Bool32::default(),
15784 sci_sync_export: Bool32::default(),
15785 }
15786 }
15787}
15788
15789unsafe impl Send for PhysicalDeviceExternalSciSync2FeaturesNV {}
15790unsafe impl Sync for PhysicalDeviceExternalSciSync2FeaturesNV {}
15791
15792#[repr(C)]
15794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15795pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
15796 pub s_type: StructureType,
15797 pub next: *mut c_void,
15798 pub sci_sync_fence: Bool32,
15799 pub sci_sync_semaphore: Bool32,
15800 pub sci_sync_import: Bool32,
15801 pub sci_sync_export: Bool32,
15802}
15803
15804impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
15805 #[inline]
15806 fn default() -> Self {
15807 Self {
15808 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
15809 next: ptr::null_mut(),
15810 sci_sync_fence: Bool32::default(),
15811 sci_sync_semaphore: Bool32::default(),
15812 sci_sync_import: Bool32::default(),
15813 sci_sync_export: Bool32::default(),
15814 }
15815 }
15816}
15817
15818unsafe impl Send for PhysicalDeviceExternalSciSyncFeaturesNV {}
15819unsafe impl Sync for PhysicalDeviceExternalSciSyncFeaturesNV {}
15820
15821#[repr(C)]
15823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15824pub struct PhysicalDeviceExternalSemaphoreInfo {
15825 pub s_type: StructureType,
15826 pub next: *const c_void,
15827 pub handle_type: ExternalSemaphoreHandleTypeFlags,
15828}
15829
15830impl Default for PhysicalDeviceExternalSemaphoreInfo {
15831 #[inline]
15832 fn default() -> Self {
15833 Self {
15834 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
15835 next: ptr::null(),
15836 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
15837 }
15838 }
15839}
15840
15841unsafe impl Send for PhysicalDeviceExternalSemaphoreInfo {}
15842unsafe impl Sync for PhysicalDeviceExternalSemaphoreInfo {}
15843
15844#[repr(C)]
15846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15847pub struct PhysicalDeviceExternalTensorInfoARM {
15848 pub s_type: StructureType,
15849 pub next: *const c_void,
15850 pub flags: TensorCreateFlagsARM,
15851 pub description: *const TensorDescriptionARM,
15852 pub handle_type: ExternalMemoryHandleTypeFlags,
15853}
15854
15855impl Default for PhysicalDeviceExternalTensorInfoARM {
15856 #[inline]
15857 fn default() -> Self {
15858 Self {
15859 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
15860 next: ptr::null(),
15861 flags: TensorCreateFlagsARM::default(),
15862 description: ptr::null(),
15863 handle_type: ExternalMemoryHandleTypeFlags::default(),
15864 }
15865 }
15866}
15867
15868unsafe impl Send for PhysicalDeviceExternalTensorInfoARM {}
15869unsafe impl Sync for PhysicalDeviceExternalTensorInfoARM {}
15870
15871#[repr(C)]
15873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15874pub struct PhysicalDeviceFaultFeaturesEXT {
15875 pub s_type: StructureType,
15876 pub next: *mut c_void,
15877 pub device_fault: Bool32,
15878 pub device_fault_vendor_binary: Bool32,
15879}
15880
15881impl Default for PhysicalDeviceFaultFeaturesEXT {
15882 #[inline]
15883 fn default() -> Self {
15884 Self {
15885 s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
15886 next: ptr::null_mut(),
15887 device_fault: Bool32::default(),
15888 device_fault_vendor_binary: Bool32::default(),
15889 }
15890 }
15891}
15892
15893unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {}
15894unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {}
15895
15896#[repr(C)]
15898#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
15899pub struct PhysicalDeviceFeatures {
15900 pub robust_buffer_access: Bool32,
15901 pub full_draw_index_uint32: Bool32,
15902 pub image_cube_array: Bool32,
15903 pub independent_blend: Bool32,
15904 pub geometry_shader: Bool32,
15905 pub tessellation_shader: Bool32,
15906 pub sample_rate_shading: Bool32,
15907 pub dual_src_blend: Bool32,
15908 pub logic_op: Bool32,
15909 pub multi_draw_indirect: Bool32,
15910 pub draw_indirect_first_instance: Bool32,
15911 pub depth_clamp: Bool32,
15912 pub depth_bias_clamp: Bool32,
15913 pub fill_mode_non_solid: Bool32,
15914 pub depth_bounds: Bool32,
15915 pub wide_lines: Bool32,
15916 pub large_points: Bool32,
15917 pub alpha_to_one: Bool32,
15918 pub multi_viewport: Bool32,
15919 pub sampler_anisotropy: Bool32,
15920 pub texture_compression_etc2: Bool32,
15921 pub texture_compression_astc_ldr: Bool32,
15922 pub texture_compression_bc: Bool32,
15923 pub occlusion_query_precise: Bool32,
15924 pub pipeline_statistics_query: Bool32,
15925 pub vertex_pipeline_stores_and_atomics: Bool32,
15926 pub fragment_stores_and_atomics: Bool32,
15927 pub shader_tessellation_and_geometry_point_size: Bool32,
15928 pub shader_image_gather_extended: Bool32,
15929 pub shader_storage_image_extended_formats: Bool32,
15930 pub shader_storage_image_multisample: Bool32,
15931 pub shader_storage_image_read_without_format: Bool32,
15932 pub shader_storage_image_write_without_format: Bool32,
15933 pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
15934 pub shader_sampled_image_array_dynamic_indexing: Bool32,
15935 pub shader_storage_buffer_array_dynamic_indexing: Bool32,
15936 pub shader_storage_image_array_dynamic_indexing: Bool32,
15937 pub shader_clip_distance: Bool32,
15938 pub shader_cull_distance: Bool32,
15939 pub shader_float64: Bool32,
15940 pub shader_int64: Bool32,
15941 pub shader_int16: Bool32,
15942 pub shader_resource_residency: Bool32,
15943 pub shader_resource_min_lod: Bool32,
15944 pub sparse_binding: Bool32,
15945 pub sparse_residency_buffer: Bool32,
15946 pub sparse_residency_image_2d: Bool32,
15947 pub sparse_residency_image_3d: Bool32,
15948 pub sparse_residency2_samples: Bool32,
15949 pub sparse_residency4_samples: Bool32,
15950 pub sparse_residency8_samples: Bool32,
15951 pub sparse_residency16_samples: Bool32,
15952 pub sparse_residency_aliased: Bool32,
15953 pub variable_multisample_rate: Bool32,
15954 pub inherited_queries: Bool32,
15955}
15956
15957#[repr(C)]
15959#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15960pub struct PhysicalDeviceFeatures2 {
15961 pub s_type: StructureType,
15962 pub next: *mut c_void,
15963 pub features: PhysicalDeviceFeatures,
15964}
15965
15966impl Default for PhysicalDeviceFeatures2 {
15967 #[inline]
15968 fn default() -> Self {
15969 Self {
15970 s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
15971 next: ptr::null_mut(),
15972 features: PhysicalDeviceFeatures::default(),
15973 }
15974 }
15975}
15976
15977unsafe impl Send for PhysicalDeviceFeatures2 {}
15978unsafe impl Sync for PhysicalDeviceFeatures2 {}
15979
15980#[repr(C)]
15982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15983pub struct PhysicalDeviceFloatControlsProperties {
15984 pub s_type: StructureType,
15985 pub next: *mut c_void,
15986 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
15987 pub rounding_mode_independence: ShaderFloatControlsIndependence,
15988 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
15989 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
15990 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
15991 pub shader_denorm_preserve_float16: Bool32,
15992 pub shader_denorm_preserve_float32: Bool32,
15993 pub shader_denorm_preserve_float64: Bool32,
15994 pub shader_denorm_flush_to_zero_float16: Bool32,
15995 pub shader_denorm_flush_to_zero_float32: Bool32,
15996 pub shader_denorm_flush_to_zero_float64: Bool32,
15997 pub shader_rounding_mode_rte_float16: Bool32,
15998 pub shader_rounding_mode_rte_float32: Bool32,
15999 pub shader_rounding_mode_rte_float64: Bool32,
16000 pub shader_rounding_mode_rtz_float16: Bool32,
16001 pub shader_rounding_mode_rtz_float32: Bool32,
16002 pub shader_rounding_mode_rtz_float64: Bool32,
16003}
16004
16005impl Default for PhysicalDeviceFloatControlsProperties {
16006 #[inline]
16007 fn default() -> Self {
16008 Self {
16009 s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
16010 next: ptr::null_mut(),
16011 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
16012 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
16013 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
16014 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
16015 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
16016 shader_denorm_preserve_float16: Bool32::default(),
16017 shader_denorm_preserve_float32: Bool32::default(),
16018 shader_denorm_preserve_float64: Bool32::default(),
16019 shader_denorm_flush_to_zero_float16: Bool32::default(),
16020 shader_denorm_flush_to_zero_float32: Bool32::default(),
16021 shader_denorm_flush_to_zero_float64: Bool32::default(),
16022 shader_rounding_mode_rte_float16: Bool32::default(),
16023 shader_rounding_mode_rte_float32: Bool32::default(),
16024 shader_rounding_mode_rte_float64: Bool32::default(),
16025 shader_rounding_mode_rtz_float16: Bool32::default(),
16026 shader_rounding_mode_rtz_float32: Bool32::default(),
16027 shader_rounding_mode_rtz_float64: Bool32::default(),
16028 }
16029 }
16030}
16031
16032unsafe impl Send for PhysicalDeviceFloatControlsProperties {}
16033unsafe impl Sync for PhysicalDeviceFloatControlsProperties {}
16034
16035#[repr(C)]
16037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16038pub struct PhysicalDeviceFormatPackFeaturesARM {
16039 pub s_type: StructureType,
16040 pub next: *mut c_void,
16041 pub format_pack: Bool32,
16042}
16043
16044impl Default for PhysicalDeviceFormatPackFeaturesARM {
16045 #[inline]
16046 fn default() -> Self {
16047 Self {
16048 s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
16049 next: ptr::null_mut(),
16050 format_pack: Bool32::default(),
16051 }
16052 }
16053}
16054
16055unsafe impl Send for PhysicalDeviceFormatPackFeaturesARM {}
16056unsafe impl Sync for PhysicalDeviceFormatPackFeaturesARM {}
16057
16058#[repr(C)]
16060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16061pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16062 pub s_type: StructureType,
16063 pub next: *mut c_void,
16064 pub fragment_density_map_deferred: Bool32,
16065}
16066
16067impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16068 #[inline]
16069 fn default() -> Self {
16070 Self {
16071 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
16072 next: ptr::null_mut(),
16073 fragment_density_map_deferred: Bool32::default(),
16074 }
16075 }
16076}
16077
16078unsafe impl Send for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16079unsafe impl Sync for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16080
16081#[repr(C)]
16083#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16084pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16085 pub s_type: StructureType,
16086 pub next: *mut c_void,
16087 pub subsampled_loads: Bool32,
16088 pub subsampled_coarse_reconstruction_early_access: Bool32,
16089 pub max_subsampled_array_layers: u32,
16090 pub max_descriptor_set_subsampled_samplers: u32,
16091}
16092
16093impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16094 #[inline]
16095 fn default() -> Self {
16096 Self {
16097 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
16098 next: ptr::null_mut(),
16099 subsampled_loads: Bool32::default(),
16100 subsampled_coarse_reconstruction_early_access: Bool32::default(),
16101 max_subsampled_array_layers: u32::default(),
16102 max_descriptor_set_subsampled_samplers: u32::default(),
16103 }
16104 }
16105}
16106
16107unsafe impl Send for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16108unsafe impl Sync for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16109
16110#[repr(C)]
16112#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16113pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
16114 pub s_type: StructureType,
16115 pub next: *mut c_void,
16116 pub fragment_density_map: Bool32,
16117 pub fragment_density_map_dynamic: Bool32,
16118 pub fragment_density_map_non_subsampled_images: Bool32,
16119}
16120
16121impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
16122 #[inline]
16123 fn default() -> Self {
16124 Self {
16125 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
16126 next: ptr::null_mut(),
16127 fragment_density_map: Bool32::default(),
16128 fragment_density_map_dynamic: Bool32::default(),
16129 fragment_density_map_non_subsampled_images: Bool32::default(),
16130 }
16131 }
16132}
16133
16134unsafe impl Send for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16135unsafe impl Sync for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16136
16137#[repr(C)]
16139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16140pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16141 pub s_type: StructureType,
16142 pub next: *mut c_void,
16143 pub fragment_density_map_layered: Bool32,
16144}
16145
16146impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16147 #[inline]
16148 fn default() -> Self {
16149 Self {
16150 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
16151 next: ptr::null_mut(),
16152 fragment_density_map_layered: Bool32::default(),
16153 }
16154 }
16155}
16156
16157unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16158unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16159
16160#[repr(C)]
16162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16163pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16164 pub s_type: StructureType,
16165 pub next: *mut c_void,
16166 pub max_fragment_density_map_layers: u32,
16167}
16168
16169impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16170 #[inline]
16171 fn default() -> Self {
16172 Self {
16173 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
16174 next: ptr::null_mut(),
16175 max_fragment_density_map_layers: u32::default(),
16176 }
16177 }
16178}
16179
16180unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16181unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16182
16183#[repr(C)]
16185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16186pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16187 pub s_type: StructureType,
16188 pub next: *mut c_void,
16189 pub fragment_density_map_offset: Bool32,
16190}
16191
16192impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16193 #[inline]
16194 fn default() -> Self {
16195 Self {
16196 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
16197 next: ptr::null_mut(),
16198 fragment_density_map_offset: Bool32::default(),
16199 }
16200 }
16201}
16202
16203unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16204unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16205
16206#[repr(C)]
16208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16209pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16210 pub s_type: StructureType,
16211 pub next: *mut c_void,
16212 pub fragment_density_offset_granularity: Extent2D,
16213}
16214
16215impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16216 #[inline]
16217 fn default() -> Self {
16218 Self {
16219 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
16220 next: ptr::null_mut(),
16221 fragment_density_offset_granularity: Extent2D::default(),
16222 }
16223 }
16224}
16225
16226unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16227unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16228
16229#[repr(C)]
16231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16232pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
16233 pub s_type: StructureType,
16234 pub next: *mut c_void,
16235 pub min_fragment_density_texel_size: Extent2D,
16236 pub max_fragment_density_texel_size: Extent2D,
16237 pub fragment_density_invocations: Bool32,
16238}
16239
16240impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
16241 #[inline]
16242 fn default() -> Self {
16243 Self {
16244 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
16245 next: ptr::null_mut(),
16246 min_fragment_density_texel_size: Extent2D::default(),
16247 max_fragment_density_texel_size: Extent2D::default(),
16248 fragment_density_invocations: Bool32::default(),
16249 }
16250 }
16251}
16252
16253unsafe impl Send for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16254unsafe impl Sync for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16255
16256#[repr(C)]
16258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16259pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16260 pub s_type: StructureType,
16261 pub next: *mut c_void,
16262 pub fragment_shader_barycentric: Bool32,
16263}
16264
16265impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16266 #[inline]
16267 fn default() -> Self {
16268 Self {
16269 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
16270 next: ptr::null_mut(),
16271 fragment_shader_barycentric: Bool32::default(),
16272 }
16273 }
16274}
16275
16276unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
16277unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
16278
16279#[repr(C)]
16281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16282pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
16283 pub s_type: StructureType,
16284 pub next: *mut c_void,
16285 pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
16286}
16287
16288impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
16289 #[inline]
16290 fn default() -> Self {
16291 Self {
16292 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
16293 next: ptr::null_mut(),
16294 tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
16295 }
16296 }
16297}
16298
16299unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
16300unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
16301
16302#[repr(C)]
16304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16305pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16306 pub s_type: StructureType,
16307 pub next: *mut c_void,
16308 pub fragment_shader_sample_interlock: Bool32,
16309 pub fragment_shader_pixel_interlock: Bool32,
16310 pub fragment_shader_shading_rate_interlock: Bool32,
16311}
16312
16313impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16314 #[inline]
16315 fn default() -> Self {
16316 Self {
16317 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
16318 next: ptr::null_mut(),
16319 fragment_shader_sample_interlock: Bool32::default(),
16320 fragment_shader_pixel_interlock: Bool32::default(),
16321 fragment_shader_shading_rate_interlock: Bool32::default(),
16322 }
16323 }
16324}
16325
16326unsafe impl Send for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16327unsafe impl Sync for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16328
16329#[repr(C)]
16331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16332pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16333 pub s_type: StructureType,
16334 pub next: *mut c_void,
16335 pub fragment_shading_rate_enums: Bool32,
16336 pub supersample_fragment_shading_rates: Bool32,
16337 pub no_invocation_fragment_shading_rates: Bool32,
16338}
16339
16340impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16341 #[inline]
16342 fn default() -> Self {
16343 Self {
16344 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
16345 next: ptr::null_mut(),
16346 fragment_shading_rate_enums: Bool32::default(),
16347 supersample_fragment_shading_rates: Bool32::default(),
16348 no_invocation_fragment_shading_rates: Bool32::default(),
16349 }
16350 }
16351}
16352
16353unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16354unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16355
16356#[repr(C)]
16358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16359pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16360 pub s_type: StructureType,
16361 pub next: *mut c_void,
16362 pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
16363}
16364
16365impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16366 #[inline]
16367 fn default() -> Self {
16368 Self {
16369 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
16370 next: ptr::null_mut(),
16371 max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
16372 }
16373 }
16374}
16375
16376unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16377unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16378
16379#[repr(C)]
16381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16382pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
16383 pub s_type: StructureType,
16384 pub next: *mut c_void,
16385 pub pipeline_fragment_shading_rate: Bool32,
16386 pub primitive_fragment_shading_rate: Bool32,
16387 pub attachment_fragment_shading_rate: Bool32,
16388}
16389
16390impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
16391 #[inline]
16392 fn default() -> Self {
16393 Self {
16394 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
16395 next: ptr::null_mut(),
16396 pipeline_fragment_shading_rate: Bool32::default(),
16397 primitive_fragment_shading_rate: Bool32::default(),
16398 attachment_fragment_shading_rate: Bool32::default(),
16399 }
16400 }
16401}
16402
16403unsafe impl Send for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16404unsafe impl Sync for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16405
16406#[repr(C)]
16408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16409pub struct PhysicalDeviceFragmentShadingRateKHR {
16410 pub s_type: StructureType,
16411 pub next: *mut c_void,
16412 pub sample_counts: SampleCountFlags,
16413 pub fragment_size: Extent2D,
16414}
16415
16416impl Default for PhysicalDeviceFragmentShadingRateKHR {
16417 #[inline]
16418 fn default() -> Self {
16419 Self {
16420 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
16421 next: ptr::null_mut(),
16422 sample_counts: SampleCountFlags::default(),
16423 fragment_size: Extent2D::default(),
16424 }
16425 }
16426}
16427
16428unsafe impl Send for PhysicalDeviceFragmentShadingRateKHR {}
16429unsafe impl Sync for PhysicalDeviceFragmentShadingRateKHR {}
16430
16431#[repr(C)]
16433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16434pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
16435 pub s_type: StructureType,
16436 pub next: *mut c_void,
16437 pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
16438 pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
16439 pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
16440 pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
16441 pub layered_shading_rate_attachments: Bool32,
16442 pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
16443 pub max_fragment_size: Extent2D,
16444 pub max_fragment_size_aspect_ratio: u32,
16445 pub max_fragment_shading_rate_coverage_samples: u32,
16446 pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
16447 pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
16448 pub fragment_shading_rate_with_sample_mask: Bool32,
16449 pub fragment_shading_rate_with_shader_sample_mask: Bool32,
16450 pub fragment_shading_rate_with_conservative_rasterization: Bool32,
16451 pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
16452 pub fragment_shading_rate_with_custom_sample_locations: Bool32,
16453 pub fragment_shading_rate_strict_multiply_combiner: Bool32,
16454}
16455
16456impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
16457 #[inline]
16458 fn default() -> Self {
16459 Self {
16460 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
16461 next: ptr::null_mut(),
16462 min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16463 max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16464 max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
16465 primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
16466 layered_shading_rate_attachments: Bool32::default(),
16467 fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
16468 max_fragment_size: Extent2D::default(),
16469 max_fragment_size_aspect_ratio: u32::default(),
16470 max_fragment_shading_rate_coverage_samples: u32::default(),
16471 max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
16472 fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
16473 fragment_shading_rate_with_sample_mask: Bool32::default(),
16474 fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
16475 fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
16476 fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
16477 fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
16478 fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
16479 }
16480 }
16481}
16482
16483unsafe impl Send for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16484unsafe impl Sync for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16485
16486#[repr(C)]
16488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16489pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
16490 pub s_type: StructureType,
16491 pub next: *mut c_void,
16492 pub frame_boundary: Bool32,
16493}
16494
16495impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
16496 #[inline]
16497 fn default() -> Self {
16498 Self {
16499 s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
16500 next: ptr::null_mut(),
16501 frame_boundary: Bool32::default(),
16502 }
16503 }
16504}
16505
16506unsafe impl Send for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16507unsafe impl Sync for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16508
16509#[repr(C)]
16511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16512pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
16513 pub s_type: StructureType,
16514 pub next: *mut c_void,
16515 pub global_priority_query: Bool32,
16516}
16517
16518impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
16519 #[inline]
16520 fn default() -> Self {
16521 Self {
16522 s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
16523 next: ptr::null_mut(),
16524 global_priority_query: Bool32::default(),
16525 }
16526 }
16527}
16528
16529unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {}
16530unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {}
16531
16532#[repr(C)]
16534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16535pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16536 pub s_type: StructureType,
16537 pub next: *mut c_void,
16538 pub graphics_pipeline_library: Bool32,
16539}
16540
16541impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16542 #[inline]
16543 fn default() -> Self {
16544 Self {
16545 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
16546 next: ptr::null_mut(),
16547 graphics_pipeline_library: Bool32::default(),
16548 }
16549 }
16550}
16551
16552unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16553unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16554
16555#[repr(C)]
16557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16558pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16559 pub s_type: StructureType,
16560 pub next: *mut c_void,
16561 pub graphics_pipeline_library_fast_linking: Bool32,
16562 pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
16563}
16564
16565impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16566 #[inline]
16567 fn default() -> Self {
16568 Self {
16569 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
16570 next: ptr::null_mut(),
16571 graphics_pipeline_library_fast_linking: Bool32::default(),
16572 graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
16573 }
16574 }
16575}
16576
16577unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16578unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16579
16580#[repr(C)]
16582#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16583pub struct PhysicalDeviceGroupProperties {
16584 pub s_type: StructureType,
16585 pub next: *mut c_void,
16586 pub physical_device_count: u32,
16587 pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE as usize],
16588 pub subset_allocation: Bool32,
16589}
16590
16591impl Default for PhysicalDeviceGroupProperties {
16592 #[inline]
16593 fn default() -> Self {
16594 Self {
16595 s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
16596 next: ptr::null_mut(),
16597 physical_device_count: u32::default(),
16598 physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
16599 subset_allocation: Bool32::default(),
16600 }
16601 }
16602}
16603
16604unsafe impl Send for PhysicalDeviceGroupProperties {}
16605unsafe impl Sync for PhysicalDeviceGroupProperties {}
16606
16607#[repr(C)]
16609#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16610pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
16611 pub s_type: StructureType,
16612 pub next: *mut c_void,
16613 pub hdr_vivid: Bool32,
16614}
16615
16616impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
16617 #[inline]
16618 fn default() -> Self {
16619 Self {
16620 s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
16621 next: ptr::null_mut(),
16622 hdr_vivid: Bool32::default(),
16623 }
16624 }
16625}
16626
16627unsafe impl Send for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16628unsafe impl Sync for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16629
16630#[repr(C)]
16632#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16633pub struct PhysicalDeviceHostImageCopyFeatures {
16634 pub s_type: StructureType,
16635 pub next: *mut c_void,
16636 pub host_image_copy: Bool32,
16637}
16638
16639impl Default for PhysicalDeviceHostImageCopyFeatures {
16640 #[inline]
16641 fn default() -> Self {
16642 Self {
16643 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
16644 next: ptr::null_mut(),
16645 host_image_copy: Bool32::default(),
16646 }
16647 }
16648}
16649
16650unsafe impl Send for PhysicalDeviceHostImageCopyFeatures {}
16651unsafe impl Sync for PhysicalDeviceHostImageCopyFeatures {}
16652
16653#[repr(C)]
16655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16656pub struct PhysicalDeviceHostImageCopyProperties {
16657 pub s_type: StructureType,
16658 pub next: *mut c_void,
16659 pub copy_src_layout_count: u32,
16660 pub copy_src_layouts: *mut ImageLayout,
16661 pub copy_dst_layout_count: u32,
16662 pub copy_dst_layouts: *mut ImageLayout,
16663 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
16664 pub identical_memory_type_requirements: Bool32,
16665}
16666
16667impl Default for PhysicalDeviceHostImageCopyProperties {
16668 #[inline]
16669 fn default() -> Self {
16670 Self {
16671 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
16672 next: ptr::null_mut(),
16673 copy_src_layout_count: u32::default(),
16674 copy_src_layouts: ptr::null_mut(),
16675 copy_dst_layout_count: u32::default(),
16676 copy_dst_layouts: ptr::null_mut(),
16677 optimal_tiling_layout_uuid: ByteArray::default(),
16678 identical_memory_type_requirements: Bool32::default(),
16679 }
16680 }
16681}
16682
16683unsafe impl Send for PhysicalDeviceHostImageCopyProperties {}
16684unsafe impl Sync for PhysicalDeviceHostImageCopyProperties {}
16685
16686#[repr(C)]
16688#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16689pub struct PhysicalDeviceHostQueryResetFeatures {
16690 pub s_type: StructureType,
16691 pub next: *mut c_void,
16692 pub host_query_reset: Bool32,
16693}
16694
16695impl Default for PhysicalDeviceHostQueryResetFeatures {
16696 #[inline]
16697 fn default() -> Self {
16698 Self {
16699 s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
16700 next: ptr::null_mut(),
16701 host_query_reset: Bool32::default(),
16702 }
16703 }
16704}
16705
16706unsafe impl Send for PhysicalDeviceHostQueryResetFeatures {}
16707unsafe impl Sync for PhysicalDeviceHostQueryResetFeatures {}
16708
16709#[repr(C)]
16711#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16712pub struct PhysicalDeviceIDProperties {
16713 pub s_type: StructureType,
16714 pub next: *mut c_void,
16715 pub device_uuid: ByteArray<UUID_SIZE>,
16716 pub driver_uuid: ByteArray<UUID_SIZE>,
16717 pub device_luid: ByteArray<LUID_SIZE>,
16718 pub device_node_mask: u32,
16719 pub device_luid_valid: Bool32,
16720}
16721
16722impl Default for PhysicalDeviceIDProperties {
16723 #[inline]
16724 fn default() -> Self {
16725 Self {
16726 s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
16727 next: ptr::null_mut(),
16728 device_uuid: ByteArray::default(),
16729 driver_uuid: ByteArray::default(),
16730 device_luid: ByteArray::default(),
16731 device_node_mask: u32::default(),
16732 device_luid_valid: Bool32::default(),
16733 }
16734 }
16735}
16736
16737unsafe impl Send for PhysicalDeviceIDProperties {}
16738unsafe impl Sync for PhysicalDeviceIDProperties {}
16739
16740#[repr(C)]
16742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16743pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16744 pub s_type: StructureType,
16745 pub next: *mut c_void,
16746 pub image_2d_view_of_3d: Bool32,
16747 pub sampler_2d_view_of_3d: Bool32,
16748}
16749
16750impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16751 #[inline]
16752 fn default() -> Self {
16753 Self {
16754 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
16755 next: ptr::null_mut(),
16756 image_2d_view_of_3d: Bool32::default(),
16757 sampler_2d_view_of_3d: Bool32::default(),
16758 }
16759 }
16760}
16761
16762unsafe impl Send for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16763unsafe impl Sync for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16764
16765#[repr(C)]
16767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16768pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
16769 pub s_type: StructureType,
16770 pub next: *mut c_void,
16771 pub image_alignment_control: Bool32,
16772}
16773
16774impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
16775 #[inline]
16776 fn default() -> Self {
16777 Self {
16778 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
16779 next: ptr::null_mut(),
16780 image_alignment_control: Bool32::default(),
16781 }
16782 }
16783}
16784
16785unsafe impl Send for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16786unsafe impl Sync for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16787
16788#[repr(C)]
16790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16791pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
16792 pub s_type: StructureType,
16793 pub next: *mut c_void,
16794 pub supported_image_alignment_mask: u32,
16795}
16796
16797impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
16798 #[inline]
16799 fn default() -> Self {
16800 Self {
16801 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
16802 next: ptr::null_mut(),
16803 supported_image_alignment_mask: u32::default(),
16804 }
16805 }
16806}
16807
16808unsafe impl Send for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16809unsafe impl Sync for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16810
16811#[repr(C)]
16813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16814pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
16815 pub s_type: StructureType,
16816 pub next: *mut c_void,
16817 pub image_compression_control: Bool32,
16818}
16819
16820impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
16821 #[inline]
16822 fn default() -> Self {
16823 Self {
16824 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
16825 next: ptr::null_mut(),
16826 image_compression_control: Bool32::default(),
16827 }
16828 }
16829}
16830
16831unsafe impl Send for PhysicalDeviceImageCompressionControlFeaturesEXT {}
16832unsafe impl Sync for PhysicalDeviceImageCompressionControlFeaturesEXT {}
16833
16834#[repr(C)]
16836#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16837pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
16838 pub s_type: StructureType,
16839 pub next: *mut c_void,
16840 pub image_compression_control_swapchain: Bool32,
16841}
16842
16843impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
16844 #[inline]
16845 fn default() -> Self {
16846 Self {
16847 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
16848 next: ptr::null_mut(),
16849 image_compression_control_swapchain: Bool32::default(),
16850 }
16851 }
16852}
16853
16854unsafe impl Send for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
16855unsafe impl Sync for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
16856
16857#[repr(C)]
16859#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16860pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
16861 pub s_type: StructureType,
16862 pub next: *const c_void,
16863 pub drm_format_modifier: u64,
16864 pub sharing_mode: SharingMode,
16865 pub queue_family_index_count: u32,
16866 pub queue_family_indices: *const u32,
16867}
16868
16869impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
16870 #[inline]
16871 fn default() -> Self {
16872 Self {
16873 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
16874 next: ptr::null(),
16875 drm_format_modifier: u64::default(),
16876 sharing_mode: SharingMode::default(),
16877 queue_family_index_count: u32::default(),
16878 queue_family_indices: ptr::null(),
16879 }
16880 }
16881}
16882
16883unsafe impl Send for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
16884unsafe impl Sync for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
16885
16886#[repr(C)]
16888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16889pub struct PhysicalDeviceImageFormatInfo2 {
16890 pub s_type: StructureType,
16891 pub next: *const c_void,
16892 pub format: Format,
16893 pub type_: ImageType,
16894 pub tiling: ImageTiling,
16895 pub usage: ImageUsageFlags,
16896 pub flags: ImageCreateFlags,
16897}
16898
16899impl Default for PhysicalDeviceImageFormatInfo2 {
16900 #[inline]
16901 fn default() -> Self {
16902 Self {
16903 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
16904 next: ptr::null(),
16905 format: Format::default(),
16906 type_: ImageType::default(),
16907 tiling: ImageTiling::default(),
16908 usage: ImageUsageFlags::default(),
16909 flags: ImageCreateFlags::default(),
16910 }
16911 }
16912}
16913
16914unsafe impl Send for PhysicalDeviceImageFormatInfo2 {}
16915unsafe impl Sync for PhysicalDeviceImageFormatInfo2 {}
16916
16917#[repr(C)]
16919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16920pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
16921 pub s_type: StructureType,
16922 pub next: *mut c_void,
16923 pub texture_block_match2: Bool32,
16924}
16925
16926impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
16927 #[inline]
16928 fn default() -> Self {
16929 Self {
16930 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
16931 next: ptr::null_mut(),
16932 texture_block_match2: Bool32::default(),
16933 }
16934 }
16935}
16936
16937unsafe impl Send for PhysicalDeviceImageProcessing2FeaturesQCOM {}
16938unsafe impl Sync for PhysicalDeviceImageProcessing2FeaturesQCOM {}
16939
16940#[repr(C)]
16942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16943pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
16944 pub s_type: StructureType,
16945 pub next: *mut c_void,
16946 pub max_block_match_window: Extent2D,
16947}
16948
16949impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
16950 #[inline]
16951 fn default() -> Self {
16952 Self {
16953 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
16954 next: ptr::null_mut(),
16955 max_block_match_window: Extent2D::default(),
16956 }
16957 }
16958}
16959
16960unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {}
16961unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {}
16962
16963#[repr(C)]
16965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16966pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
16967 pub s_type: StructureType,
16968 pub next: *mut c_void,
16969 pub texture_sample_weighted: Bool32,
16970 pub texture_box_filter: Bool32,
16971 pub texture_block_match: Bool32,
16972}
16973
16974impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
16975 #[inline]
16976 fn default() -> Self {
16977 Self {
16978 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
16979 next: ptr::null_mut(),
16980 texture_sample_weighted: Bool32::default(),
16981 texture_box_filter: Bool32::default(),
16982 texture_block_match: Bool32::default(),
16983 }
16984 }
16985}
16986
16987unsafe impl Send for PhysicalDeviceImageProcessingFeaturesQCOM {}
16988unsafe impl Sync for PhysicalDeviceImageProcessingFeaturesQCOM {}
16989
16990#[repr(C)]
16992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16993pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
16994 pub s_type: StructureType,
16995 pub next: *mut c_void,
16996 pub max_weight_filter_phases: u32,
16997 pub max_weight_filter_dimension: Extent2D,
16998 pub max_block_match_region: Extent2D,
16999 pub max_box_filter_block_size: Extent2D,
17000}
17001
17002impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
17003 #[inline]
17004 fn default() -> Self {
17005 Self {
17006 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
17007 next: ptr::null_mut(),
17008 max_weight_filter_phases: u32::default(),
17009 max_weight_filter_dimension: Extent2D::default(),
17010 max_block_match_region: Extent2D::default(),
17011 max_box_filter_block_size: Extent2D::default(),
17012 }
17013 }
17014}
17015
17016unsafe impl Send for PhysicalDeviceImageProcessingPropertiesQCOM {}
17017unsafe impl Sync for PhysicalDeviceImageProcessingPropertiesQCOM {}
17018
17019#[repr(C)]
17021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17022pub struct PhysicalDeviceImageRobustnessFeatures {
17023 pub s_type: StructureType,
17024 pub next: *mut c_void,
17025 pub robust_image_access: Bool32,
17026}
17027
17028impl Default for PhysicalDeviceImageRobustnessFeatures {
17029 #[inline]
17030 fn default() -> Self {
17031 Self {
17032 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
17033 next: ptr::null_mut(),
17034 robust_image_access: Bool32::default(),
17035 }
17036 }
17037}
17038
17039unsafe impl Send for PhysicalDeviceImageRobustnessFeatures {}
17040unsafe impl Sync for PhysicalDeviceImageRobustnessFeatures {}
17041
17042#[repr(C)]
17044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17045pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17046 pub s_type: StructureType,
17047 pub next: *mut c_void,
17048 pub image_sliced_view_of_3d: Bool32,
17049}
17050
17051impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17052 #[inline]
17053 fn default() -> Self {
17054 Self {
17055 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
17056 next: ptr::null_mut(),
17057 image_sliced_view_of_3d: Bool32::default(),
17058 }
17059 }
17060}
17061
17062unsafe impl Send for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17063unsafe impl Sync for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17064
17065#[repr(C)]
17067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17068pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
17069 pub s_type: StructureType,
17070 pub next: *mut c_void,
17071 pub image_view_type: ImageViewType,
17072}
17073
17074impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
17075 #[inline]
17076 fn default() -> Self {
17077 Self {
17078 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
17079 next: ptr::null_mut(),
17080 image_view_type: ImageViewType::default(),
17081 }
17082 }
17083}
17084
17085unsafe impl Send for PhysicalDeviceImageViewImageFormatInfoEXT {}
17086unsafe impl Sync for PhysicalDeviceImageViewImageFormatInfoEXT {}
17087
17088#[repr(C)]
17090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17091pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
17092 pub s_type: StructureType,
17093 pub next: *mut c_void,
17094 pub min_lod: Bool32,
17095}
17096
17097impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
17098 #[inline]
17099 fn default() -> Self {
17100 Self {
17101 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
17102 next: ptr::null_mut(),
17103 min_lod: Bool32::default(),
17104 }
17105 }
17106}
17107
17108unsafe impl Send for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17109unsafe impl Sync for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17110
17111#[repr(C)]
17113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17114pub struct PhysicalDeviceImagelessFramebufferFeatures {
17115 pub s_type: StructureType,
17116 pub next: *mut c_void,
17117 pub imageless_framebuffer: Bool32,
17118}
17119
17120impl Default for PhysicalDeviceImagelessFramebufferFeatures {
17121 #[inline]
17122 fn default() -> Self {
17123 Self {
17124 s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
17125 next: ptr::null_mut(),
17126 imageless_framebuffer: Bool32::default(),
17127 }
17128 }
17129}
17130
17131unsafe impl Send for PhysicalDeviceImagelessFramebufferFeatures {}
17132unsafe impl Sync for PhysicalDeviceImagelessFramebufferFeatures {}
17133
17134#[repr(C)]
17136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17137pub struct PhysicalDeviceIndexTypeUint8Features {
17138 pub s_type: StructureType,
17139 pub next: *mut c_void,
17140 pub index_type_uint8: Bool32,
17141}
17142
17143impl Default for PhysicalDeviceIndexTypeUint8Features {
17144 #[inline]
17145 fn default() -> Self {
17146 Self {
17147 s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
17148 next: ptr::null_mut(),
17149 index_type_uint8: Bool32::default(),
17150 }
17151 }
17152}
17153
17154unsafe impl Send for PhysicalDeviceIndexTypeUint8Features {}
17155unsafe impl Sync for PhysicalDeviceIndexTypeUint8Features {}
17156
17157#[repr(C)]
17159#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17160pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
17161 pub s_type: StructureType,
17162 pub next: *mut c_void,
17163 pub inherited_viewport_scissor_2d: Bool32,
17164}
17165
17166impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
17167 #[inline]
17168 fn default() -> Self {
17169 Self {
17170 s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
17171 next: ptr::null_mut(),
17172 inherited_viewport_scissor_2d: Bool32::default(),
17173 }
17174 }
17175}
17176
17177unsafe impl Send for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17178unsafe impl Sync for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17179
17180#[repr(C)]
17182#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17183pub struct PhysicalDeviceInlineUniformBlockFeatures {
17184 pub s_type: StructureType,
17185 pub next: *mut c_void,
17186 pub inline_uniform_block: Bool32,
17187 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
17188}
17189
17190impl Default for PhysicalDeviceInlineUniformBlockFeatures {
17191 #[inline]
17192 fn default() -> Self {
17193 Self {
17194 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
17195 next: ptr::null_mut(),
17196 inline_uniform_block: Bool32::default(),
17197 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
17198 }
17199 }
17200}
17201
17202unsafe impl Send for PhysicalDeviceInlineUniformBlockFeatures {}
17203unsafe impl Sync for PhysicalDeviceInlineUniformBlockFeatures {}
17204
17205#[repr(C)]
17207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17208pub struct PhysicalDeviceInlineUniformBlockProperties {
17209 pub s_type: StructureType,
17210 pub next: *mut c_void,
17211 pub max_inline_uniform_block_size: u32,
17212 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
17213 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
17214 pub max_descriptor_set_inline_uniform_blocks: u32,
17215 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
17216}
17217
17218impl Default for PhysicalDeviceInlineUniformBlockProperties {
17219 #[inline]
17220 fn default() -> Self {
17221 Self {
17222 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
17223 next: ptr::null_mut(),
17224 max_inline_uniform_block_size: u32::default(),
17225 max_per_stage_descriptor_inline_uniform_blocks: u32::default(),
17226 max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(),
17227 max_descriptor_set_inline_uniform_blocks: u32::default(),
17228 max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(),
17229 }
17230 }
17231}
17232
17233unsafe impl Send for PhysicalDeviceInlineUniformBlockProperties {}
17234unsafe impl Sync for PhysicalDeviceInlineUniformBlockProperties {}
17235
17236#[repr(C)]
17238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17239pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17240 pub s_type: StructureType,
17241 pub next: *mut c_void,
17242 pub invocation_mask: Bool32,
17243}
17244
17245impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17246 #[inline]
17247 fn default() -> Self {
17248 Self {
17249 s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
17250 next: ptr::null_mut(),
17251 invocation_mask: Bool32::default(),
17252 }
17253 }
17254}
17255
17256unsafe impl Send for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
17257unsafe impl Sync for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
17258
17259#[repr(C)]
17261#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17262pub struct PhysicalDeviceLayeredApiPropertiesKHR {
17263 pub s_type: StructureType,
17264 pub next: *mut c_void,
17265 pub vendor_id: u32,
17266 pub device_id: u32,
17267 pub layered_api: PhysicalDeviceLayeredApiKHR,
17268 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
17269}
17270
17271impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
17272 #[inline]
17273 fn default() -> Self {
17274 Self {
17275 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
17276 next: ptr::null_mut(),
17277 vendor_id: u32::default(),
17278 device_id: u32::default(),
17279 layered_api: PhysicalDeviceLayeredApiKHR::default(),
17280 device_name: StringArray::default(),
17281 }
17282 }
17283}
17284
17285unsafe impl Send for PhysicalDeviceLayeredApiPropertiesKHR {}
17286unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesKHR {}
17287
17288#[repr(C)]
17290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17291pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
17292 pub s_type: StructureType,
17293 pub next: *mut c_void,
17294 pub layered_api_count: u32,
17295 pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
17296}
17297
17298impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
17299 #[inline]
17300 fn default() -> Self {
17301 Self {
17302 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
17303 next: ptr::null_mut(),
17304 layered_api_count: u32::default(),
17305 layered_apis: ptr::null_mut(),
17306 }
17307 }
17308}
17309
17310unsafe impl Send for PhysicalDeviceLayeredApiPropertiesListKHR {}
17311unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesListKHR {}
17312
17313#[repr(C)]
17315#[derive(Copy, Clone, Debug, PartialEq)]
17316pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17317 pub s_type: StructureType,
17318 pub next: *mut c_void,
17319 pub properties: PhysicalDeviceProperties2,
17320}
17321
17322impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17323 #[inline]
17324 fn default() -> Self {
17325 Self {
17326 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
17327 next: ptr::null_mut(),
17328 properties: PhysicalDeviceProperties2::default(),
17329 }
17330 }
17331}
17332
17333unsafe impl Send for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17334unsafe impl Sync for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17335
17336#[repr(C)]
17338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17339pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
17340 pub s_type: StructureType,
17341 pub next: *mut c_void,
17342 pub underlying_api: LayeredDriverUnderlyingApiMSFT,
17343}
17344
17345impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
17346 #[inline]
17347 fn default() -> Self {
17348 Self {
17349 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
17350 next: ptr::null_mut(),
17351 underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
17352 }
17353 }
17354}
17355
17356unsafe impl Send for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17357unsafe impl Sync for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17358
17359#[repr(C)]
17361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17362pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
17363 pub s_type: StructureType,
17364 pub next: *mut c_void,
17365 pub legacy_dithering: Bool32,
17366}
17367
17368impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
17369 #[inline]
17370 fn default() -> Self {
17371 Self {
17372 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
17373 next: ptr::null_mut(),
17374 legacy_dithering: Bool32::default(),
17375 }
17376 }
17377}
17378
17379unsafe impl Send for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17380unsafe impl Sync for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17381
17382#[repr(C)]
17384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17385pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17386 pub s_type: StructureType,
17387 pub next: *mut c_void,
17388 pub legacy_vertex_attributes: Bool32,
17389}
17390
17391impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17392 #[inline]
17393 fn default() -> Self {
17394 Self {
17395 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
17396 next: ptr::null_mut(),
17397 legacy_vertex_attributes: Bool32::default(),
17398 }
17399 }
17400}
17401
17402unsafe impl Send for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17403unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17404
17405#[repr(C)]
17407#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17408pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17409 pub s_type: StructureType,
17410 pub next: *mut c_void,
17411 pub native_unaligned_performance: Bool32,
17412}
17413
17414impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17415 #[inline]
17416 fn default() -> Self {
17417 Self {
17418 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
17419 next: ptr::null_mut(),
17420 native_unaligned_performance: Bool32::default(),
17421 }
17422 }
17423}
17424
17425unsafe impl Send for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17426unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17427
17428#[repr(C)]
17430#[derive(Copy, Clone, Default, Debug, PartialEq)]
17431pub struct PhysicalDeviceLimits {
17432 pub max_image_dimension_1d: u32,
17433 pub max_image_dimension_2d: u32,
17434 pub max_image_dimension_3d: u32,
17435 pub max_image_dimension_cube: u32,
17436 pub max_image_array_layers: u32,
17437 pub max_texel_buffer_elements: u32,
17438 pub max_uniform_buffer_range: u32,
17439 pub max_storage_buffer_range: u32,
17440 pub max_push_constants_size: u32,
17441 pub max_memory_allocation_count: u32,
17442 pub max_sampler_allocation_count: u32,
17443 pub buffer_image_granularity: DeviceSize,
17444 pub sparse_address_space_size: DeviceSize,
17445 pub max_bound_descriptor_sets: u32,
17446 pub max_per_stage_descriptor_samplers: u32,
17447 pub max_per_stage_descriptor_uniform_buffers: u32,
17448 pub max_per_stage_descriptor_storage_buffers: u32,
17449 pub max_per_stage_descriptor_sampled_images: u32,
17450 pub max_per_stage_descriptor_storage_images: u32,
17451 pub max_per_stage_descriptor_input_attachments: u32,
17452 pub max_per_stage_resources: u32,
17453 pub max_descriptor_set_samplers: u32,
17454 pub max_descriptor_set_uniform_buffers: u32,
17455 pub max_descriptor_set_uniform_buffers_dynamic: u32,
17456 pub max_descriptor_set_storage_buffers: u32,
17457 pub max_descriptor_set_storage_buffers_dynamic: u32,
17458 pub max_descriptor_set_sampled_images: u32,
17459 pub max_descriptor_set_storage_images: u32,
17460 pub max_descriptor_set_input_attachments: u32,
17461 pub max_vertex_input_attributes: u32,
17462 pub max_vertex_input_bindings: u32,
17463 pub max_vertex_input_attribute_offset: u32,
17464 pub max_vertex_input_binding_stride: u32,
17465 pub max_vertex_output_components: u32,
17466 pub max_tessellation_generation_level: u32,
17467 pub max_tessellation_patch_size: u32,
17468 pub max_tessellation_control_per_vertex_input_components: u32,
17469 pub max_tessellation_control_per_vertex_output_components: u32,
17470 pub max_tessellation_control_per_patch_output_components: u32,
17471 pub max_tessellation_control_total_output_components: u32,
17472 pub max_tessellation_evaluation_input_components: u32,
17473 pub max_tessellation_evaluation_output_components: u32,
17474 pub max_geometry_shader_invocations: u32,
17475 pub max_geometry_input_components: u32,
17476 pub max_geometry_output_components: u32,
17477 pub max_geometry_output_vertices: u32,
17478 pub max_geometry_total_output_components: u32,
17479 pub max_fragment_input_components: u32,
17480 pub max_fragment_output_attachments: u32,
17481 pub max_fragment_dual_src_attachments: u32,
17482 pub max_fragment_combined_output_resources: u32,
17483 pub max_compute_shared_memory_size: u32,
17484 pub max_compute_work_group_count: [u32; 3],
17485 pub max_compute_work_group_invocations: u32,
17486 pub max_compute_work_group_size: [u32; 3],
17487 pub sub_pixel_precision_bits: u32,
17488 pub sub_texel_precision_bits: u32,
17489 pub mipmap_precision_bits: u32,
17490 pub max_draw_indexed_index_value: u32,
17491 pub max_draw_indirect_count: u32,
17492 pub max_sampler_lod_bias: f32,
17493 pub max_sampler_anisotropy: f32,
17494 pub max_viewports: u32,
17495 pub max_viewport_dimensions: [u32; 2],
17496 pub viewport_bounds_range: [f32; 2],
17497 pub viewport_sub_pixel_bits: u32,
17498 pub min_memory_map_alignment: usize,
17499 pub min_texel_buffer_offset_alignment: DeviceSize,
17500 pub min_uniform_buffer_offset_alignment: DeviceSize,
17501 pub min_storage_buffer_offset_alignment: DeviceSize,
17502 pub min_texel_offset: i32,
17503 pub max_texel_offset: u32,
17504 pub min_texel_gather_offset: i32,
17505 pub max_texel_gather_offset: u32,
17506 pub min_interpolation_offset: f32,
17507 pub max_interpolation_offset: f32,
17508 pub sub_pixel_interpolation_offset_bits: u32,
17509 pub max_framebuffer_width: u32,
17510 pub max_framebuffer_height: u32,
17511 pub max_framebuffer_layers: u32,
17512 pub framebuffer_color_sample_counts: SampleCountFlags,
17513 pub framebuffer_depth_sample_counts: SampleCountFlags,
17514 pub framebuffer_stencil_sample_counts: SampleCountFlags,
17515 pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
17516 pub max_color_attachments: u32,
17517 pub sampled_image_color_sample_counts: SampleCountFlags,
17518 pub sampled_image_integer_sample_counts: SampleCountFlags,
17519 pub sampled_image_depth_sample_counts: SampleCountFlags,
17520 pub sampled_image_stencil_sample_counts: SampleCountFlags,
17521 pub storage_image_sample_counts: SampleCountFlags,
17522 pub max_sample_mask_words: u32,
17523 pub timestamp_compute_and_graphics: Bool32,
17524 pub timestamp_period: f32,
17525 pub max_clip_distances: u32,
17526 pub max_cull_distances: u32,
17527 pub max_combined_clip_and_cull_distances: u32,
17528 pub discrete_queue_priorities: u32,
17529 pub point_size_range: [f32; 2],
17530 pub line_width_range: [f32; 2],
17531 pub point_size_granularity: f32,
17532 pub line_width_granularity: f32,
17533 pub strict_lines: Bool32,
17534 pub standard_sample_locations: Bool32,
17535 pub optimal_buffer_copy_offset_alignment: DeviceSize,
17536 pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
17537 pub non_coherent_atom_size: DeviceSize,
17538}
17539
17540#[repr(C)]
17542#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17543pub struct PhysicalDeviceLineRasterizationFeatures {
17544 pub s_type: StructureType,
17545 pub next: *mut c_void,
17546 pub rectangular_lines: Bool32,
17547 pub bresenham_lines: Bool32,
17548 pub smooth_lines: Bool32,
17549 pub stippled_rectangular_lines: Bool32,
17550 pub stippled_bresenham_lines: Bool32,
17551 pub stippled_smooth_lines: Bool32,
17552}
17553
17554impl Default for PhysicalDeviceLineRasterizationFeatures {
17555 #[inline]
17556 fn default() -> Self {
17557 Self {
17558 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
17559 next: ptr::null_mut(),
17560 rectangular_lines: Bool32::default(),
17561 bresenham_lines: Bool32::default(),
17562 smooth_lines: Bool32::default(),
17563 stippled_rectangular_lines: Bool32::default(),
17564 stippled_bresenham_lines: Bool32::default(),
17565 stippled_smooth_lines: Bool32::default(),
17566 }
17567 }
17568}
17569
17570unsafe impl Send for PhysicalDeviceLineRasterizationFeatures {}
17571unsafe impl Sync for PhysicalDeviceLineRasterizationFeatures {}
17572
17573#[repr(C)]
17575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17576pub struct PhysicalDeviceLineRasterizationProperties {
17577 pub s_type: StructureType,
17578 pub next: *mut c_void,
17579 pub line_sub_pixel_precision_bits: u32,
17580}
17581
17582impl Default for PhysicalDeviceLineRasterizationProperties {
17583 #[inline]
17584 fn default() -> Self {
17585 Self {
17586 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
17587 next: ptr::null_mut(),
17588 line_sub_pixel_precision_bits: u32::default(),
17589 }
17590 }
17591}
17592
17593unsafe impl Send for PhysicalDeviceLineRasterizationProperties {}
17594unsafe impl Sync for PhysicalDeviceLineRasterizationProperties {}
17595
17596#[repr(C)]
17598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17599pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
17600 pub s_type: StructureType,
17601 pub next: *mut c_void,
17602 pub linear_color_attachment: Bool32,
17603}
17604
17605impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
17606 #[inline]
17607 fn default() -> Self {
17608 Self {
17609 s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
17610 next: ptr::null_mut(),
17611 linear_color_attachment: Bool32::default(),
17612 }
17613 }
17614}
17615
17616unsafe impl Send for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17617unsafe impl Sync for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17618
17619#[repr(C)]
17621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17622pub struct PhysicalDeviceMaintenance10FeaturesKHR {
17623 pub s_type: StructureType,
17624 pub next: *mut c_void,
17625 pub maintenance10: Bool32,
17626}
17627
17628impl Default for PhysicalDeviceMaintenance10FeaturesKHR {
17629 #[inline]
17630 fn default() -> Self {
17631 Self {
17632 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
17633 next: ptr::null_mut(),
17634 maintenance10: Bool32::default(),
17635 }
17636 }
17637}
17638
17639unsafe impl Send for PhysicalDeviceMaintenance10FeaturesKHR {}
17640unsafe impl Sync for PhysicalDeviceMaintenance10FeaturesKHR {}
17641
17642#[repr(C)]
17644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17645pub struct PhysicalDeviceMaintenance10PropertiesKHR {
17646 pub s_type: StructureType,
17647 pub next: *mut c_void,
17648 pub rgba4_opaque_black_swizzled: Bool32,
17649 pub resolve_srgb_format_applies_transfer_function: Bool32,
17650 pub resolve_srgb_format_supports_transfer_function_control: Bool32,
17651}
17652
17653impl Default for PhysicalDeviceMaintenance10PropertiesKHR {
17654 #[inline]
17655 fn default() -> Self {
17656 Self {
17657 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
17658 next: ptr::null_mut(),
17659 rgba4_opaque_black_swizzled: Bool32::default(),
17660 resolve_srgb_format_applies_transfer_function: Bool32::default(),
17661 resolve_srgb_format_supports_transfer_function_control: Bool32::default(),
17662 }
17663 }
17664}
17665
17666unsafe impl Send for PhysicalDeviceMaintenance10PropertiesKHR {}
17667unsafe impl Sync for PhysicalDeviceMaintenance10PropertiesKHR {}
17668
17669#[repr(C)]
17671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17672pub struct PhysicalDeviceMaintenance3Properties {
17673 pub s_type: StructureType,
17674 pub next: *mut c_void,
17675 pub max_per_set_descriptors: u32,
17676 pub max_memory_allocation_size: DeviceSize,
17677}
17678
17679impl Default for PhysicalDeviceMaintenance3Properties {
17680 #[inline]
17681 fn default() -> Self {
17682 Self {
17683 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
17684 next: ptr::null_mut(),
17685 max_per_set_descriptors: u32::default(),
17686 max_memory_allocation_size: DeviceSize::default(),
17687 }
17688 }
17689}
17690
17691unsafe impl Send for PhysicalDeviceMaintenance3Properties {}
17692unsafe impl Sync for PhysicalDeviceMaintenance3Properties {}
17693
17694#[repr(C)]
17696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17697pub struct PhysicalDeviceMaintenance4Features {
17698 pub s_type: StructureType,
17699 pub next: *mut c_void,
17700 pub maintenance4: Bool32,
17701}
17702
17703impl Default for PhysicalDeviceMaintenance4Features {
17704 #[inline]
17705 fn default() -> Self {
17706 Self {
17707 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
17708 next: ptr::null_mut(),
17709 maintenance4: Bool32::default(),
17710 }
17711 }
17712}
17713
17714unsafe impl Send for PhysicalDeviceMaintenance4Features {}
17715unsafe impl Sync for PhysicalDeviceMaintenance4Features {}
17716
17717#[repr(C)]
17719#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17720pub struct PhysicalDeviceMaintenance4Properties {
17721 pub s_type: StructureType,
17722 pub next: *mut c_void,
17723 pub max_buffer_size: DeviceSize,
17724}
17725
17726impl Default for PhysicalDeviceMaintenance4Properties {
17727 #[inline]
17728 fn default() -> Self {
17729 Self {
17730 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
17731 next: ptr::null_mut(),
17732 max_buffer_size: DeviceSize::default(),
17733 }
17734 }
17735}
17736
17737unsafe impl Send for PhysicalDeviceMaintenance4Properties {}
17738unsafe impl Sync for PhysicalDeviceMaintenance4Properties {}
17739
17740#[repr(C)]
17742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17743pub struct PhysicalDeviceMaintenance5Features {
17744 pub s_type: StructureType,
17745 pub next: *mut c_void,
17746 pub maintenance5: Bool32,
17747}
17748
17749impl Default for PhysicalDeviceMaintenance5Features {
17750 #[inline]
17751 fn default() -> Self {
17752 Self {
17753 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
17754 next: ptr::null_mut(),
17755 maintenance5: Bool32::default(),
17756 }
17757 }
17758}
17759
17760unsafe impl Send for PhysicalDeviceMaintenance5Features {}
17761unsafe impl Sync for PhysicalDeviceMaintenance5Features {}
17762
17763#[repr(C)]
17765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17766pub struct PhysicalDeviceMaintenance5Properties {
17767 pub s_type: StructureType,
17768 pub next: *mut c_void,
17769 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
17770 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
17771 pub depth_stencil_swizzle_one_support: Bool32,
17772 pub polygon_mode_point_size: Bool32,
17773 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
17774 pub non_strict_wide_lines_use_parallelogram: Bool32,
17775}
17776
17777impl Default for PhysicalDeviceMaintenance5Properties {
17778 #[inline]
17779 fn default() -> Self {
17780 Self {
17781 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
17782 next: ptr::null_mut(),
17783 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
17784 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
17785 depth_stencil_swizzle_one_support: Bool32::default(),
17786 polygon_mode_point_size: Bool32::default(),
17787 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
17788 non_strict_wide_lines_use_parallelogram: Bool32::default(),
17789 }
17790 }
17791}
17792
17793unsafe impl Send for PhysicalDeviceMaintenance5Properties {}
17794unsafe impl Sync for PhysicalDeviceMaintenance5Properties {}
17795
17796#[repr(C)]
17798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17799pub struct PhysicalDeviceMaintenance6Features {
17800 pub s_type: StructureType,
17801 pub next: *mut c_void,
17802 pub maintenance6: Bool32,
17803}
17804
17805impl Default for PhysicalDeviceMaintenance6Features {
17806 #[inline]
17807 fn default() -> Self {
17808 Self {
17809 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
17810 next: ptr::null_mut(),
17811 maintenance6: Bool32::default(),
17812 }
17813 }
17814}
17815
17816unsafe impl Send for PhysicalDeviceMaintenance6Features {}
17817unsafe impl Sync for PhysicalDeviceMaintenance6Features {}
17818
17819#[repr(C)]
17821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17822pub struct PhysicalDeviceMaintenance6Properties {
17823 pub s_type: StructureType,
17824 pub next: *mut c_void,
17825 pub block_texel_view_compatible_multiple_layers: Bool32,
17826 pub max_combined_image_sampler_descriptor_count: u32,
17827 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
17828}
17829
17830impl Default for PhysicalDeviceMaintenance6Properties {
17831 #[inline]
17832 fn default() -> Self {
17833 Self {
17834 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
17835 next: ptr::null_mut(),
17836 block_texel_view_compatible_multiple_layers: Bool32::default(),
17837 max_combined_image_sampler_descriptor_count: u32::default(),
17838 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
17839 }
17840 }
17841}
17842
17843unsafe impl Send for PhysicalDeviceMaintenance6Properties {}
17844unsafe impl Sync for PhysicalDeviceMaintenance6Properties {}
17845
17846#[repr(C)]
17848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17849pub struct PhysicalDeviceMaintenance7FeaturesKHR {
17850 pub s_type: StructureType,
17851 pub next: *mut c_void,
17852 pub maintenance7: Bool32,
17853}
17854
17855impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
17856 #[inline]
17857 fn default() -> Self {
17858 Self {
17859 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
17860 next: ptr::null_mut(),
17861 maintenance7: Bool32::default(),
17862 }
17863 }
17864}
17865
17866unsafe impl Send for PhysicalDeviceMaintenance7FeaturesKHR {}
17867unsafe impl Sync for PhysicalDeviceMaintenance7FeaturesKHR {}
17868
17869#[repr(C)]
17871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17872pub struct PhysicalDeviceMaintenance7PropertiesKHR {
17873 pub s_type: StructureType,
17874 pub next: *mut c_void,
17875 pub robust_fragment_shading_rate_attachment_access: Bool32,
17876 pub separate_depth_stencil_attachment_access: Bool32,
17877 pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
17878 pub max_descriptor_set_total_storage_buffers_dynamic: u32,
17879 pub max_descriptor_set_total_buffers_dynamic: u32,
17880 pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
17881 pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
17882 pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
17883}
17884
17885impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
17886 #[inline]
17887 fn default() -> Self {
17888 Self {
17889 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
17890 next: ptr::null_mut(),
17891 robust_fragment_shading_rate_attachment_access: Bool32::default(),
17892 separate_depth_stencil_attachment_access: Bool32::default(),
17893 max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
17894 max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
17895 max_descriptor_set_total_buffers_dynamic: u32::default(),
17896 max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
17897 max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
17898 max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
17899 }
17900 }
17901}
17902
17903unsafe impl Send for PhysicalDeviceMaintenance7PropertiesKHR {}
17904unsafe impl Sync for PhysicalDeviceMaintenance7PropertiesKHR {}
17905
17906#[repr(C)]
17908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17909pub struct PhysicalDeviceMaintenance8FeaturesKHR {
17910 pub s_type: StructureType,
17911 pub next: *mut c_void,
17912 pub maintenance8: Bool32,
17913}
17914
17915impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
17916 #[inline]
17917 fn default() -> Self {
17918 Self {
17919 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
17920 next: ptr::null_mut(),
17921 maintenance8: Bool32::default(),
17922 }
17923 }
17924}
17925
17926unsafe impl Send for PhysicalDeviceMaintenance8FeaturesKHR {}
17927unsafe impl Sync for PhysicalDeviceMaintenance8FeaturesKHR {}
17928
17929#[repr(C)]
17931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17932pub struct PhysicalDeviceMaintenance9FeaturesKHR {
17933 pub s_type: StructureType,
17934 pub next: *mut c_void,
17935 pub maintenance9: Bool32,
17936}
17937
17938impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
17939 #[inline]
17940 fn default() -> Self {
17941 Self {
17942 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
17943 next: ptr::null_mut(),
17944 maintenance9: Bool32::default(),
17945 }
17946 }
17947}
17948
17949unsafe impl Send for PhysicalDeviceMaintenance9FeaturesKHR {}
17950unsafe impl Sync for PhysicalDeviceMaintenance9FeaturesKHR {}
17951
17952#[repr(C)]
17954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17955pub struct PhysicalDeviceMaintenance9PropertiesKHR {
17956 pub s_type: StructureType,
17957 pub next: *mut c_void,
17958 pub image_2d_view_of_3d_sparse: Bool32,
17959 pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
17960}
17961
17962impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
17963 #[inline]
17964 fn default() -> Self {
17965 Self {
17966 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
17967 next: ptr::null_mut(),
17968 image_2d_view_of_3d_sparse: Bool32::default(),
17969 default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
17970 }
17971 }
17972}
17973
17974unsafe impl Send for PhysicalDeviceMaintenance9PropertiesKHR {}
17975unsafe impl Sync for PhysicalDeviceMaintenance9PropertiesKHR {}
17976
17977#[repr(C)]
17979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17980pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
17981 pub s_type: StructureType,
17982 pub next: *mut c_void,
17983 pub memory_map_placed: Bool32,
17984 pub memory_map_range_placed: Bool32,
17985 pub memory_unmap_reserve: Bool32,
17986}
17987
17988impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
17989 #[inline]
17990 fn default() -> Self {
17991 Self {
17992 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
17993 next: ptr::null_mut(),
17994 memory_map_placed: Bool32::default(),
17995 memory_map_range_placed: Bool32::default(),
17996 memory_unmap_reserve: Bool32::default(),
17997 }
17998 }
17999}
18000
18001unsafe impl Send for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
18002unsafe impl Sync for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
18003
18004#[repr(C)]
18006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18007pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
18008 pub s_type: StructureType,
18009 pub next: *mut c_void,
18010 pub min_placed_memory_map_alignment: DeviceSize,
18011}
18012
18013impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
18014 #[inline]
18015 fn default() -> Self {
18016 Self {
18017 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
18018 next: ptr::null_mut(),
18019 min_placed_memory_map_alignment: DeviceSize::default(),
18020 }
18021 }
18022}
18023
18024unsafe impl Send for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
18025unsafe impl Sync for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
18026
18027#[repr(C)]
18029#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18030pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
18031 pub s_type: StructureType,
18032 pub next: *mut c_void,
18033 pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS as usize],
18034 pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS as usize],
18035}
18036
18037impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
18038 #[inline]
18039 fn default() -> Self {
18040 Self {
18041 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
18042 next: ptr::null_mut(),
18043 heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
18044 heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
18045 }
18046 }
18047}
18048
18049unsafe impl Send for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18050unsafe impl Sync for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18051
18052#[repr(C)]
18054#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18055pub struct PhysicalDeviceMemoryDecompressionFeaturesEXT {
18056 pub s_type: StructureType,
18057 pub next: *mut c_void,
18058 pub memory_decompression: Bool32,
18059}
18060
18061impl Default for PhysicalDeviceMemoryDecompressionFeaturesEXT {
18062 #[inline]
18063 fn default() -> Self {
18064 Self {
18065 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
18066 next: ptr::null_mut(),
18067 memory_decompression: Bool32::default(),
18068 }
18069 }
18070}
18071
18072unsafe impl Send for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18073unsafe impl Sync for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18074
18075#[repr(C)]
18077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18078pub struct PhysicalDeviceMemoryDecompressionPropertiesEXT {
18079 pub s_type: StructureType,
18080 pub next: *mut c_void,
18081 pub decompression_methods: MemoryDecompressionMethodFlagsEXT,
18082 pub max_decompression_indirect_count: u64,
18083}
18084
18085impl Default for PhysicalDeviceMemoryDecompressionPropertiesEXT {
18086 #[inline]
18087 fn default() -> Self {
18088 Self {
18089 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
18090 next: ptr::null_mut(),
18091 decompression_methods: MemoryDecompressionMethodFlagsEXT::default(),
18092 max_decompression_indirect_count: u64::default(),
18093 }
18094 }
18095}
18096
18097unsafe impl Send for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18098unsafe impl Sync for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18099
18100#[repr(C)]
18102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18103pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
18104 pub s_type: StructureType,
18105 pub next: *mut c_void,
18106 pub memory_priority: Bool32,
18107}
18108
18109impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
18110 #[inline]
18111 fn default() -> Self {
18112 Self {
18113 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
18114 next: ptr::null_mut(),
18115 memory_priority: Bool32::default(),
18116 }
18117 }
18118}
18119
18120unsafe impl Send for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18121unsafe impl Sync for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18122
18123#[repr(C)]
18125#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
18126pub struct PhysicalDeviceMemoryProperties {
18127 pub memory_type_count: u32,
18128 pub memory_types: [MemoryType; MAX_MEMORY_TYPES as usize],
18129 pub memory_heap_count: u32,
18130 pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS as usize],
18131}
18132
18133#[repr(C)]
18135#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18136pub struct PhysicalDeviceMemoryProperties2 {
18137 pub s_type: StructureType,
18138 pub next: *mut c_void,
18139 pub memory_properties: PhysicalDeviceMemoryProperties,
18140}
18141
18142impl Default for PhysicalDeviceMemoryProperties2 {
18143 #[inline]
18144 fn default() -> Self {
18145 Self {
18146 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
18147 next: ptr::null_mut(),
18148 memory_properties: PhysicalDeviceMemoryProperties::default(),
18149 }
18150 }
18151}
18152
18153unsafe impl Send for PhysicalDeviceMemoryProperties2 {}
18154unsafe impl Sync for PhysicalDeviceMemoryProperties2 {}
18155
18156#[repr(C)]
18158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18159pub struct PhysicalDeviceMeshShaderFeaturesEXT {
18160 pub s_type: StructureType,
18161 pub next: *mut c_void,
18162 pub task_shader: Bool32,
18163 pub mesh_shader: Bool32,
18164 pub multiview_mesh_shader: Bool32,
18165 pub primitive_fragment_shading_rate_mesh_shader: Bool32,
18166 pub mesh_shader_queries: Bool32,
18167}
18168
18169impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
18170 #[inline]
18171 fn default() -> Self {
18172 Self {
18173 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
18174 next: ptr::null_mut(),
18175 task_shader: Bool32::default(),
18176 mesh_shader: Bool32::default(),
18177 multiview_mesh_shader: Bool32::default(),
18178 primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
18179 mesh_shader_queries: Bool32::default(),
18180 }
18181 }
18182}
18183
18184unsafe impl Send for PhysicalDeviceMeshShaderFeaturesEXT {}
18185unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesEXT {}
18186
18187#[repr(C)]
18189#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18190pub struct PhysicalDeviceMeshShaderFeaturesNV {
18191 pub s_type: StructureType,
18192 pub next: *mut c_void,
18193 pub task_shader: Bool32,
18194 pub mesh_shader: Bool32,
18195}
18196
18197impl Default for PhysicalDeviceMeshShaderFeaturesNV {
18198 #[inline]
18199 fn default() -> Self {
18200 Self {
18201 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
18202 next: ptr::null_mut(),
18203 task_shader: Bool32::default(),
18204 mesh_shader: Bool32::default(),
18205 }
18206 }
18207}
18208
18209unsafe impl Send for PhysicalDeviceMeshShaderFeaturesNV {}
18210unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesNV {}
18211
18212#[repr(C)]
18214#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18215pub struct PhysicalDeviceMeshShaderPropertiesEXT {
18216 pub s_type: StructureType,
18217 pub next: *mut c_void,
18218 pub max_task_work_group_total_count: u32,
18219 pub max_task_work_group_count: [u32; 3],
18220 pub max_task_work_group_invocations: u32,
18221 pub max_task_work_group_size: [u32; 3],
18222 pub max_task_payload_size: u32,
18223 pub max_task_shared_memory_size: u32,
18224 pub max_task_payload_and_shared_memory_size: u32,
18225 pub max_mesh_work_group_total_count: u32,
18226 pub max_mesh_work_group_count: [u32; 3],
18227 pub max_mesh_work_group_invocations: u32,
18228 pub max_mesh_work_group_size: [u32; 3],
18229 pub max_mesh_shared_memory_size: u32,
18230 pub max_mesh_payload_and_shared_memory_size: u32,
18231 pub max_mesh_output_memory_size: u32,
18232 pub max_mesh_payload_and_output_memory_size: u32,
18233 pub max_mesh_output_components: u32,
18234 pub max_mesh_output_vertices: u32,
18235 pub max_mesh_output_primitives: u32,
18236 pub max_mesh_output_layers: u32,
18237 pub max_mesh_multiview_view_count: u32,
18238 pub mesh_output_per_vertex_granularity: u32,
18239 pub mesh_output_per_primitive_granularity: u32,
18240 pub max_preferred_task_work_group_invocations: u32,
18241 pub max_preferred_mesh_work_group_invocations: u32,
18242 pub prefers_local_invocation_vertex_output: Bool32,
18243 pub prefers_local_invocation_primitive_output: Bool32,
18244 pub prefers_compact_vertex_output: Bool32,
18245 pub prefers_compact_primitive_output: Bool32,
18246}
18247
18248impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
18249 #[inline]
18250 fn default() -> Self {
18251 Self {
18252 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
18253 next: ptr::null_mut(),
18254 max_task_work_group_total_count: u32::default(),
18255 max_task_work_group_count: [u32::default(); 3],
18256 max_task_work_group_invocations: u32::default(),
18257 max_task_work_group_size: [u32::default(); 3],
18258 max_task_payload_size: u32::default(),
18259 max_task_shared_memory_size: u32::default(),
18260 max_task_payload_and_shared_memory_size: u32::default(),
18261 max_mesh_work_group_total_count: u32::default(),
18262 max_mesh_work_group_count: [u32::default(); 3],
18263 max_mesh_work_group_invocations: u32::default(),
18264 max_mesh_work_group_size: [u32::default(); 3],
18265 max_mesh_shared_memory_size: u32::default(),
18266 max_mesh_payload_and_shared_memory_size: u32::default(),
18267 max_mesh_output_memory_size: u32::default(),
18268 max_mesh_payload_and_output_memory_size: u32::default(),
18269 max_mesh_output_components: u32::default(),
18270 max_mesh_output_vertices: u32::default(),
18271 max_mesh_output_primitives: u32::default(),
18272 max_mesh_output_layers: u32::default(),
18273 max_mesh_multiview_view_count: u32::default(),
18274 mesh_output_per_vertex_granularity: u32::default(),
18275 mesh_output_per_primitive_granularity: u32::default(),
18276 max_preferred_task_work_group_invocations: u32::default(),
18277 max_preferred_mesh_work_group_invocations: u32::default(),
18278 prefers_local_invocation_vertex_output: Bool32::default(),
18279 prefers_local_invocation_primitive_output: Bool32::default(),
18280 prefers_compact_vertex_output: Bool32::default(),
18281 prefers_compact_primitive_output: Bool32::default(),
18282 }
18283 }
18284}
18285
18286unsafe impl Send for PhysicalDeviceMeshShaderPropertiesEXT {}
18287unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesEXT {}
18288
18289#[repr(C)]
18291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18292pub struct PhysicalDeviceMeshShaderPropertiesNV {
18293 pub s_type: StructureType,
18294 pub next: *mut c_void,
18295 pub max_draw_mesh_tasks_count: u32,
18296 pub max_task_work_group_invocations: u32,
18297 pub max_task_work_group_size: [u32; 3],
18298 pub max_task_total_memory_size: u32,
18299 pub max_task_output_count: u32,
18300 pub max_mesh_work_group_invocations: u32,
18301 pub max_mesh_work_group_size: [u32; 3],
18302 pub max_mesh_total_memory_size: u32,
18303 pub max_mesh_output_vertices: u32,
18304 pub max_mesh_output_primitives: u32,
18305 pub max_mesh_multiview_view_count: u32,
18306 pub mesh_output_per_vertex_granularity: u32,
18307 pub mesh_output_per_primitive_granularity: u32,
18308}
18309
18310impl Default for PhysicalDeviceMeshShaderPropertiesNV {
18311 #[inline]
18312 fn default() -> Self {
18313 Self {
18314 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
18315 next: ptr::null_mut(),
18316 max_draw_mesh_tasks_count: u32::default(),
18317 max_task_work_group_invocations: u32::default(),
18318 max_task_work_group_size: [u32::default(); 3],
18319 max_task_total_memory_size: u32::default(),
18320 max_task_output_count: u32::default(),
18321 max_mesh_work_group_invocations: u32::default(),
18322 max_mesh_work_group_size: [u32::default(); 3],
18323 max_mesh_total_memory_size: u32::default(),
18324 max_mesh_output_vertices: u32::default(),
18325 max_mesh_output_primitives: u32::default(),
18326 max_mesh_multiview_view_count: u32::default(),
18327 mesh_output_per_vertex_granularity: u32::default(),
18328 mesh_output_per_primitive_granularity: u32::default(),
18329 }
18330 }
18331}
18332
18333unsafe impl Send for PhysicalDeviceMeshShaderPropertiesNV {}
18334unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesNV {}
18335
18336#[repr(C)]
18338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18339pub struct PhysicalDeviceMultiDrawFeaturesEXT {
18340 pub s_type: StructureType,
18341 pub next: *mut c_void,
18342 pub multi_draw: Bool32,
18343}
18344
18345impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
18346 #[inline]
18347 fn default() -> Self {
18348 Self {
18349 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
18350 next: ptr::null_mut(),
18351 multi_draw: Bool32::default(),
18352 }
18353 }
18354}
18355
18356unsafe impl Send for PhysicalDeviceMultiDrawFeaturesEXT {}
18357unsafe impl Sync for PhysicalDeviceMultiDrawFeaturesEXT {}
18358
18359#[repr(C)]
18361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18362pub struct PhysicalDeviceMultiDrawPropertiesEXT {
18363 pub s_type: StructureType,
18364 pub next: *mut c_void,
18365 pub max_multi_draw_count: u32,
18366}
18367
18368impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
18369 #[inline]
18370 fn default() -> Self {
18371 Self {
18372 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
18373 next: ptr::null_mut(),
18374 max_multi_draw_count: u32::default(),
18375 }
18376 }
18377}
18378
18379unsafe impl Send for PhysicalDeviceMultiDrawPropertiesEXT {}
18380unsafe impl Sync for PhysicalDeviceMultiDrawPropertiesEXT {}
18381
18382#[repr(C)]
18384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18385pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18386 pub s_type: StructureType,
18387 pub next: *mut c_void,
18388 pub multisampled_render_to_single_sampled: Bool32,
18389}
18390
18391impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18392 #[inline]
18393 fn default() -> Self {
18394 Self {
18395 s_type:
18396 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
18397 next: ptr::null_mut(),
18398 multisampled_render_to_single_sampled: Bool32::default(),
18399 }
18400 }
18401}
18402
18403unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18404unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18405
18406#[repr(C)]
18408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18409pub struct PhysicalDeviceMultiviewFeatures {
18410 pub s_type: StructureType,
18411 pub next: *mut c_void,
18412 pub multiview: Bool32,
18413 pub multiview_geometry_shader: Bool32,
18414 pub multiview_tessellation_shader: Bool32,
18415}
18416
18417impl Default for PhysicalDeviceMultiviewFeatures {
18418 #[inline]
18419 fn default() -> Self {
18420 Self {
18421 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
18422 next: ptr::null_mut(),
18423 multiview: Bool32::default(),
18424 multiview_geometry_shader: Bool32::default(),
18425 multiview_tessellation_shader: Bool32::default(),
18426 }
18427 }
18428}
18429
18430unsafe impl Send for PhysicalDeviceMultiviewFeatures {}
18431unsafe impl Sync for PhysicalDeviceMultiviewFeatures {}
18432
18433#[repr(C)]
18435#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18436pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18437 pub s_type: StructureType,
18438 pub next: *mut c_void,
18439 pub per_view_position_all_components: Bool32,
18440}
18441
18442impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18443 #[inline]
18444 fn default() -> Self {
18445 Self {
18446 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
18447 next: ptr::null_mut(),
18448 per_view_position_all_components: Bool32::default(),
18449 }
18450 }
18451}
18452
18453unsafe impl Send for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18454unsafe impl Sync for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18455
18456#[repr(C)]
18458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18459pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18460 pub s_type: StructureType,
18461 pub next: *mut c_void,
18462 pub multiview_per_view_render_areas: Bool32,
18463}
18464
18465impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18466 #[inline]
18467 fn default() -> Self {
18468 Self {
18469 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
18470 next: ptr::null_mut(),
18471 multiview_per_view_render_areas: Bool32::default(),
18472 }
18473 }
18474}
18475
18476unsafe impl Send for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18477unsafe impl Sync for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18478
18479#[repr(C)]
18481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18482pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18483 pub s_type: StructureType,
18484 pub next: *mut c_void,
18485 pub multiview_per_view_viewports: Bool32,
18486}
18487
18488impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18489 #[inline]
18490 fn default() -> Self {
18491 Self {
18492 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
18493 next: ptr::null_mut(),
18494 multiview_per_view_viewports: Bool32::default(),
18495 }
18496 }
18497}
18498
18499unsafe impl Send for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18500unsafe impl Sync for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18501
18502#[repr(C)]
18504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18505pub struct PhysicalDeviceMultiviewProperties {
18506 pub s_type: StructureType,
18507 pub next: *mut c_void,
18508 pub max_multiview_view_count: u32,
18509 pub max_multiview_instance_index: u32,
18510}
18511
18512impl Default for PhysicalDeviceMultiviewProperties {
18513 #[inline]
18514 fn default() -> Self {
18515 Self {
18516 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
18517 next: ptr::null_mut(),
18518 max_multiview_view_count: u32::default(),
18519 max_multiview_instance_index: u32::default(),
18520 }
18521 }
18522}
18523
18524unsafe impl Send for PhysicalDeviceMultiviewProperties {}
18525unsafe impl Sync for PhysicalDeviceMultiviewProperties {}
18526
18527#[repr(C)]
18529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18530pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18531 pub s_type: StructureType,
18532 pub next: *mut c_void,
18533 pub mutable_descriptor_type: Bool32,
18534}
18535
18536impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18537 #[inline]
18538 fn default() -> Self {
18539 Self {
18540 s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
18541 next: ptr::null_mut(),
18542 mutable_descriptor_type: Bool32::default(),
18543 }
18544 }
18545}
18546
18547unsafe impl Send for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18548unsafe impl Sync for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18549
18550#[repr(C)]
18552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18553pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
18554 pub s_type: StructureType,
18555 pub next: *mut c_void,
18556 pub nested_command_buffer: Bool32,
18557 pub nested_command_buffer_rendering: Bool32,
18558 pub nested_command_buffer_simultaneous_use: Bool32,
18559}
18560
18561impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
18562 #[inline]
18563 fn default() -> Self {
18564 Self {
18565 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
18566 next: ptr::null_mut(),
18567 nested_command_buffer: Bool32::default(),
18568 nested_command_buffer_rendering: Bool32::default(),
18569 nested_command_buffer_simultaneous_use: Bool32::default(),
18570 }
18571 }
18572}
18573
18574unsafe impl Send for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18575unsafe impl Sync for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18576
18577#[repr(C)]
18579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18580pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
18581 pub s_type: StructureType,
18582 pub next: *mut c_void,
18583 pub max_command_buffer_nesting_level: u32,
18584}
18585
18586impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
18587 #[inline]
18588 fn default() -> Self {
18589 Self {
18590 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
18591 next: ptr::null_mut(),
18592 max_command_buffer_nesting_level: u32::default(),
18593 }
18594 }
18595}
18596
18597unsafe impl Send for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18598unsafe impl Sync for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18599
18600#[repr(C)]
18602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18603pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18604 pub s_type: StructureType,
18605 pub next: *mut c_void,
18606 pub non_seamless_cube_map: Bool32,
18607}
18608
18609impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18610 #[inline]
18611 fn default() -> Self {
18612 Self {
18613 s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
18614 next: ptr::null_mut(),
18615 non_seamless_cube_map: Bool32::default(),
18616 }
18617 }
18618}
18619
18620unsafe impl Send for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18621unsafe impl Sync for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18622
18623#[repr(C)]
18625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18626pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
18627 pub s_type: StructureType,
18628 pub next: *mut c_void,
18629 pub micromap: Bool32,
18630 pub micromap_capture_replay: Bool32,
18631 pub micromap_host_commands: Bool32,
18632}
18633
18634impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
18635 #[inline]
18636 fn default() -> Self {
18637 Self {
18638 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
18639 next: ptr::null_mut(),
18640 micromap: Bool32::default(),
18641 micromap_capture_replay: Bool32::default(),
18642 micromap_host_commands: Bool32::default(),
18643 }
18644 }
18645}
18646
18647unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18648unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18649
18650#[repr(C)]
18652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18653pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
18654 pub s_type: StructureType,
18655 pub next: *mut c_void,
18656 pub max_opacity2_state_subdivision_level: u32,
18657 pub max_opacity4_state_subdivision_level: u32,
18658}
18659
18660impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
18661 #[inline]
18662 fn default() -> Self {
18663 Self {
18664 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
18665 next: ptr::null_mut(),
18666 max_opacity2_state_subdivision_level: u32::default(),
18667 max_opacity4_state_subdivision_level: u32::default(),
18668 }
18669 }
18670}
18671
18672unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18673unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18674
18675#[repr(C)]
18677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18678pub struct PhysicalDeviceOpticalFlowFeaturesNV {
18679 pub s_type: StructureType,
18680 pub next: *mut c_void,
18681 pub optical_flow: Bool32,
18682}
18683
18684impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
18685 #[inline]
18686 fn default() -> Self {
18687 Self {
18688 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
18689 next: ptr::null_mut(),
18690 optical_flow: Bool32::default(),
18691 }
18692 }
18693}
18694
18695unsafe impl Send for PhysicalDeviceOpticalFlowFeaturesNV {}
18696unsafe impl Sync for PhysicalDeviceOpticalFlowFeaturesNV {}
18697
18698#[repr(C)]
18700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18701pub struct PhysicalDeviceOpticalFlowPropertiesNV {
18702 pub s_type: StructureType,
18703 pub next: *mut c_void,
18704 pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
18705 pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
18706 pub hint_supported: Bool32,
18707 pub cost_supported: Bool32,
18708 pub bidirectional_flow_supported: Bool32,
18709 pub global_flow_supported: Bool32,
18710 pub min_width: u32,
18711 pub min_height: u32,
18712 pub max_width: u32,
18713 pub max_height: u32,
18714 pub max_num_regions_of_interest: u32,
18715}
18716
18717impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
18718 #[inline]
18719 fn default() -> Self {
18720 Self {
18721 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
18722 next: ptr::null_mut(),
18723 supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18724 supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18725 hint_supported: Bool32::default(),
18726 cost_supported: Bool32::default(),
18727 bidirectional_flow_supported: Bool32::default(),
18728 global_flow_supported: Bool32::default(),
18729 min_width: u32::default(),
18730 min_height: u32::default(),
18731 max_width: u32::default(),
18732 max_height: u32::default(),
18733 max_num_regions_of_interest: u32::default(),
18734 }
18735 }
18736}
18737
18738unsafe impl Send for PhysicalDeviceOpticalFlowPropertiesNV {}
18739unsafe impl Sync for PhysicalDeviceOpticalFlowPropertiesNV {}
18740
18741#[repr(C)]
18743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18744pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
18745 pub s_type: StructureType,
18746 pub next: *mut c_void,
18747 pub pci_domain: u32,
18748 pub pci_bus: u32,
18749 pub pci_device: u32,
18750 pub pci_function: u32,
18751}
18752
18753impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
18754 #[inline]
18755 fn default() -> Self {
18756 Self {
18757 s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
18758 next: ptr::null_mut(),
18759 pci_domain: u32::default(),
18760 pci_bus: u32::default(),
18761 pci_device: u32::default(),
18762 pci_function: u32::default(),
18763 }
18764 }
18765}
18766
18767unsafe impl Send for PhysicalDevicePCIBusInfoPropertiesEXT {}
18768unsafe impl Sync for PhysicalDevicePCIBusInfoPropertiesEXT {}
18769
18770#[repr(C)]
18772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18773pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18774 pub s_type: StructureType,
18775 pub next: *mut c_void,
18776 pub pageable_device_local_memory: Bool32,
18777}
18778
18779impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18780 #[inline]
18781 fn default() -> Self {
18782 Self {
18783 s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
18784 next: ptr::null_mut(),
18785 pageable_device_local_memory: Bool32::default(),
18786 }
18787 }
18788}
18789
18790unsafe impl Send for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18791unsafe impl Sync for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18792
18793#[repr(C)]
18795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18796pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18797 pub s_type: StructureType,
18798 pub next: *mut c_void,
18799 pub partitioned_acceleration_structure: Bool32,
18800}
18801
18802impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18803 #[inline]
18804 fn default() -> Self {
18805 Self {
18806 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
18807 next: ptr::null_mut(),
18808 partitioned_acceleration_structure: Bool32::default(),
18809 }
18810 }
18811}
18812
18813unsafe impl Send for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
18814unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
18815
18816#[repr(C)]
18818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18819pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
18820 pub s_type: StructureType,
18821 pub next: *mut c_void,
18822 pub max_partition_count: u32,
18823}
18824
18825impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
18826 #[inline]
18827 fn default() -> Self {
18828 Self {
18829 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
18830 next: ptr::null_mut(),
18831 max_partition_count: u32::default(),
18832 }
18833 }
18834}
18835
18836unsafe impl Send for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
18837unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
18838
18839#[repr(C)]
18841#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18842pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
18843 pub s_type: StructureType,
18844 pub next: *mut c_void,
18845 pub per_stage_descriptor_set: Bool32,
18846 pub dynamic_pipeline_layout: Bool32,
18847}
18848
18849impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
18850 #[inline]
18851 fn default() -> Self {
18852 Self {
18853 s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
18854 next: ptr::null_mut(),
18855 per_stage_descriptor_set: Bool32::default(),
18856 dynamic_pipeline_layout: Bool32::default(),
18857 }
18858 }
18859}
18860
18861unsafe impl Send for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
18862unsafe impl Sync for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
18863
18864#[repr(C)]
18866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18867pub struct PhysicalDevicePerformanceCountersByRegionFeaturesARM {
18868 pub s_type: StructureType,
18869 pub next: *mut c_void,
18870 pub performance_counters_by_region: Bool32,
18871}
18872
18873impl Default for PhysicalDevicePerformanceCountersByRegionFeaturesARM {
18874 #[inline]
18875 fn default() -> Self {
18876 Self {
18877 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM,
18878 next: ptr::null_mut(),
18879 performance_counters_by_region: Bool32::default(),
18880 }
18881 }
18882}
18883
18884unsafe impl Send for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
18885unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
18886
18887#[repr(C)]
18889#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18890pub struct PhysicalDevicePerformanceCountersByRegionPropertiesARM {
18891 pub s_type: StructureType,
18892 pub next: *mut c_void,
18893 pub max_per_region_performance_counters: u32,
18894 pub performance_counter_region_size: Extent2D,
18895 pub row_stride_alignment: u32,
18896 pub region_alignment: u32,
18897 pub identity_transform_order: Bool32,
18898}
18899
18900impl Default for PhysicalDevicePerformanceCountersByRegionPropertiesARM {
18901 #[inline]
18902 fn default() -> Self {
18903 Self {
18904 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM,
18905 next: ptr::null_mut(),
18906 max_per_region_performance_counters: u32::default(),
18907 performance_counter_region_size: Extent2D::default(),
18908 row_stride_alignment: u32::default(),
18909 region_alignment: u32::default(),
18910 identity_transform_order: Bool32::default(),
18911 }
18912 }
18913}
18914
18915unsafe impl Send for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
18916unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
18917
18918#[repr(C)]
18920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18921pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
18922 pub s_type: StructureType,
18923 pub next: *mut c_void,
18924 pub performance_counter_query_pools: Bool32,
18925 pub performance_counter_multiple_query_pools: Bool32,
18926}
18927
18928impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
18929 #[inline]
18930 fn default() -> Self {
18931 Self {
18932 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
18933 next: ptr::null_mut(),
18934 performance_counter_query_pools: Bool32::default(),
18935 performance_counter_multiple_query_pools: Bool32::default(),
18936 }
18937 }
18938}
18939
18940unsafe impl Send for PhysicalDevicePerformanceQueryFeaturesKHR {}
18941unsafe impl Sync for PhysicalDevicePerformanceQueryFeaturesKHR {}
18942
18943#[repr(C)]
18945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18946pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
18947 pub s_type: StructureType,
18948 pub next: *mut c_void,
18949 pub allow_command_buffer_query_copies: Bool32,
18950}
18951
18952impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
18953 #[inline]
18954 fn default() -> Self {
18955 Self {
18956 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
18957 next: ptr::null_mut(),
18958 allow_command_buffer_query_copies: Bool32::default(),
18959 }
18960 }
18961}
18962
18963unsafe impl Send for PhysicalDevicePerformanceQueryPropertiesKHR {}
18964unsafe impl Sync for PhysicalDevicePerformanceQueryPropertiesKHR {}
18965
18966#[repr(C)]
18968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18969pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
18970 pub s_type: StructureType,
18971 pub next: *mut c_void,
18972 pub pipeline_binaries: Bool32,
18973}
18974
18975impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
18976 #[inline]
18977 fn default() -> Self {
18978 Self {
18979 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
18980 next: ptr::null_mut(),
18981 pipeline_binaries: Bool32::default(),
18982 }
18983 }
18984}
18985
18986unsafe impl Send for PhysicalDevicePipelineBinaryFeaturesKHR {}
18987unsafe impl Sync for PhysicalDevicePipelineBinaryFeaturesKHR {}
18988
18989#[repr(C)]
18991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18992pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
18993 pub s_type: StructureType,
18994 pub next: *mut c_void,
18995 pub pipeline_binary_internal_cache: Bool32,
18996 pub pipeline_binary_internal_cache_control: Bool32,
18997 pub pipeline_binary_prefers_internal_cache: Bool32,
18998 pub pipeline_binary_precompiled_internal_cache: Bool32,
18999 pub pipeline_binary_compressed_data: Bool32,
19000}
19001
19002impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
19003 #[inline]
19004 fn default() -> Self {
19005 Self {
19006 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
19007 next: ptr::null_mut(),
19008 pipeline_binary_internal_cache: Bool32::default(),
19009 pipeline_binary_internal_cache_control: Bool32::default(),
19010 pipeline_binary_prefers_internal_cache: Bool32::default(),
19011 pipeline_binary_precompiled_internal_cache: Bool32::default(),
19012 pipeline_binary_compressed_data: Bool32::default(),
19013 }
19014 }
19015}
19016
19017unsafe impl Send for PhysicalDevicePipelineBinaryPropertiesKHR {}
19018unsafe impl Sync for PhysicalDevicePipelineBinaryPropertiesKHR {}
19019
19020#[repr(C)]
19022#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19023pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
19024 pub s_type: StructureType,
19025 pub next: *mut c_void,
19026 pub pipeline_cache_incremental_mode: Bool32,
19027}
19028
19029impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
19030 #[inline]
19031 fn default() -> Self {
19032 Self {
19033 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
19034 next: ptr::null_mut(),
19035 pipeline_cache_incremental_mode: Bool32::default(),
19036 }
19037 }
19038}
19039
19040unsafe impl Send for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
19041unsafe impl Sync for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
19042
19043#[repr(C)]
19045#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19046pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
19047 pub s_type: StructureType,
19048 pub next: *mut c_void,
19049 pub pipeline_creation_cache_control: Bool32,
19050}
19051
19052impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
19053 #[inline]
19054 fn default() -> Self {
19055 Self {
19056 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
19057 next: ptr::null_mut(),
19058 pipeline_creation_cache_control: Bool32::default(),
19059 }
19060 }
19061}
19062
19063unsafe impl Send for PhysicalDevicePipelineCreationCacheControlFeatures {}
19064unsafe impl Sync for PhysicalDevicePipelineCreationCacheControlFeatures {}
19065
19066#[repr(C)]
19068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19069pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19070 pub s_type: StructureType,
19071 pub next: *mut c_void,
19072 pub pipeline_executable_info: Bool32,
19073}
19074
19075impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19076 #[inline]
19077 fn default() -> Self {
19078 Self {
19079 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
19080 next: ptr::null_mut(),
19081 pipeline_executable_info: Bool32::default(),
19082 }
19083 }
19084}
19085
19086unsafe impl Send for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19087unsafe impl Sync for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19088
19089#[repr(C)]
19091#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19092pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19093 pub s_type: StructureType,
19094 pub next: *mut c_void,
19095 pub pipeline_library_group_handles: Bool32,
19096}
19097
19098impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19099 #[inline]
19100 fn default() -> Self {
19101 Self {
19102 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
19103 next: ptr::null_mut(),
19104 pipeline_library_group_handles: Bool32::default(),
19105 }
19106 }
19107}
19108
19109unsafe impl Send for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19110unsafe impl Sync for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19111
19112#[repr(C)]
19114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19115pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19116 pub s_type: StructureType,
19117 pub next: *mut c_void,
19118 pub pipeline_opacity_micromap: Bool32,
19119}
19120
19121impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19122 #[inline]
19123 fn default() -> Self {
19124 Self {
19125 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
19126 next: ptr::null_mut(),
19127 pipeline_opacity_micromap: Bool32::default(),
19128 }
19129 }
19130}
19131
19132unsafe impl Send for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19133unsafe impl Sync for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19134
19135#[repr(C)]
19137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19138pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
19139 pub s_type: StructureType,
19140 pub next: *mut c_void,
19141 pub pipeline_properties_identifier: Bool32,
19142}
19143
19144impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
19145 #[inline]
19146 fn default() -> Self {
19147 Self {
19148 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
19149 next: ptr::null_mut(),
19150 pipeline_properties_identifier: Bool32::default(),
19151 }
19152 }
19153}
19154
19155unsafe impl Send for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19156unsafe impl Sync for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19157
19158#[repr(C)]
19160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19161pub struct PhysicalDevicePipelineProtectedAccessFeatures {
19162 pub s_type: StructureType,
19163 pub next: *mut c_void,
19164 pub pipeline_protected_access: Bool32,
19165}
19166
19167impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
19168 #[inline]
19169 fn default() -> Self {
19170 Self {
19171 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
19172 next: ptr::null_mut(),
19173 pipeline_protected_access: Bool32::default(),
19174 }
19175 }
19176}
19177
19178unsafe impl Send for PhysicalDevicePipelineProtectedAccessFeatures {}
19179unsafe impl Sync for PhysicalDevicePipelineProtectedAccessFeatures {}
19180
19181#[repr(C)]
19183#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19184pub struct PhysicalDevicePipelineRobustnessFeatures {
19185 pub s_type: StructureType,
19186 pub next: *mut c_void,
19187 pub pipeline_robustness: Bool32,
19188}
19189
19190impl Default for PhysicalDevicePipelineRobustnessFeatures {
19191 #[inline]
19192 fn default() -> Self {
19193 Self {
19194 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
19195 next: ptr::null_mut(),
19196 pipeline_robustness: Bool32::default(),
19197 }
19198 }
19199}
19200
19201unsafe impl Send for PhysicalDevicePipelineRobustnessFeatures {}
19202unsafe impl Sync for PhysicalDevicePipelineRobustnessFeatures {}
19203
19204#[repr(C)]
19206#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19207pub struct PhysicalDevicePipelineRobustnessProperties {
19208 pub s_type: StructureType,
19209 pub next: *mut c_void,
19210 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
19211 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
19212 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
19213 pub default_robustness_images: PipelineRobustnessImageBehavior,
19214}
19215
19216impl Default for PhysicalDevicePipelineRobustnessProperties {
19217 #[inline]
19218 fn default() -> Self {
19219 Self {
19220 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
19221 next: ptr::null_mut(),
19222 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
19223 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
19224 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
19225 default_robustness_images: PipelineRobustnessImageBehavior::default(),
19226 }
19227 }
19228}
19229
19230unsafe impl Send for PhysicalDevicePipelineRobustnessProperties {}
19231unsafe impl Sync for PhysicalDevicePipelineRobustnessProperties {}
19232
19233#[repr(C)]
19235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19236pub struct PhysicalDevicePointClippingProperties {
19237 pub s_type: StructureType,
19238 pub next: *mut c_void,
19239 pub point_clipping_behavior: PointClippingBehavior,
19240}
19241
19242impl Default for PhysicalDevicePointClippingProperties {
19243 #[inline]
19244 fn default() -> Self {
19245 Self {
19246 s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
19247 next: ptr::null_mut(),
19248 point_clipping_behavior: PointClippingBehavior::default(),
19249 }
19250 }
19251}
19252
19253unsafe impl Send for PhysicalDevicePointClippingProperties {}
19254unsafe impl Sync for PhysicalDevicePointClippingProperties {}
19255
19256#[repr(C)]
19258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19259pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
19260 pub s_type: StructureType,
19261 pub next: *mut c_void,
19262 pub constant_alpha_color_blend_factors: Bool32,
19263 pub events: Bool32,
19264 pub image_view_format_reinterpretation: Bool32,
19265 pub image_view_format_swizzle: Bool32,
19266 pub image_view_2d_on_3d_image: Bool32,
19267 pub multisample_array_image: Bool32,
19268 pub mutable_comparison_samplers: Bool32,
19269 pub point_polygons: Bool32,
19270 pub sampler_mip_lod_bias: Bool32,
19271 pub separate_stencil_mask_ref: Bool32,
19272 pub shader_sample_rate_interpolation_functions: Bool32,
19273 pub tessellation_isolines: Bool32,
19274 pub tessellation_point_mode: Bool32,
19275 pub triangle_fans: Bool32,
19276 pub vertex_attribute_access_beyond_stride: Bool32,
19277}
19278
19279impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
19280 #[inline]
19281 fn default() -> Self {
19282 Self {
19283 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
19284 next: ptr::null_mut(),
19285 constant_alpha_color_blend_factors: Bool32::default(),
19286 events: Bool32::default(),
19287 image_view_format_reinterpretation: Bool32::default(),
19288 image_view_format_swizzle: Bool32::default(),
19289 image_view_2d_on_3d_image: Bool32::default(),
19290 multisample_array_image: Bool32::default(),
19291 mutable_comparison_samplers: Bool32::default(),
19292 point_polygons: Bool32::default(),
19293 sampler_mip_lod_bias: Bool32::default(),
19294 separate_stencil_mask_ref: Bool32::default(),
19295 shader_sample_rate_interpolation_functions: Bool32::default(),
19296 tessellation_isolines: Bool32::default(),
19297 tessellation_point_mode: Bool32::default(),
19298 triangle_fans: Bool32::default(),
19299 vertex_attribute_access_beyond_stride: Bool32::default(),
19300 }
19301 }
19302}
19303
19304unsafe impl Send for PhysicalDevicePortabilitySubsetFeaturesKHR {}
19305unsafe impl Sync for PhysicalDevicePortabilitySubsetFeaturesKHR {}
19306
19307#[repr(C)]
19309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19310pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
19311 pub s_type: StructureType,
19312 pub next: *mut c_void,
19313 pub min_vertex_input_binding_stride_alignment: u32,
19314}
19315
19316impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
19317 #[inline]
19318 fn default() -> Self {
19319 Self {
19320 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
19321 next: ptr::null_mut(),
19322 min_vertex_input_binding_stride_alignment: u32::default(),
19323 }
19324 }
19325}
19326
19327unsafe impl Send for PhysicalDevicePortabilitySubsetPropertiesKHR {}
19328unsafe impl Sync for PhysicalDevicePortabilitySubsetPropertiesKHR {}
19329
19330#[repr(C)]
19332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19333pub struct PhysicalDevicePresentBarrierFeaturesNV {
19334 pub s_type: StructureType,
19335 pub next: *mut c_void,
19336 pub present_barrier: Bool32,
19337}
19338
19339impl Default for PhysicalDevicePresentBarrierFeaturesNV {
19340 #[inline]
19341 fn default() -> Self {
19342 Self {
19343 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
19344 next: ptr::null_mut(),
19345 present_barrier: Bool32::default(),
19346 }
19347 }
19348}
19349
19350unsafe impl Send for PhysicalDevicePresentBarrierFeaturesNV {}
19351unsafe impl Sync for PhysicalDevicePresentBarrierFeaturesNV {}
19352
19353#[repr(C)]
19355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19356pub struct PhysicalDevicePresentId2FeaturesKHR {
19357 pub s_type: StructureType,
19358 pub next: *mut c_void,
19359 pub present_id2: Bool32,
19360}
19361
19362impl Default for PhysicalDevicePresentId2FeaturesKHR {
19363 #[inline]
19364 fn default() -> Self {
19365 Self {
19366 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
19367 next: ptr::null_mut(),
19368 present_id2: Bool32::default(),
19369 }
19370 }
19371}
19372
19373unsafe impl Send for PhysicalDevicePresentId2FeaturesKHR {}
19374unsafe impl Sync for PhysicalDevicePresentId2FeaturesKHR {}
19375
19376#[repr(C)]
19378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19379pub struct PhysicalDevicePresentIdFeaturesKHR {
19380 pub s_type: StructureType,
19381 pub next: *mut c_void,
19382 pub present_id: Bool32,
19383}
19384
19385impl Default for PhysicalDevicePresentIdFeaturesKHR {
19386 #[inline]
19387 fn default() -> Self {
19388 Self {
19389 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
19390 next: ptr::null_mut(),
19391 present_id: Bool32::default(),
19392 }
19393 }
19394}
19395
19396unsafe impl Send for PhysicalDevicePresentIdFeaturesKHR {}
19397unsafe impl Sync for PhysicalDevicePresentIdFeaturesKHR {}
19398
19399#[repr(C)]
19401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19402pub struct PhysicalDevicePresentMeteringFeaturesNV {
19403 pub s_type: StructureType,
19404 pub next: *mut c_void,
19405 pub present_metering: Bool32,
19406}
19407
19408impl Default for PhysicalDevicePresentMeteringFeaturesNV {
19409 #[inline]
19410 fn default() -> Self {
19411 Self {
19412 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
19413 next: ptr::null_mut(),
19414 present_metering: Bool32::default(),
19415 }
19416 }
19417}
19418
19419unsafe impl Send for PhysicalDevicePresentMeteringFeaturesNV {}
19420unsafe impl Sync for PhysicalDevicePresentMeteringFeaturesNV {}
19421
19422#[repr(C)]
19424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19425pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19426 pub s_type: StructureType,
19427 pub next: *mut c_void,
19428 pub present_mode_fifo_latest_ready: Bool32,
19429}
19430
19431impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19432 #[inline]
19433 fn default() -> Self {
19434 Self {
19435 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
19436 next: ptr::null_mut(),
19437 present_mode_fifo_latest_ready: Bool32::default(),
19438 }
19439 }
19440}
19441
19442unsafe impl Send for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19443unsafe impl Sync for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19444
19445#[repr(C)]
19447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19448pub struct PhysicalDevicePresentWait2FeaturesKHR {
19449 pub s_type: StructureType,
19450 pub next: *mut c_void,
19451 pub present_wait2: Bool32,
19452}
19453
19454impl Default for PhysicalDevicePresentWait2FeaturesKHR {
19455 #[inline]
19456 fn default() -> Self {
19457 Self {
19458 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
19459 next: ptr::null_mut(),
19460 present_wait2: Bool32::default(),
19461 }
19462 }
19463}
19464
19465unsafe impl Send for PhysicalDevicePresentWait2FeaturesKHR {}
19466unsafe impl Sync for PhysicalDevicePresentWait2FeaturesKHR {}
19467
19468#[repr(C)]
19470#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19471pub struct PhysicalDevicePresentWaitFeaturesKHR {
19472 pub s_type: StructureType,
19473 pub next: *mut c_void,
19474 pub present_wait: Bool32,
19475}
19476
19477impl Default for PhysicalDevicePresentWaitFeaturesKHR {
19478 #[inline]
19479 fn default() -> Self {
19480 Self {
19481 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
19482 next: ptr::null_mut(),
19483 present_wait: Bool32::default(),
19484 }
19485 }
19486}
19487
19488unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {}
19489unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {}
19490
19491#[repr(C)]
19493#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19494pub struct PhysicalDevicePresentationPropertiesOHOS {
19495 pub s_type: StructureType,
19496 pub next: *mut c_void,
19497 pub shared_image: Bool32,
19498}
19499
19500impl Default for PhysicalDevicePresentationPropertiesOHOS {
19501 #[inline]
19502 fn default() -> Self {
19503 Self {
19504 s_type: StructureType::PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS,
19505 next: ptr::null_mut(),
19506 shared_image: Bool32::default(),
19507 }
19508 }
19509}
19510
19511unsafe impl Send for PhysicalDevicePresentationPropertiesOHOS {}
19512unsafe impl Sync for PhysicalDevicePresentationPropertiesOHOS {}
19513
19514#[repr(C)]
19516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19517pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19518 pub s_type: StructureType,
19519 pub next: *mut c_void,
19520 pub primitive_topology_list_restart: Bool32,
19521 pub primitive_topology_patch_list_restart: Bool32,
19522}
19523
19524impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19525 #[inline]
19526 fn default() -> Self {
19527 Self {
19528 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
19529 next: ptr::null_mut(),
19530 primitive_topology_list_restart: Bool32::default(),
19531 primitive_topology_patch_list_restart: Bool32::default(),
19532 }
19533 }
19534}
19535
19536unsafe impl Send for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19537unsafe impl Sync for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19538
19539#[repr(C)]
19541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19542pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19543 pub s_type: StructureType,
19544 pub next: *mut c_void,
19545 pub primitives_generated_query: Bool32,
19546 pub primitives_generated_query_with_rasterizer_discard: Bool32,
19547 pub primitives_generated_query_with_non_zero_streams: Bool32,
19548}
19549
19550impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19551 #[inline]
19552 fn default() -> Self {
19553 Self {
19554 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
19555 next: ptr::null_mut(),
19556 primitives_generated_query: Bool32::default(),
19557 primitives_generated_query_with_rasterizer_discard: Bool32::default(),
19558 primitives_generated_query_with_non_zero_streams: Bool32::default(),
19559 }
19560 }
19561}
19562
19563unsafe impl Send for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19564unsafe impl Sync for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19565
19566#[repr(C)]
19568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19569pub struct PhysicalDevicePrivateDataFeatures {
19570 pub s_type: StructureType,
19571 pub next: *mut c_void,
19572 pub private_data: Bool32,
19573}
19574
19575impl Default for PhysicalDevicePrivateDataFeatures {
19576 #[inline]
19577 fn default() -> Self {
19578 Self {
19579 s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
19580 next: ptr::null_mut(),
19581 private_data: Bool32::default(),
19582 }
19583 }
19584}
19585
19586unsafe impl Send for PhysicalDevicePrivateDataFeatures {}
19587unsafe impl Sync for PhysicalDevicePrivateDataFeatures {}
19588
19589#[repr(C)]
19591#[derive(Copy, Clone, Default, Debug, PartialEq)]
19592pub struct PhysicalDeviceProperties {
19593 pub api_version: u32,
19594 pub driver_version: u32,
19595 pub vendor_id: u32,
19596 pub device_id: u32,
19597 pub device_type: PhysicalDeviceType,
19598 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
19599 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
19600 pub limits: PhysicalDeviceLimits,
19601 pub sparse_properties: PhysicalDeviceSparseProperties,
19602}
19603
19604#[repr(C)]
19606#[derive(Copy, Clone, Debug, PartialEq)]
19607pub struct PhysicalDeviceProperties2 {
19608 pub s_type: StructureType,
19609 pub next: *mut c_void,
19610 pub properties: PhysicalDeviceProperties,
19611}
19612
19613impl Default for PhysicalDeviceProperties2 {
19614 #[inline]
19615 fn default() -> Self {
19616 Self {
19617 s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
19618 next: ptr::null_mut(),
19619 properties: PhysicalDeviceProperties::default(),
19620 }
19621 }
19622}
19623
19624unsafe impl Send for PhysicalDeviceProperties2 {}
19625unsafe impl Sync for PhysicalDeviceProperties2 {}
19626
19627#[repr(C)]
19629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19630pub struct PhysicalDeviceProtectedMemoryFeatures {
19631 pub s_type: StructureType,
19632 pub next: *mut c_void,
19633 pub protected_memory: Bool32,
19634}
19635
19636impl Default for PhysicalDeviceProtectedMemoryFeatures {
19637 #[inline]
19638 fn default() -> Self {
19639 Self {
19640 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
19641 next: ptr::null_mut(),
19642 protected_memory: Bool32::default(),
19643 }
19644 }
19645}
19646
19647unsafe impl Send for PhysicalDeviceProtectedMemoryFeatures {}
19648unsafe impl Sync for PhysicalDeviceProtectedMemoryFeatures {}
19649
19650#[repr(C)]
19652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19653pub struct PhysicalDeviceProtectedMemoryProperties {
19654 pub s_type: StructureType,
19655 pub next: *mut c_void,
19656 pub protected_no_fault: Bool32,
19657}
19658
19659impl Default for PhysicalDeviceProtectedMemoryProperties {
19660 #[inline]
19661 fn default() -> Self {
19662 Self {
19663 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
19664 next: ptr::null_mut(),
19665 protected_no_fault: Bool32::default(),
19666 }
19667 }
19668}
19669
19670unsafe impl Send for PhysicalDeviceProtectedMemoryProperties {}
19671unsafe impl Sync for PhysicalDeviceProtectedMemoryProperties {}
19672
19673#[repr(C)]
19675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19676pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
19677 pub s_type: StructureType,
19678 pub next: *mut c_void,
19679 pub provoking_vertex_last: Bool32,
19680 pub transform_feedback_preserves_provoking_vertex: Bool32,
19681}
19682
19683impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
19684 #[inline]
19685 fn default() -> Self {
19686 Self {
19687 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
19688 next: ptr::null_mut(),
19689 provoking_vertex_last: Bool32::default(),
19690 transform_feedback_preserves_provoking_vertex: Bool32::default(),
19691 }
19692 }
19693}
19694
19695unsafe impl Send for PhysicalDeviceProvokingVertexFeaturesEXT {}
19696unsafe impl Sync for PhysicalDeviceProvokingVertexFeaturesEXT {}
19697
19698#[repr(C)]
19700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19701pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
19702 pub s_type: StructureType,
19703 pub next: *mut c_void,
19704 pub provoking_vertex_mode_per_pipeline: Bool32,
19705 pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
19706}
19707
19708impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
19709 #[inline]
19710 fn default() -> Self {
19711 Self {
19712 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
19713 next: ptr::null_mut(),
19714 provoking_vertex_mode_per_pipeline: Bool32::default(),
19715 transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
19716 }
19717 }
19718}
19719
19720unsafe impl Send for PhysicalDeviceProvokingVertexPropertiesEXT {}
19721unsafe impl Sync for PhysicalDeviceProvokingVertexPropertiesEXT {}
19722
19723#[repr(C)]
19725#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19726pub struct PhysicalDevicePushDescriptorProperties {
19727 pub s_type: StructureType,
19728 pub next: *mut c_void,
19729 pub max_push_descriptors: u32,
19730}
19731
19732impl Default for PhysicalDevicePushDescriptorProperties {
19733 #[inline]
19734 fn default() -> Self {
19735 Self {
19736 s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
19737 next: ptr::null_mut(),
19738 max_push_descriptors: u32::default(),
19739 }
19740 }
19741}
19742
19743unsafe impl Send for PhysicalDevicePushDescriptorProperties {}
19744unsafe impl Sync for PhysicalDevicePushDescriptorProperties {}
19745
19746#[repr(C)]
19748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19749pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19750 pub s_type: StructureType,
19751 pub next: *const c_void,
19752 pub queue_family_index: u32,
19753 pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
19754}
19755
19756impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19757 #[inline]
19758 fn default() -> Self {
19759 Self {
19760 s_type:
19761 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
19762 next: ptr::null(),
19763 queue_family_index: u32::default(),
19764 engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
19765 }
19766 }
19767}
19768
19769unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19770unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19771
19772#[repr(C)]
19774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19775pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19776 pub s_type: StructureType,
19777 pub next: *mut c_void,
19778 pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
19779}
19780
19781impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19782 #[inline]
19783 fn default() -> Self {
19784 Self {
19785 s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
19786 next: ptr::null_mut(),
19787 format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
19788 }
19789 }
19790}
19791
19792unsafe impl Send for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19793unsafe impl Sync for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19794
19795#[repr(C)]
19797#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19798pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19799 pub s_type: StructureType,
19800 pub next: *mut c_void,
19801 pub rasterization_order_color_attachment_access: Bool32,
19802 pub rasterization_order_depth_attachment_access: Bool32,
19803 pub rasterization_order_stencil_attachment_access: Bool32,
19804}
19805
19806impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19807 #[inline]
19808 fn default() -> Self {
19809 Self {
19810 s_type:
19811 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
19812 next: ptr::null_mut(),
19813 rasterization_order_color_attachment_access: Bool32::default(),
19814 rasterization_order_depth_attachment_access: Bool32::default(),
19815 rasterization_order_stencil_attachment_access: Bool32::default(),
19816 }
19817 }
19818}
19819
19820unsafe impl Send for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
19821unsafe impl Sync for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
19822
19823#[repr(C)]
19825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19826pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
19827 pub s_type: StructureType,
19828 pub next: *mut c_void,
19829 pub shader_raw_access_chains: Bool32,
19830}
19831
19832impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
19833 #[inline]
19834 fn default() -> Self {
19835 Self {
19836 s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
19837 next: ptr::null_mut(),
19838 shader_raw_access_chains: Bool32::default(),
19839 }
19840 }
19841}
19842
19843unsafe impl Send for PhysicalDeviceRawAccessChainsFeaturesNV {}
19844unsafe impl Sync for PhysicalDeviceRawAccessChainsFeaturesNV {}
19845
19846#[repr(C)]
19848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19849pub struct PhysicalDeviceRayQueryFeaturesKHR {
19850 pub s_type: StructureType,
19851 pub next: *mut c_void,
19852 pub ray_query: Bool32,
19853}
19854
19855impl Default for PhysicalDeviceRayQueryFeaturesKHR {
19856 #[inline]
19857 fn default() -> Self {
19858 Self {
19859 s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
19860 next: ptr::null_mut(),
19861 ray_query: Bool32::default(),
19862 }
19863 }
19864}
19865
19866unsafe impl Send for PhysicalDeviceRayQueryFeaturesKHR {}
19867unsafe impl Sync for PhysicalDeviceRayQueryFeaturesKHR {}
19868
19869#[repr(C)]
19871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19872pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
19873 pub s_type: StructureType,
19874 pub next: *mut c_void,
19875 pub ray_tracing_invocation_reorder: Bool32,
19876}
19877
19878impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
19879 #[inline]
19880 fn default() -> Self {
19881 Self {
19882 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
19883 next: ptr::null_mut(),
19884 ray_tracing_invocation_reorder: Bool32::default(),
19885 }
19886 }
19887}
19888
19889unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
19890unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
19891
19892#[repr(C)]
19894#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19895pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
19896 pub s_type: StructureType,
19897 pub next: *mut c_void,
19898 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeNV,
19899}
19900
19901impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
19902 #[inline]
19903 fn default() -> Self {
19904 Self {
19905 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
19906 next: ptr::null_mut(),
19907 ray_tracing_invocation_reorder_reordering_hint:
19908 RayTracingInvocationReorderModeNV::default(),
19909 }
19910 }
19911}
19912
19913unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
19914unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
19915
19916#[repr(C)]
19918#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19919pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
19920 pub s_type: StructureType,
19921 pub next: *mut c_void,
19922 pub spheres: Bool32,
19923 pub linear_swept_spheres: Bool32,
19924}
19925
19926impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
19927 #[inline]
19928 fn default() -> Self {
19929 Self {
19930 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
19931 next: ptr::null_mut(),
19932 spheres: Bool32::default(),
19933 linear_swept_spheres: Bool32::default(),
19934 }
19935 }
19936}
19937
19938unsafe impl Send for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
19939unsafe impl Sync for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
19940
19941#[repr(C)]
19943#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19944pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
19945 pub s_type: StructureType,
19946 pub next: *mut c_void,
19947 pub ray_tracing_maintenance1: Bool32,
19948 pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
19949}
19950
19951impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
19952 #[inline]
19953 fn default() -> Self {
19954 Self {
19955 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
19956 next: ptr::null_mut(),
19957 ray_tracing_maintenance1: Bool32::default(),
19958 ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
19959 }
19960 }
19961}
19962
19963unsafe impl Send for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
19964unsafe impl Sync for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
19965
19966#[repr(C)]
19968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19969pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
19970 pub s_type: StructureType,
19971 pub next: *mut c_void,
19972 pub ray_tracing_motion_blur: Bool32,
19973 pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
19974}
19975
19976impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
19977 #[inline]
19978 fn default() -> Self {
19979 Self {
19980 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
19981 next: ptr::null_mut(),
19982 ray_tracing_motion_blur: Bool32::default(),
19983 ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
19984 }
19985 }
19986}
19987
19988unsafe impl Send for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
19989unsafe impl Sync for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
19990
19991#[repr(C)]
19993#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19994pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
19995 pub s_type: StructureType,
19996 pub next: *mut c_void,
19997 pub ray_tracing_pipeline: Bool32,
19998 pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
19999 pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
20000 pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
20001 pub ray_traversal_primitive_culling: Bool32,
20002}
20003
20004impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
20005 #[inline]
20006 fn default() -> Self {
20007 Self {
20008 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
20009 next: ptr::null_mut(),
20010 ray_tracing_pipeline: Bool32::default(),
20011 ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
20012 ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
20013 ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
20014 ray_traversal_primitive_culling: Bool32::default(),
20015 }
20016 }
20017}
20018
20019unsafe impl Send for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
20020unsafe impl Sync for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
20021
20022#[repr(C)]
20024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20025pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
20026 pub s_type: StructureType,
20027 pub next: *mut c_void,
20028 pub shader_group_handle_size: u32,
20029 pub max_ray_recursion_depth: u32,
20030 pub max_shader_group_stride: u32,
20031 pub shader_group_base_alignment: u32,
20032 pub shader_group_handle_capture_replay_size: u32,
20033 pub max_ray_dispatch_invocation_count: u32,
20034 pub shader_group_handle_alignment: u32,
20035 pub max_ray_hit_attribute_size: u32,
20036}
20037
20038impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
20039 #[inline]
20040 fn default() -> Self {
20041 Self {
20042 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
20043 next: ptr::null_mut(),
20044 shader_group_handle_size: u32::default(),
20045 max_ray_recursion_depth: u32::default(),
20046 max_shader_group_stride: u32::default(),
20047 shader_group_base_alignment: u32::default(),
20048 shader_group_handle_capture_replay_size: u32::default(),
20049 max_ray_dispatch_invocation_count: u32::default(),
20050 shader_group_handle_alignment: u32::default(),
20051 max_ray_hit_attribute_size: u32::default(),
20052 }
20053 }
20054}
20055
20056unsafe impl Send for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20057unsafe impl Sync for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20058
20059#[repr(C)]
20061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20062pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20063 pub s_type: StructureType,
20064 pub next: *mut c_void,
20065 pub ray_tracing_position_fetch: Bool32,
20066}
20067
20068impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20069 #[inline]
20070 fn default() -> Self {
20071 Self {
20072 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
20073 next: ptr::null_mut(),
20074 ray_tracing_position_fetch: Bool32::default(),
20075 }
20076 }
20077}
20078
20079unsafe impl Send for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20080unsafe impl Sync for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20081
20082#[repr(C)]
20084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20085pub struct PhysicalDeviceRayTracingPropertiesNV {
20086 pub s_type: StructureType,
20087 pub next: *mut c_void,
20088 pub shader_group_handle_size: u32,
20089 pub max_recursion_depth: u32,
20090 pub max_shader_group_stride: u32,
20091 pub shader_group_base_alignment: u32,
20092 pub max_geometry_count: u64,
20093 pub max_instance_count: u64,
20094 pub max_triangle_count: u64,
20095 pub max_descriptor_set_acceleration_structures: u32,
20096}
20097
20098impl Default for PhysicalDeviceRayTracingPropertiesNV {
20099 #[inline]
20100 fn default() -> Self {
20101 Self {
20102 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
20103 next: ptr::null_mut(),
20104 shader_group_handle_size: u32::default(),
20105 max_recursion_depth: u32::default(),
20106 max_shader_group_stride: u32::default(),
20107 shader_group_base_alignment: u32::default(),
20108 max_geometry_count: u64::default(),
20109 max_instance_count: u64::default(),
20110 max_triangle_count: u64::default(),
20111 max_descriptor_set_acceleration_structures: u32::default(),
20112 }
20113 }
20114}
20115
20116unsafe impl Send for PhysicalDeviceRayTracingPropertiesNV {}
20117unsafe impl Sync for PhysicalDeviceRayTracingPropertiesNV {}
20118
20119#[repr(C)]
20121#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20122pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
20123 pub s_type: StructureType,
20124 pub next: *mut c_void,
20125 pub ray_tracing_validation: Bool32,
20126}
20127
20128impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
20129 #[inline]
20130 fn default() -> Self {
20131 Self {
20132 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
20133 next: ptr::null_mut(),
20134 ray_tracing_validation: Bool32::default(),
20135 }
20136 }
20137}
20138
20139unsafe impl Send for PhysicalDeviceRayTracingValidationFeaturesNV {}
20140unsafe impl Sync for PhysicalDeviceRayTracingValidationFeaturesNV {}
20141
20142#[repr(C)]
20144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20145pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
20146 pub s_type: StructureType,
20147 pub next: *mut c_void,
20148 pub relaxed_line_rasterization: Bool32,
20149}
20150
20151impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
20152 #[inline]
20153 fn default() -> Self {
20154 Self {
20155 s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
20156 next: ptr::null_mut(),
20157 relaxed_line_rasterization: Bool32::default(),
20158 }
20159 }
20160}
20161
20162unsafe impl Send for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
20163unsafe impl Sync for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
20164
20165#[repr(C)]
20167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20168pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
20169 pub s_type: StructureType,
20170 pub next: *mut c_void,
20171 pub render_pass_striped: Bool32,
20172}
20173
20174impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
20175 #[inline]
20176 fn default() -> Self {
20177 Self {
20178 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
20179 next: ptr::null_mut(),
20180 render_pass_striped: Bool32::default(),
20181 }
20182 }
20183}
20184
20185unsafe impl Send for PhysicalDeviceRenderPassStripedFeaturesARM {}
20186unsafe impl Sync for PhysicalDeviceRenderPassStripedFeaturesARM {}
20187
20188#[repr(C)]
20190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20191pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
20192 pub s_type: StructureType,
20193 pub next: *mut c_void,
20194 pub render_pass_stripe_granularity: Extent2D,
20195 pub max_render_pass_stripes: u32,
20196}
20197
20198impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
20199 #[inline]
20200 fn default() -> Self {
20201 Self {
20202 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
20203 next: ptr::null_mut(),
20204 render_pass_stripe_granularity: Extent2D::default(),
20205 max_render_pass_stripes: u32::default(),
20206 }
20207 }
20208}
20209
20210unsafe impl Send for PhysicalDeviceRenderPassStripedPropertiesARM {}
20211unsafe impl Sync for PhysicalDeviceRenderPassStripedPropertiesARM {}
20212
20213#[repr(C)]
20215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20216pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
20217 pub s_type: StructureType,
20218 pub next: *mut c_void,
20219 pub representative_fragment_test: Bool32,
20220}
20221
20222impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
20223 #[inline]
20224 fn default() -> Self {
20225 Self {
20226 s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
20227 next: ptr::null_mut(),
20228 representative_fragment_test: Bool32::default(),
20229 }
20230 }
20231}
20232
20233unsafe impl Send for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
20234unsafe impl Sync for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
20235
20236#[repr(C)]
20238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20239pub struct PhysicalDeviceRobustness2FeaturesKHR {
20240 pub s_type: StructureType,
20241 pub next: *mut c_void,
20242 pub robust_buffer_access2: Bool32,
20243 pub robust_image_access2: Bool32,
20244 pub null_descriptor: Bool32,
20245}
20246
20247impl Default for PhysicalDeviceRobustness2FeaturesKHR {
20248 #[inline]
20249 fn default() -> Self {
20250 Self {
20251 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
20252 next: ptr::null_mut(),
20253 robust_buffer_access2: Bool32::default(),
20254 robust_image_access2: Bool32::default(),
20255 null_descriptor: Bool32::default(),
20256 }
20257 }
20258}
20259
20260unsafe impl Send for PhysicalDeviceRobustness2FeaturesKHR {}
20261unsafe impl Sync for PhysicalDeviceRobustness2FeaturesKHR {}
20262
20263#[repr(C)]
20265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20266pub struct PhysicalDeviceRobustness2PropertiesKHR {
20267 pub s_type: StructureType,
20268 pub next: *mut c_void,
20269 pub robust_storage_buffer_access_size_alignment: DeviceSize,
20270 pub robust_uniform_buffer_access_size_alignment: DeviceSize,
20271}
20272
20273impl Default for PhysicalDeviceRobustness2PropertiesKHR {
20274 #[inline]
20275 fn default() -> Self {
20276 Self {
20277 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
20278 next: ptr::null_mut(),
20279 robust_storage_buffer_access_size_alignment: DeviceSize::default(),
20280 robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
20281 }
20282 }
20283}
20284
20285unsafe impl Send for PhysicalDeviceRobustness2PropertiesKHR {}
20286unsafe impl Sync for PhysicalDeviceRobustness2PropertiesKHR {}
20287
20288#[repr(C)]
20290#[derive(Copy, Clone, Debug, PartialEq)]
20291pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
20292 pub s_type: StructureType,
20293 pub next: *mut c_void,
20294 pub sample_location_sample_counts: SampleCountFlags,
20295 pub max_sample_location_grid_size: Extent2D,
20296 pub sample_location_coordinate_range: [f32; 2],
20297 pub sample_location_sub_pixel_bits: u32,
20298 pub variable_sample_locations: Bool32,
20299}
20300
20301impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
20302 #[inline]
20303 fn default() -> Self {
20304 Self {
20305 s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
20306 next: ptr::null_mut(),
20307 sample_location_sample_counts: SampleCountFlags::default(),
20308 max_sample_location_grid_size: Extent2D::default(),
20309 sample_location_coordinate_range: [f32::default(); 2],
20310 sample_location_sub_pixel_bits: u32::default(),
20311 variable_sample_locations: Bool32::default(),
20312 }
20313 }
20314}
20315
20316unsafe impl Send for PhysicalDeviceSampleLocationsPropertiesEXT {}
20317unsafe impl Sync for PhysicalDeviceSampleLocationsPropertiesEXT {}
20318
20319#[repr(C)]
20321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20322pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
20323 pub s_type: StructureType,
20324 pub next: *mut c_void,
20325 pub filter_minmax_single_component_formats: Bool32,
20326 pub filter_minmax_image_component_mapping: Bool32,
20327}
20328
20329impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
20330 #[inline]
20331 fn default() -> Self {
20332 Self {
20333 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
20334 next: ptr::null_mut(),
20335 filter_minmax_single_component_formats: Bool32::default(),
20336 filter_minmax_image_component_mapping: Bool32::default(),
20337 }
20338 }
20339}
20340
20341unsafe impl Send for PhysicalDeviceSamplerFilterMinmaxProperties {}
20342unsafe impl Sync for PhysicalDeviceSamplerFilterMinmaxProperties {}
20343
20344#[repr(C)]
20346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20347pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
20348 pub s_type: StructureType,
20349 pub next: *mut c_void,
20350 pub sampler_ycbcr_conversion: Bool32,
20351}
20352
20353impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
20354 #[inline]
20355 fn default() -> Self {
20356 Self {
20357 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
20358 next: ptr::null_mut(),
20359 sampler_ycbcr_conversion: Bool32::default(),
20360 }
20361 }
20362}
20363
20364unsafe impl Send for PhysicalDeviceSamplerYcbcrConversionFeatures {}
20365unsafe impl Sync for PhysicalDeviceSamplerYcbcrConversionFeatures {}
20366
20367#[repr(C)]
20369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20370pub struct PhysicalDeviceScalarBlockLayoutFeatures {
20371 pub s_type: StructureType,
20372 pub next: *mut c_void,
20373 pub scalar_block_layout: Bool32,
20374}
20375
20376impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
20377 #[inline]
20378 fn default() -> Self {
20379 Self {
20380 s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
20381 next: ptr::null_mut(),
20382 scalar_block_layout: Bool32::default(),
20383 }
20384 }
20385}
20386
20387unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {}
20388unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {}
20389
20390#[repr(C)]
20392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20393pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
20394 pub s_type: StructureType,
20395 pub next: *mut c_void,
20396 pub scheduling_controls: Bool32,
20397}
20398
20399impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
20400 #[inline]
20401 fn default() -> Self {
20402 Self {
20403 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
20404 next: ptr::null_mut(),
20405 scheduling_controls: Bool32::default(),
20406 }
20407 }
20408}
20409
20410unsafe impl Send for PhysicalDeviceSchedulingControlsFeaturesARM {}
20411unsafe impl Sync for PhysicalDeviceSchedulingControlsFeaturesARM {}
20412
20413#[repr(C)]
20415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20416pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
20417 pub s_type: StructureType,
20418 pub next: *mut c_void,
20419 pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
20420}
20421
20422impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
20423 #[inline]
20424 fn default() -> Self {
20425 Self {
20426 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
20427 next: ptr::null_mut(),
20428 scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
20429 }
20430 }
20431}
20432
20433unsafe impl Send for PhysicalDeviceSchedulingControlsPropertiesARM {}
20434unsafe impl Sync for PhysicalDeviceSchedulingControlsPropertiesARM {}
20435
20436#[repr(C)]
20438#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20439pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20440 pub s_type: StructureType,
20441 pub next: *mut c_void,
20442 pub separate_depth_stencil_layouts: Bool32,
20443}
20444
20445impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20446 #[inline]
20447 fn default() -> Self {
20448 Self {
20449 s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
20450 next: ptr::null_mut(),
20451 separate_depth_stencil_layouts: Bool32::default(),
20452 }
20453 }
20454}
20455
20456unsafe impl Send for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20457unsafe impl Sync for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20458
20459#[repr(C)]
20461#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20462pub struct PhysicalDeviceShader64BitIndexingFeaturesEXT {
20463 pub s_type: StructureType,
20464 pub next: *mut c_void,
20465 pub shader_64bit_indexing: Bool32,
20466}
20467
20468impl Default for PhysicalDeviceShader64BitIndexingFeaturesEXT {
20469 #[inline]
20470 fn default() -> Self {
20471 Self {
20472 s_type: StructureType::PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
20473 next: ptr::null_mut(),
20474 shader_64bit_indexing: Bool32::default(),
20475 }
20476 }
20477}
20478
20479unsafe impl Send for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
20480unsafe impl Sync for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
20481
20482#[repr(C)]
20484#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20485pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20486 pub s_type: StructureType,
20487 pub next: *mut c_void,
20488 pub shader_float16_vector_atomics: Bool32,
20489}
20490
20491impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20492 #[inline]
20493 fn default() -> Self {
20494 Self {
20495 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
20496 next: ptr::null_mut(),
20497 shader_float16_vector_atomics: Bool32::default(),
20498 }
20499 }
20500}
20501
20502unsafe impl Send for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20503unsafe impl Sync for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20504
20505#[repr(C)]
20507#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20508pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20509 pub s_type: StructureType,
20510 pub next: *mut c_void,
20511 pub shader_buffer_float16_atomics: Bool32,
20512 pub shader_buffer_float16_atomic_add: Bool32,
20513 pub shader_buffer_float16_atomic_min_max: Bool32,
20514 pub shader_buffer_float32_atomic_min_max: Bool32,
20515 pub shader_buffer_float64_atomic_min_max: Bool32,
20516 pub shader_shared_float16_atomics: Bool32,
20517 pub shader_shared_float16_atomic_add: Bool32,
20518 pub shader_shared_float16_atomic_min_max: Bool32,
20519 pub shader_shared_float32_atomic_min_max: Bool32,
20520 pub shader_shared_float64_atomic_min_max: Bool32,
20521 pub shader_image_float32_atomic_min_max: Bool32,
20522 pub sparse_image_float32_atomic_min_max: Bool32,
20523}
20524
20525impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20526 #[inline]
20527 fn default() -> Self {
20528 Self {
20529 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
20530 next: ptr::null_mut(),
20531 shader_buffer_float16_atomics: Bool32::default(),
20532 shader_buffer_float16_atomic_add: Bool32::default(),
20533 shader_buffer_float16_atomic_min_max: Bool32::default(),
20534 shader_buffer_float32_atomic_min_max: Bool32::default(),
20535 shader_buffer_float64_atomic_min_max: Bool32::default(),
20536 shader_shared_float16_atomics: Bool32::default(),
20537 shader_shared_float16_atomic_add: Bool32::default(),
20538 shader_shared_float16_atomic_min_max: Bool32::default(),
20539 shader_shared_float32_atomic_min_max: Bool32::default(),
20540 shader_shared_float64_atomic_min_max: Bool32::default(),
20541 shader_image_float32_atomic_min_max: Bool32::default(),
20542 sparse_image_float32_atomic_min_max: Bool32::default(),
20543 }
20544 }
20545}
20546
20547unsafe impl Send for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20548unsafe impl Sync for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20549
20550#[repr(C)]
20552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20553pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20554 pub s_type: StructureType,
20555 pub next: *mut c_void,
20556 pub shader_buffer_float32_atomics: Bool32,
20557 pub shader_buffer_float32_atomic_add: Bool32,
20558 pub shader_buffer_float64_atomics: Bool32,
20559 pub shader_buffer_float64_atomic_add: Bool32,
20560 pub shader_shared_float32_atomics: Bool32,
20561 pub shader_shared_float32_atomic_add: Bool32,
20562 pub shader_shared_float64_atomics: Bool32,
20563 pub shader_shared_float64_atomic_add: Bool32,
20564 pub shader_image_float32_atomics: Bool32,
20565 pub shader_image_float32_atomic_add: Bool32,
20566 pub sparse_image_float32_atomics: Bool32,
20567 pub sparse_image_float32_atomic_add: Bool32,
20568}
20569
20570impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20571 #[inline]
20572 fn default() -> Self {
20573 Self {
20574 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
20575 next: ptr::null_mut(),
20576 shader_buffer_float32_atomics: Bool32::default(),
20577 shader_buffer_float32_atomic_add: Bool32::default(),
20578 shader_buffer_float64_atomics: Bool32::default(),
20579 shader_buffer_float64_atomic_add: Bool32::default(),
20580 shader_shared_float32_atomics: Bool32::default(),
20581 shader_shared_float32_atomic_add: Bool32::default(),
20582 shader_shared_float64_atomics: Bool32::default(),
20583 shader_shared_float64_atomic_add: Bool32::default(),
20584 shader_image_float32_atomics: Bool32::default(),
20585 shader_image_float32_atomic_add: Bool32::default(),
20586 sparse_image_float32_atomics: Bool32::default(),
20587 sparse_image_float32_atomic_add: Bool32::default(),
20588 }
20589 }
20590}
20591
20592unsafe impl Send for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20593unsafe impl Sync for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20594
20595#[repr(C)]
20597#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20598pub struct PhysicalDeviceShaderAtomicInt64Features {
20599 pub s_type: StructureType,
20600 pub next: *mut c_void,
20601 pub shader_buffer_int64_atomics: Bool32,
20602 pub shader_shared_int64_atomics: Bool32,
20603}
20604
20605impl Default for PhysicalDeviceShaderAtomicInt64Features {
20606 #[inline]
20607 fn default() -> Self {
20608 Self {
20609 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
20610 next: ptr::null_mut(),
20611 shader_buffer_int64_atomics: Bool32::default(),
20612 shader_shared_int64_atomics: Bool32::default(),
20613 }
20614 }
20615}
20616
20617unsafe impl Send for PhysicalDeviceShaderAtomicInt64Features {}
20618unsafe impl Sync for PhysicalDeviceShaderAtomicInt64Features {}
20619
20620#[repr(C)]
20622#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20623pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
20624 pub s_type: StructureType,
20625 pub next: *mut c_void,
20626 pub shader_b_float16_type: Bool32,
20627 pub shader_b_float_16dot_product: Bool32,
20628 pub shader_b_float16_cooperative_matrix: Bool32,
20629}
20630
20631impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
20632 #[inline]
20633 fn default() -> Self {
20634 Self {
20635 s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
20636 next: ptr::null_mut(),
20637 shader_b_float16_type: Bool32::default(),
20638 shader_b_float_16dot_product: Bool32::default(),
20639 shader_b_float16_cooperative_matrix: Bool32::default(),
20640 }
20641 }
20642}
20643
20644unsafe impl Send for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20645unsafe impl Sync for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20646
20647#[repr(C)]
20649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20650pub struct PhysicalDeviceShaderClockFeaturesKHR {
20651 pub s_type: StructureType,
20652 pub next: *mut c_void,
20653 pub shader_subgroup_clock: Bool32,
20654 pub shader_device_clock: Bool32,
20655}
20656
20657impl Default for PhysicalDeviceShaderClockFeaturesKHR {
20658 #[inline]
20659 fn default() -> Self {
20660 Self {
20661 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
20662 next: ptr::null_mut(),
20663 shader_subgroup_clock: Bool32::default(),
20664 shader_device_clock: Bool32::default(),
20665 }
20666 }
20667}
20668
20669unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {}
20670unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {}
20671
20672#[repr(C)]
20674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20675pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20676 pub s_type: StructureType,
20677 pub next: *mut c_void,
20678 pub shader_core_builtins: Bool32,
20679}
20680
20681impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20682 #[inline]
20683 fn default() -> Self {
20684 Self {
20685 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
20686 next: ptr::null_mut(),
20687 shader_core_builtins: Bool32::default(),
20688 }
20689 }
20690}
20691
20692unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20693unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20694
20695#[repr(C)]
20697#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20698pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20699 pub s_type: StructureType,
20700 pub next: *mut c_void,
20701 pub shader_core_mask: u64,
20702 pub shader_core_count: u32,
20703 pub shader_warps_per_core: u32,
20704}
20705
20706impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20707 #[inline]
20708 fn default() -> Self {
20709 Self {
20710 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
20711 next: ptr::null_mut(),
20712 shader_core_mask: u64::default(),
20713 shader_core_count: u32::default(),
20714 shader_warps_per_core: u32::default(),
20715 }
20716 }
20717}
20718
20719unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20720unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20721
20722#[repr(C)]
20724#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20725pub struct PhysicalDeviceShaderCoreProperties2AMD {
20726 pub s_type: StructureType,
20727 pub next: *mut c_void,
20728 pub shader_core_features: ShaderCorePropertiesFlagsAMD,
20729 pub active_compute_unit_count: u32,
20730}
20731
20732impl Default for PhysicalDeviceShaderCoreProperties2AMD {
20733 #[inline]
20734 fn default() -> Self {
20735 Self {
20736 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
20737 next: ptr::null_mut(),
20738 shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
20739 active_compute_unit_count: u32::default(),
20740 }
20741 }
20742}
20743
20744unsafe impl Send for PhysicalDeviceShaderCoreProperties2AMD {}
20745unsafe impl Sync for PhysicalDeviceShaderCoreProperties2AMD {}
20746
20747#[repr(C)]
20749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20750pub struct PhysicalDeviceShaderCorePropertiesAMD {
20751 pub s_type: StructureType,
20752 pub next: *mut c_void,
20753 pub shader_engine_count: u32,
20754 pub shader_arrays_per_engine_count: u32,
20755 pub compute_units_per_shader_array: u32,
20756 pub simd_per_compute_unit: u32,
20757 pub wavefronts_per_simd: u32,
20758 pub wavefront_size: u32,
20759 pub sgprs_per_simd: u32,
20760 pub min_sgpr_allocation: u32,
20761 pub max_sgpr_allocation: u32,
20762 pub sgpr_allocation_granularity: u32,
20763 pub vgprs_per_simd: u32,
20764 pub min_vgpr_allocation: u32,
20765 pub max_vgpr_allocation: u32,
20766 pub vgpr_allocation_granularity: u32,
20767}
20768
20769impl Default for PhysicalDeviceShaderCorePropertiesAMD {
20770 #[inline]
20771 fn default() -> Self {
20772 Self {
20773 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
20774 next: ptr::null_mut(),
20775 shader_engine_count: u32::default(),
20776 shader_arrays_per_engine_count: u32::default(),
20777 compute_units_per_shader_array: u32::default(),
20778 simd_per_compute_unit: u32::default(),
20779 wavefronts_per_simd: u32::default(),
20780 wavefront_size: u32::default(),
20781 sgprs_per_simd: u32::default(),
20782 min_sgpr_allocation: u32::default(),
20783 max_sgpr_allocation: u32::default(),
20784 sgpr_allocation_granularity: u32::default(),
20785 vgprs_per_simd: u32::default(),
20786 min_vgpr_allocation: u32::default(),
20787 max_vgpr_allocation: u32::default(),
20788 vgpr_allocation_granularity: u32::default(),
20789 }
20790 }
20791}
20792
20793unsafe impl Send for PhysicalDeviceShaderCorePropertiesAMD {}
20794unsafe impl Sync for PhysicalDeviceShaderCorePropertiesAMD {}
20795
20796#[repr(C)]
20798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20799pub struct PhysicalDeviceShaderCorePropertiesARM {
20800 pub s_type: StructureType,
20801 pub next: *mut c_void,
20802 pub pixel_rate: u32,
20803 pub texel_rate: u32,
20804 pub fma_rate: u32,
20805}
20806
20807impl Default for PhysicalDeviceShaderCorePropertiesARM {
20808 #[inline]
20809 fn default() -> Self {
20810 Self {
20811 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
20812 next: ptr::null_mut(),
20813 pixel_rate: u32::default(),
20814 texel_rate: u32::default(),
20815 fma_rate: u32::default(),
20816 }
20817 }
20818}
20819
20820unsafe impl Send for PhysicalDeviceShaderCorePropertiesARM {}
20821unsafe impl Sync for PhysicalDeviceShaderCorePropertiesARM {}
20822
20823#[repr(C)]
20825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20826pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
20827 pub s_type: StructureType,
20828 pub next: *mut c_void,
20829 pub shader_demote_to_helper_invocation: Bool32,
20830}
20831
20832impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
20833 #[inline]
20834 fn default() -> Self {
20835 Self {
20836 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
20837 next: ptr::null_mut(),
20838 shader_demote_to_helper_invocation: Bool32::default(),
20839 }
20840 }
20841}
20842
20843unsafe impl Send for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
20844unsafe impl Sync for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
20845
20846#[repr(C)]
20848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20849pub struct PhysicalDeviceShaderDrawParametersFeatures {
20850 pub s_type: StructureType,
20851 pub next: *mut c_void,
20852 pub shader_draw_parameters: Bool32,
20853}
20854
20855impl Default for PhysicalDeviceShaderDrawParametersFeatures {
20856 #[inline]
20857 fn default() -> Self {
20858 Self {
20859 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
20860 next: ptr::null_mut(),
20861 shader_draw_parameters: Bool32::default(),
20862 }
20863 }
20864}
20865
20866unsafe impl Send for PhysicalDeviceShaderDrawParametersFeatures {}
20867unsafe impl Sync for PhysicalDeviceShaderDrawParametersFeatures {}
20868
20869#[repr(C)]
20871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20872pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
20873 pub s_type: StructureType,
20874 pub next: *mut c_void,
20875 pub shader_early_and_late_fragment_tests: Bool32,
20876}
20877
20878impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
20879 #[inline]
20880 fn default() -> Self {
20881 Self {
20882 s_type:
20883 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
20884 next: ptr::null_mut(),
20885 shader_early_and_late_fragment_tests: Bool32::default(),
20886 }
20887 }
20888}
20889
20890unsafe impl Send for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
20891unsafe impl Sync for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
20892
20893#[repr(C)]
20895#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20896pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
20897 pub s_type: StructureType,
20898 pub next: *mut c_void,
20899 pub shader_enqueue: Bool32,
20900 pub shader_mesh_enqueue: Bool32,
20901}
20902
20903impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
20904 #[inline]
20905 fn default() -> Self {
20906 Self {
20907 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
20908 next: ptr::null_mut(),
20909 shader_enqueue: Bool32::default(),
20910 shader_mesh_enqueue: Bool32::default(),
20911 }
20912 }
20913}
20914
20915unsafe impl Send for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
20916unsafe impl Sync for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
20917
20918#[repr(C)]
20920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20921pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
20922 pub s_type: StructureType,
20923 pub next: *mut c_void,
20924 pub max_execution_graph_depth: u32,
20925 pub max_execution_graph_shader_output_nodes: u32,
20926 pub max_execution_graph_shader_payload_size: u32,
20927 pub max_execution_graph_shader_payload_count: u32,
20928 pub execution_graph_dispatch_address_alignment: u32,
20929 pub max_execution_graph_workgroup_count: [u32; 3],
20930 pub max_execution_graph_workgroups: u32,
20931}
20932
20933impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
20934 #[inline]
20935 fn default() -> Self {
20936 Self {
20937 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
20938 next: ptr::null_mut(),
20939 max_execution_graph_depth: u32::default(),
20940 max_execution_graph_shader_output_nodes: u32::default(),
20941 max_execution_graph_shader_payload_size: u32::default(),
20942 max_execution_graph_shader_payload_count: u32::default(),
20943 execution_graph_dispatch_address_alignment: u32::default(),
20944 max_execution_graph_workgroup_count: [u32::default(); 3],
20945 max_execution_graph_workgroups: u32::default(),
20946 }
20947 }
20948}
20949
20950unsafe impl Send for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
20951unsafe impl Sync for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
20952
20953#[repr(C)]
20955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20956pub struct PhysicalDeviceShaderExpectAssumeFeatures {
20957 pub s_type: StructureType,
20958 pub next: *mut c_void,
20959 pub shader_expect_assume: Bool32,
20960}
20961
20962impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
20963 #[inline]
20964 fn default() -> Self {
20965 Self {
20966 s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
20967 next: ptr::null_mut(),
20968 shader_expect_assume: Bool32::default(),
20969 }
20970 }
20971}
20972
20973unsafe impl Send for PhysicalDeviceShaderExpectAssumeFeatures {}
20974unsafe impl Sync for PhysicalDeviceShaderExpectAssumeFeatures {}
20975
20976#[repr(C)]
20978#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20979pub struct PhysicalDeviceShaderFloat16Int8Features {
20980 pub s_type: StructureType,
20981 pub next: *mut c_void,
20982 pub shader_float16: Bool32,
20983 pub shader_int8: Bool32,
20984}
20985
20986impl Default for PhysicalDeviceShaderFloat16Int8Features {
20987 #[inline]
20988 fn default() -> Self {
20989 Self {
20990 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
20991 next: ptr::null_mut(),
20992 shader_float16: Bool32::default(),
20993 shader_int8: Bool32::default(),
20994 }
20995 }
20996}
20997
20998unsafe impl Send for PhysicalDeviceShaderFloat16Int8Features {}
20999unsafe impl Sync for PhysicalDeviceShaderFloat16Int8Features {}
21000
21001#[repr(C)]
21003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21004pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
21005 pub s_type: StructureType,
21006 pub next: *mut c_void,
21007 pub shader_float8: Bool32,
21008 pub shader_float8_cooperative_matrix: Bool32,
21009}
21010
21011impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
21012 #[inline]
21013 fn default() -> Self {
21014 Self {
21015 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
21016 next: ptr::null_mut(),
21017 shader_float8: Bool32::default(),
21018 shader_float8_cooperative_matrix: Bool32::default(),
21019 }
21020 }
21021}
21022
21023unsafe impl Send for PhysicalDeviceShaderFloat8FeaturesEXT {}
21024unsafe impl Sync for PhysicalDeviceShaderFloat8FeaturesEXT {}
21025
21026#[repr(C)]
21028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21029pub struct PhysicalDeviceShaderFloatControls2Features {
21030 pub s_type: StructureType,
21031 pub next: *mut c_void,
21032 pub shader_float_controls2: Bool32,
21033}
21034
21035impl Default for PhysicalDeviceShaderFloatControls2Features {
21036 #[inline]
21037 fn default() -> Self {
21038 Self {
21039 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
21040 next: ptr::null_mut(),
21041 shader_float_controls2: Bool32::default(),
21042 }
21043 }
21044}
21045
21046unsafe impl Send for PhysicalDeviceShaderFloatControls2Features {}
21047unsafe impl Sync for PhysicalDeviceShaderFloatControls2Features {}
21048
21049#[repr(C)]
21051#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21052pub struct PhysicalDeviceShaderFmaFeaturesKHR {
21053 pub s_type: StructureType,
21054 pub next: *mut c_void,
21055 pub shader_fma_float16: Bool32,
21056 pub shader_fma_float32: Bool32,
21057 pub shader_fma_float64: Bool32,
21058}
21059
21060impl Default for PhysicalDeviceShaderFmaFeaturesKHR {
21061 #[inline]
21062 fn default() -> Self {
21063 Self {
21064 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
21065 next: ptr::null_mut(),
21066 shader_fma_float16: Bool32::default(),
21067 shader_fma_float32: Bool32::default(),
21068 shader_fma_float64: Bool32::default(),
21069 }
21070 }
21071}
21072
21073unsafe impl Send for PhysicalDeviceShaderFmaFeaturesKHR {}
21074unsafe impl Sync for PhysicalDeviceShaderFmaFeaturesKHR {}
21075
21076#[repr(C)]
21078#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21079pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21080 pub s_type: StructureType,
21081 pub next: *mut c_void,
21082 pub shader_image_int64_atomics: Bool32,
21083 pub sparse_image_int64_atomics: Bool32,
21084}
21085
21086impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21087 #[inline]
21088 fn default() -> Self {
21089 Self {
21090 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
21091 next: ptr::null_mut(),
21092 shader_image_int64_atomics: Bool32::default(),
21093 sparse_image_int64_atomics: Bool32::default(),
21094 }
21095 }
21096}
21097
21098unsafe impl Send for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21099unsafe impl Sync for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21100
21101#[repr(C)]
21103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21104pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
21105 pub s_type: StructureType,
21106 pub next: *mut c_void,
21107 pub image_footprint: Bool32,
21108}
21109
21110impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
21111 #[inline]
21112 fn default() -> Self {
21113 Self {
21114 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
21115 next: ptr::null_mut(),
21116 image_footprint: Bool32::default(),
21117 }
21118 }
21119}
21120
21121unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21122unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21123
21124#[repr(C)]
21126#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21127pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
21128 pub s_type: StructureType,
21129 pub next: *mut c_void,
21130 pub shader_integer_dot_product: Bool32,
21131}
21132
21133impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
21134 #[inline]
21135 fn default() -> Self {
21136 Self {
21137 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
21138 next: ptr::null_mut(),
21139 shader_integer_dot_product: Bool32::default(),
21140 }
21141 }
21142}
21143
21144unsafe impl Send for PhysicalDeviceShaderIntegerDotProductFeatures {}
21145unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductFeatures {}
21146
21147#[repr(C)]
21149#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21150pub struct PhysicalDeviceShaderIntegerDotProductProperties {
21151 pub s_type: StructureType,
21152 pub next: *mut c_void,
21153 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
21154 pub integer_dot_product_8bit_signed_accelerated: Bool32,
21155 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
21156 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
21157 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
21158 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
21159 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
21160 pub integer_dot_product_16bit_signed_accelerated: Bool32,
21161 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
21162 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
21163 pub integer_dot_product_32bit_signed_accelerated: Bool32,
21164 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
21165 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
21166 pub integer_dot_product_64bit_signed_accelerated: Bool32,
21167 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
21168 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
21169 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
21170 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
21171 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
21172 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
21173 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
21174 Bool32,
21175 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
21176 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
21177 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
21178 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
21179 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
21180 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
21181 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
21182 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
21183 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
21184}
21185
21186impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
21187 #[inline]
21188 fn default() -> Self {
21189 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() }
21190 }
21191}
21192
21193unsafe impl Send for PhysicalDeviceShaderIntegerDotProductProperties {}
21194unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductProperties {}
21195
21196#[repr(C)]
21198#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21199pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
21200 pub s_type: StructureType,
21201 pub next: *mut c_void,
21202 pub shader_integer_functions2: Bool32,
21203}
21204
21205impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
21206 #[inline]
21207 fn default() -> Self {
21208 Self {
21209 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
21210 next: ptr::null_mut(),
21211 shader_integer_functions2: Bool32::default(),
21212 }
21213 }
21214}
21215
21216unsafe impl Send for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
21217unsafe impl Sync for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
21218
21219#[repr(C)]
21221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21222pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
21223 pub s_type: StructureType,
21224 pub next: *mut c_void,
21225 pub shader_maximal_reconvergence: Bool32,
21226}
21227
21228impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
21229 #[inline]
21230 fn default() -> Self {
21231 Self {
21232 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
21233 next: ptr::null_mut(),
21234 shader_maximal_reconvergence: Bool32::default(),
21235 }
21236 }
21237}
21238
21239unsafe impl Send for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
21240unsafe impl Sync for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
21241
21242#[repr(C)]
21244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21245pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21246 pub s_type: StructureType,
21247 pub next: *mut c_void,
21248 pub shader_module_identifier: Bool32,
21249}
21250
21251impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21252 #[inline]
21253 fn default() -> Self {
21254 Self {
21255 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
21256 next: ptr::null_mut(),
21257 shader_module_identifier: Bool32::default(),
21258 }
21259 }
21260}
21261
21262unsafe impl Send for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
21263unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
21264
21265#[repr(C)]
21267#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21268pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21269 pub s_type: StructureType,
21270 pub next: *mut c_void,
21271 pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
21272}
21273
21274impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21275 #[inline]
21276 fn default() -> Self {
21277 Self {
21278 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
21279 next: ptr::null_mut(),
21280 shader_module_identifier_algorithm_uuid: ByteArray::default(),
21281 }
21282 }
21283}
21284
21285unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
21286unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
21287
21288#[repr(C)]
21290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21291pub struct PhysicalDeviceShaderObjectFeaturesEXT {
21292 pub s_type: StructureType,
21293 pub next: *mut c_void,
21294 pub shader_object: Bool32,
21295}
21296
21297impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
21298 #[inline]
21299 fn default() -> Self {
21300 Self {
21301 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
21302 next: ptr::null_mut(),
21303 shader_object: Bool32::default(),
21304 }
21305 }
21306}
21307
21308unsafe impl Send for PhysicalDeviceShaderObjectFeaturesEXT {}
21309unsafe impl Sync for PhysicalDeviceShaderObjectFeaturesEXT {}
21310
21311#[repr(C)]
21313#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21314pub struct PhysicalDeviceShaderObjectPropertiesEXT {
21315 pub s_type: StructureType,
21316 pub next: *mut c_void,
21317 pub shader_binary_uuid: ByteArray<UUID_SIZE>,
21318 pub shader_binary_version: u32,
21319}
21320
21321impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
21322 #[inline]
21323 fn default() -> Self {
21324 Self {
21325 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
21326 next: ptr::null_mut(),
21327 shader_binary_uuid: ByteArray::default(),
21328 shader_binary_version: u32::default(),
21329 }
21330 }
21331}
21332
21333unsafe impl Send for PhysicalDeviceShaderObjectPropertiesEXT {}
21334unsafe impl Sync for PhysicalDeviceShaderObjectPropertiesEXT {}
21335
21336#[repr(C)]
21338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21339pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
21340 pub s_type: StructureType,
21341 pub next: *mut c_void,
21342 pub shader_quad_control: Bool32,
21343}
21344
21345impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
21346 #[inline]
21347 fn default() -> Self {
21348 Self {
21349 s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
21350 next: ptr::null_mut(),
21351 shader_quad_control: Bool32::default(),
21352 }
21353 }
21354}
21355
21356unsafe impl Send for PhysicalDeviceShaderQuadControlFeaturesKHR {}
21357unsafe impl Sync for PhysicalDeviceShaderQuadControlFeaturesKHR {}
21358
21359#[repr(C)]
21361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21362pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
21363 pub s_type: StructureType,
21364 pub next: *mut c_void,
21365 pub shader_relaxed_extended_instruction: Bool32,
21366}
21367
21368impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
21369 #[inline]
21370 fn default() -> Self {
21371 Self {
21372 s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
21373 next: ptr::null_mut(),
21374 shader_relaxed_extended_instruction: Bool32::default(),
21375 }
21376 }
21377}
21378
21379unsafe impl Send for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
21380unsafe impl Sync for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
21381
21382#[repr(C)]
21384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21385pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
21386 pub s_type: StructureType,
21387 pub next: *mut c_void,
21388 pub shader_replicated_composites: Bool32,
21389}
21390
21391impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
21392 #[inline]
21393 fn default() -> Self {
21394 Self {
21395 s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
21396 next: ptr::null_mut(),
21397 shader_replicated_composites: Bool32::default(),
21398 }
21399 }
21400}
21401
21402unsafe impl Send for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
21403unsafe impl Sync for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
21404
21405#[repr(C)]
21407#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21408pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
21409 pub s_type: StructureType,
21410 pub next: *mut c_void,
21411 pub shader_sm_builtins: Bool32,
21412}
21413
21414impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
21415 #[inline]
21416 fn default() -> Self {
21417 Self {
21418 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
21419 next: ptr::null_mut(),
21420 shader_sm_builtins: Bool32::default(),
21421 }
21422 }
21423}
21424
21425unsafe impl Send for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
21426unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
21427
21428#[repr(C)]
21430#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21431pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
21432 pub s_type: StructureType,
21433 pub next: *mut c_void,
21434 pub shader_sm_count: u32,
21435 pub shader_warps_per_sm: u32,
21436}
21437
21438impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
21439 #[inline]
21440 fn default() -> Self {
21441 Self {
21442 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
21443 next: ptr::null_mut(),
21444 shader_sm_count: u32::default(),
21445 shader_warps_per_sm: u32::default(),
21446 }
21447 }
21448}
21449
21450unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
21451unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
21452
21453#[repr(C)]
21455#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21456pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
21457 pub s_type: StructureType,
21458 pub next: *mut c_void,
21459 pub shader_subgroup_extended_types: Bool32,
21460}
21461
21462impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
21463 #[inline]
21464 fn default() -> Self {
21465 Self {
21466 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
21467 next: ptr::null_mut(),
21468 shader_subgroup_extended_types: Bool32::default(),
21469 }
21470 }
21471}
21472
21473unsafe impl Send for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
21474unsafe impl Sync for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
21475
21476#[repr(C)]
21478#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21479pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
21480 pub s_type: StructureType,
21481 pub next: *mut c_void,
21482 pub shader_subgroup_rotate: Bool32,
21483 pub shader_subgroup_rotate_clustered: Bool32,
21484}
21485
21486impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
21487 #[inline]
21488 fn default() -> Self {
21489 Self {
21490 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
21491 next: ptr::null_mut(),
21492 shader_subgroup_rotate: Bool32::default(),
21493 shader_subgroup_rotate_clustered: Bool32::default(),
21494 }
21495 }
21496}
21497
21498unsafe impl Send for PhysicalDeviceShaderSubgroupRotateFeatures {}
21499unsafe impl Sync for PhysicalDeviceShaderSubgroupRotateFeatures {}
21500
21501#[repr(C)]
21503#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21504pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21505 pub s_type: StructureType,
21506 pub next: *mut c_void,
21507 pub shader_subgroup_uniform_control_flow: Bool32,
21508}
21509
21510impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21511 #[inline]
21512 fn default() -> Self {
21513 Self {
21514 s_type:
21515 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
21516 next: ptr::null_mut(),
21517 shader_subgroup_uniform_control_flow: Bool32::default(),
21518 }
21519 }
21520}
21521
21522unsafe impl Send for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21523unsafe impl Sync for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21524
21525#[repr(C)]
21527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21528pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
21529 pub s_type: StructureType,
21530 pub next: *mut c_void,
21531 pub shader_terminate_invocation: Bool32,
21532}
21533
21534impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
21535 #[inline]
21536 fn default() -> Self {
21537 Self {
21538 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
21539 next: ptr::null_mut(),
21540 shader_terminate_invocation: Bool32::default(),
21541 }
21542 }
21543}
21544
21545unsafe impl Send for PhysicalDeviceShaderTerminateInvocationFeatures {}
21546unsafe impl Sync for PhysicalDeviceShaderTerminateInvocationFeatures {}
21547
21548#[repr(C)]
21550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21551pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
21552 pub s_type: StructureType,
21553 pub next: *mut c_void,
21554 pub shader_tile_image_color_read_access: Bool32,
21555 pub shader_tile_image_depth_read_access: Bool32,
21556 pub shader_tile_image_stencil_read_access: Bool32,
21557}
21558
21559impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
21560 #[inline]
21561 fn default() -> Self {
21562 Self {
21563 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
21564 next: ptr::null_mut(),
21565 shader_tile_image_color_read_access: Bool32::default(),
21566 shader_tile_image_depth_read_access: Bool32::default(),
21567 shader_tile_image_stencil_read_access: Bool32::default(),
21568 }
21569 }
21570}
21571
21572unsafe impl Send for PhysicalDeviceShaderTileImageFeaturesEXT {}
21573unsafe impl Sync for PhysicalDeviceShaderTileImageFeaturesEXT {}
21574
21575#[repr(C)]
21577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21578pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
21579 pub s_type: StructureType,
21580 pub next: *mut c_void,
21581 pub shader_tile_image_coherent_read_accelerated: Bool32,
21582 pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
21583 pub shader_tile_image_read_from_helper_invocation: Bool32,
21584}
21585
21586impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
21587 #[inline]
21588 fn default() -> Self {
21589 Self {
21590 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
21591 next: ptr::null_mut(),
21592 shader_tile_image_coherent_read_accelerated: Bool32::default(),
21593 shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
21594 shader_tile_image_read_from_helper_invocation: Bool32::default(),
21595 }
21596 }
21597}
21598
21599unsafe impl Send for PhysicalDeviceShaderTileImagePropertiesEXT {}
21600unsafe impl Sync for PhysicalDeviceShaderTileImagePropertiesEXT {}
21601
21602#[repr(C)]
21604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21605pub struct PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
21606 pub s_type: StructureType,
21607 pub next: *mut c_void,
21608 pub shader_uniform_buffer_unsized_array: Bool32,
21609}
21610
21611impl Default for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
21612 #[inline]
21613 fn default() -> Self {
21614 Self {
21615 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT,
21616 next: ptr::null_mut(),
21617 shader_uniform_buffer_unsized_array: Bool32::default(),
21618 }
21619 }
21620}
21621
21622unsafe impl Send for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
21623unsafe impl Sync for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
21624
21625#[repr(C)]
21627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21628pub struct PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21629 pub s_type: StructureType,
21630 pub next: *mut c_void,
21631 pub shader_untyped_pointers: Bool32,
21632}
21633
21634impl Default for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21635 #[inline]
21636 fn default() -> Self {
21637 Self {
21638 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
21639 next: ptr::null_mut(),
21640 shader_untyped_pointers: Bool32::default(),
21641 }
21642 }
21643}
21644
21645unsafe impl Send for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21646unsafe impl Sync for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21647
21648#[repr(C)]
21650#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21651pub struct PhysicalDeviceShadingRateImageFeaturesNV {
21652 pub s_type: StructureType,
21653 pub next: *mut c_void,
21654 pub shading_rate_image: Bool32,
21655 pub shading_rate_coarse_sample_order: Bool32,
21656}
21657
21658impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
21659 #[inline]
21660 fn default() -> Self {
21661 Self {
21662 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
21663 next: ptr::null_mut(),
21664 shading_rate_image: Bool32::default(),
21665 shading_rate_coarse_sample_order: Bool32::default(),
21666 }
21667 }
21668}
21669
21670unsafe impl Send for PhysicalDeviceShadingRateImageFeaturesNV {}
21671unsafe impl Sync for PhysicalDeviceShadingRateImageFeaturesNV {}
21672
21673#[repr(C)]
21675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21676pub struct PhysicalDeviceShadingRateImagePropertiesNV {
21677 pub s_type: StructureType,
21678 pub next: *mut c_void,
21679 pub shading_rate_texel_size: Extent2D,
21680 pub shading_rate_palette_size: u32,
21681 pub shading_rate_max_coarse_samples: u32,
21682}
21683
21684impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
21685 #[inline]
21686 fn default() -> Self {
21687 Self {
21688 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
21689 next: ptr::null_mut(),
21690 shading_rate_texel_size: Extent2D::default(),
21691 shading_rate_palette_size: u32::default(),
21692 shading_rate_max_coarse_samples: u32::default(),
21693 }
21694 }
21695}
21696
21697unsafe impl Send for PhysicalDeviceShadingRateImagePropertiesNV {}
21698unsafe impl Sync for PhysicalDeviceShadingRateImagePropertiesNV {}
21699
21700#[repr(C)]
21702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21703pub struct PhysicalDeviceSparseImageFormatInfo2 {
21704 pub s_type: StructureType,
21705 pub next: *const c_void,
21706 pub format: Format,
21707 pub type_: ImageType,
21708 pub samples: SampleCountFlags,
21709 pub usage: ImageUsageFlags,
21710 pub tiling: ImageTiling,
21711}
21712
21713impl Default for PhysicalDeviceSparseImageFormatInfo2 {
21714 #[inline]
21715 fn default() -> Self {
21716 Self {
21717 s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
21718 next: ptr::null(),
21719 format: Format::default(),
21720 type_: ImageType::default(),
21721 samples: SampleCountFlags::default(),
21722 usage: ImageUsageFlags::default(),
21723 tiling: ImageTiling::default(),
21724 }
21725 }
21726}
21727
21728unsafe impl Send for PhysicalDeviceSparseImageFormatInfo2 {}
21729unsafe impl Sync for PhysicalDeviceSparseImageFormatInfo2 {}
21730
21731#[repr(C)]
21733#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
21734pub struct PhysicalDeviceSparseProperties {
21735 pub residency_standard_2d_block_shape: Bool32,
21736 pub residency_standard_2d_multisample_block_shape: Bool32,
21737 pub residency_standard_3d_block_shape: Bool32,
21738 pub residency_aligned_mip_size: Bool32,
21739 pub residency_non_resident_strict: Bool32,
21740}
21741
21742#[repr(C)]
21744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21745pub struct PhysicalDeviceSubgroupProperties {
21746 pub s_type: StructureType,
21747 pub next: *mut c_void,
21748 pub subgroup_size: u32,
21749 pub supported_stages: ShaderStageFlags,
21750 pub supported_operations: SubgroupFeatureFlags,
21751 pub quad_operations_in_all_stages: Bool32,
21752}
21753
21754impl Default for PhysicalDeviceSubgroupProperties {
21755 #[inline]
21756 fn default() -> Self {
21757 Self {
21758 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
21759 next: ptr::null_mut(),
21760 subgroup_size: u32::default(),
21761 supported_stages: ShaderStageFlags::default(),
21762 supported_operations: SubgroupFeatureFlags::default(),
21763 quad_operations_in_all_stages: Bool32::default(),
21764 }
21765 }
21766}
21767
21768unsafe impl Send for PhysicalDeviceSubgroupProperties {}
21769unsafe impl Sync for PhysicalDeviceSubgroupProperties {}
21770
21771#[repr(C)]
21773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21774pub struct PhysicalDeviceSubgroupSizeControlFeatures {
21775 pub s_type: StructureType,
21776 pub next: *mut c_void,
21777 pub subgroup_size_control: Bool32,
21778 pub compute_full_subgroups: Bool32,
21779}
21780
21781impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
21782 #[inline]
21783 fn default() -> Self {
21784 Self {
21785 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
21786 next: ptr::null_mut(),
21787 subgroup_size_control: Bool32::default(),
21788 compute_full_subgroups: Bool32::default(),
21789 }
21790 }
21791}
21792
21793unsafe impl Send for PhysicalDeviceSubgroupSizeControlFeatures {}
21794unsafe impl Sync for PhysicalDeviceSubgroupSizeControlFeatures {}
21795
21796#[repr(C)]
21798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21799pub struct PhysicalDeviceSubgroupSizeControlProperties {
21800 pub s_type: StructureType,
21801 pub next: *mut c_void,
21802 pub min_subgroup_size: u32,
21803 pub max_subgroup_size: u32,
21804 pub max_compute_workgroup_subgroups: u32,
21805 pub required_subgroup_size_stages: ShaderStageFlags,
21806}
21807
21808impl Default for PhysicalDeviceSubgroupSizeControlProperties {
21809 #[inline]
21810 fn default() -> Self {
21811 Self {
21812 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
21813 next: ptr::null_mut(),
21814 min_subgroup_size: u32::default(),
21815 max_subgroup_size: u32::default(),
21816 max_compute_workgroup_subgroups: u32::default(),
21817 required_subgroup_size_stages: ShaderStageFlags::default(),
21818 }
21819 }
21820}
21821
21822unsafe impl Send for PhysicalDeviceSubgroupSizeControlProperties {}
21823unsafe impl Sync for PhysicalDeviceSubgroupSizeControlProperties {}
21824
21825#[repr(C)]
21827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21828pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
21829 pub s_type: StructureType,
21830 pub next: *mut c_void,
21831 pub subpass_merge_feedback: Bool32,
21832}
21833
21834impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
21835 #[inline]
21836 fn default() -> Self {
21837 Self {
21838 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
21839 next: ptr::null_mut(),
21840 subpass_merge_feedback: Bool32::default(),
21841 }
21842 }
21843}
21844
21845unsafe impl Send for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
21846unsafe impl Sync for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
21847
21848#[repr(C)]
21850#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21851pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
21852 pub s_type: StructureType,
21853 pub next: *mut c_void,
21854 pub subpass_shading: Bool32,
21855}
21856
21857impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
21858 #[inline]
21859 fn default() -> Self {
21860 Self {
21861 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
21862 next: ptr::null_mut(),
21863 subpass_shading: Bool32::default(),
21864 }
21865 }
21866}
21867
21868unsafe impl Send for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
21869unsafe impl Sync for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
21870
21871#[repr(C)]
21873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21874pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
21875 pub s_type: StructureType,
21876 pub next: *mut c_void,
21877 pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
21878}
21879
21880impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
21881 #[inline]
21882 fn default() -> Self {
21883 Self {
21884 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
21885 next: ptr::null_mut(),
21886 max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
21887 }
21888 }
21889}
21890
21891unsafe impl Send for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
21892unsafe impl Sync for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
21893
21894#[repr(C)]
21896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21897pub struct PhysicalDeviceSurfaceInfo2KHR {
21898 pub s_type: StructureType,
21899 pub next: *const c_void,
21900 pub surface: SurfaceKHR,
21901}
21902
21903impl Default for PhysicalDeviceSurfaceInfo2KHR {
21904 #[inline]
21905 fn default() -> Self {
21906 Self {
21907 s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
21908 next: ptr::null(),
21909 surface: SurfaceKHR::default(),
21910 }
21911 }
21912}
21913
21914unsafe impl Send for PhysicalDeviceSurfaceInfo2KHR {}
21915unsafe impl Sync for PhysicalDeviceSurfaceInfo2KHR {}
21916
21917#[repr(C)]
21919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21920pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
21921 pub s_type: StructureType,
21922 pub next: *mut c_void,
21923 pub swapchain_maintenance1: Bool32,
21924}
21925
21926impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
21927 #[inline]
21928 fn default() -> Self {
21929 Self {
21930 s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
21931 next: ptr::null_mut(),
21932 swapchain_maintenance1: Bool32::default(),
21933 }
21934 }
21935}
21936
21937unsafe impl Send for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
21938unsafe impl Sync for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
21939
21940#[repr(C)]
21942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21943pub struct PhysicalDeviceSynchronization2Features {
21944 pub s_type: StructureType,
21945 pub next: *mut c_void,
21946 pub synchronization2: Bool32,
21947}
21948
21949impl Default for PhysicalDeviceSynchronization2Features {
21950 #[inline]
21951 fn default() -> Self {
21952 Self {
21953 s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
21954 next: ptr::null_mut(),
21955 synchronization2: Bool32::default(),
21956 }
21957 }
21958}
21959
21960unsafe impl Send for PhysicalDeviceSynchronization2Features {}
21961unsafe impl Sync for PhysicalDeviceSynchronization2Features {}
21962
21963#[repr(C)]
21965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21966pub struct PhysicalDeviceTensorFeaturesARM {
21967 pub s_type: StructureType,
21968 pub next: *mut c_void,
21969 pub tensor_non_packed: Bool32,
21970 pub shader_tensor_access: Bool32,
21971 pub shader_storage_tensor_array_dynamic_indexing: Bool32,
21972 pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
21973 pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
21974 pub tensors: Bool32,
21975}
21976
21977impl Default for PhysicalDeviceTensorFeaturesARM {
21978 #[inline]
21979 fn default() -> Self {
21980 Self {
21981 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
21982 next: ptr::null_mut(),
21983 tensor_non_packed: Bool32::default(),
21984 shader_tensor_access: Bool32::default(),
21985 shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
21986 shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
21987 descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
21988 tensors: Bool32::default(),
21989 }
21990 }
21991}
21992
21993unsafe impl Send for PhysicalDeviceTensorFeaturesARM {}
21994unsafe impl Sync for PhysicalDeviceTensorFeaturesARM {}
21995
21996#[repr(C)]
21998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21999pub struct PhysicalDeviceTensorPropertiesARM {
22000 pub s_type: StructureType,
22001 pub next: *mut c_void,
22002 pub max_tensor_dimension_count: u32,
22003 pub max_tensor_elements: u64,
22004 pub max_per_dimension_tensor_elements: u64,
22005 pub max_tensor_stride: i64,
22006 pub max_tensor_size: u64,
22007 pub max_tensor_shader_access_array_length: u32,
22008 pub max_tensor_shader_access_size: u32,
22009 pub max_descriptor_set_storage_tensors: u32,
22010 pub max_per_stage_descriptor_set_storage_tensors: u32,
22011 pub max_descriptor_set_update_after_bind_storage_tensors: u32,
22012 pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
22013 pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
22014 pub shader_tensor_supported_stages: ShaderStageFlags,
22015}
22016
22017impl Default for PhysicalDeviceTensorPropertiesARM {
22018 #[inline]
22019 fn default() -> Self {
22020 Self {
22021 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
22022 next: ptr::null_mut(),
22023 max_tensor_dimension_count: u32::default(),
22024 max_tensor_elements: u64::default(),
22025 max_per_dimension_tensor_elements: u64::default(),
22026 max_tensor_stride: i64::default(),
22027 max_tensor_size: u64::default(),
22028 max_tensor_shader_access_array_length: u32::default(),
22029 max_tensor_shader_access_size: u32::default(),
22030 max_descriptor_set_storage_tensors: u32::default(),
22031 max_per_stage_descriptor_set_storage_tensors: u32::default(),
22032 max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
22033 max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
22034 shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
22035 shader_tensor_supported_stages: ShaderStageFlags::default(),
22036 }
22037 }
22038}
22039
22040unsafe impl Send for PhysicalDeviceTensorPropertiesARM {}
22041unsafe impl Sync for PhysicalDeviceTensorPropertiesARM {}
22042
22043#[repr(C)]
22045#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22046pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22047 pub s_type: StructureType,
22048 pub next: *mut c_void,
22049 pub texel_buffer_alignment: Bool32,
22050}
22051
22052impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22053 #[inline]
22054 fn default() -> Self {
22055 Self {
22056 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
22057 next: ptr::null_mut(),
22058 texel_buffer_alignment: Bool32::default(),
22059 }
22060 }
22061}
22062
22063unsafe impl Send for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22064unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22065
22066#[repr(C)]
22068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22069pub struct PhysicalDeviceTexelBufferAlignmentProperties {
22070 pub s_type: StructureType,
22071 pub next: *mut c_void,
22072 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
22073 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
22074 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
22075 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
22076}
22077
22078impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
22079 #[inline]
22080 fn default() -> Self {
22081 Self {
22082 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
22083 next: ptr::null_mut(),
22084 storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
22085 storage_texel_buffer_offset_single_texel_alignment: Bool32::default(),
22086 uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
22087 uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(),
22088 }
22089 }
22090}
22091
22092unsafe impl Send for PhysicalDeviceTexelBufferAlignmentProperties {}
22093unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentProperties {}
22094
22095#[repr(C)]
22097#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22098pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
22099 pub s_type: StructureType,
22100 pub next: *mut c_void,
22101 pub texture_compression_astc_hdr: Bool32,
22102}
22103
22104impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
22105 #[inline]
22106 fn default() -> Self {
22107 Self {
22108 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
22109 next: ptr::null_mut(),
22110 texture_compression_astc_hdr: Bool32::default(),
22111 }
22112 }
22113}
22114
22115unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
22116unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
22117
22118#[repr(C)]
22120#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22121pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
22122 pub s_type: StructureType,
22123 pub next: *mut c_void,
22124 pub tile_memory_heap: Bool32,
22125}
22126
22127impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
22128 #[inline]
22129 fn default() -> Self {
22130 Self {
22131 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
22132 next: ptr::null_mut(),
22133 tile_memory_heap: Bool32::default(),
22134 }
22135 }
22136}
22137
22138unsafe impl Send for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
22139unsafe impl Sync for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
22140
22141#[repr(C)]
22143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22144pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
22145 pub s_type: StructureType,
22146 pub next: *mut c_void,
22147 pub queue_submit_boundary: Bool32,
22148 pub tile_buffer_transfers: Bool32,
22149}
22150
22151impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
22152 #[inline]
22153 fn default() -> Self {
22154 Self {
22155 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
22156 next: ptr::null_mut(),
22157 queue_submit_boundary: Bool32::default(),
22158 tile_buffer_transfers: Bool32::default(),
22159 }
22160 }
22161}
22162
22163unsafe impl Send for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
22164unsafe impl Sync for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
22165
22166#[repr(C)]
22168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22169pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
22170 pub s_type: StructureType,
22171 pub next: *mut c_void,
22172 pub tile_properties: Bool32,
22173}
22174
22175impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
22176 #[inline]
22177 fn default() -> Self {
22178 Self {
22179 s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
22180 next: ptr::null_mut(),
22181 tile_properties: Bool32::default(),
22182 }
22183 }
22184}
22185
22186unsafe impl Send for PhysicalDeviceTilePropertiesFeaturesQCOM {}
22187unsafe impl Sync for PhysicalDeviceTilePropertiesFeaturesQCOM {}
22188
22189#[repr(C)]
22191#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22192pub struct PhysicalDeviceTileShadingFeaturesQCOM {
22193 pub s_type: StructureType,
22194 pub next: *mut c_void,
22195 pub tile_shading: Bool32,
22196 pub tile_shading_fragment_stage: Bool32,
22197 pub tile_shading_color_attachments: Bool32,
22198 pub tile_shading_depth_attachments: Bool32,
22199 pub tile_shading_stencil_attachments: Bool32,
22200 pub tile_shading_input_attachments: Bool32,
22201 pub tile_shading_sampled_attachments: Bool32,
22202 pub tile_shading_per_tile_draw: Bool32,
22203 pub tile_shading_per_tile_dispatch: Bool32,
22204 pub tile_shading_dispatch_tile: Bool32,
22205 pub tile_shading_apron: Bool32,
22206 pub tile_shading_anisotropic_apron: Bool32,
22207 pub tile_shading_atomic_ops: Bool32,
22208 pub tile_shading_image_processing: Bool32,
22209}
22210
22211impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
22212 #[inline]
22213 fn default() -> Self {
22214 Self {
22215 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
22216 next: ptr::null_mut(),
22217 tile_shading: Bool32::default(),
22218 tile_shading_fragment_stage: Bool32::default(),
22219 tile_shading_color_attachments: Bool32::default(),
22220 tile_shading_depth_attachments: Bool32::default(),
22221 tile_shading_stencil_attachments: Bool32::default(),
22222 tile_shading_input_attachments: Bool32::default(),
22223 tile_shading_sampled_attachments: Bool32::default(),
22224 tile_shading_per_tile_draw: Bool32::default(),
22225 tile_shading_per_tile_dispatch: Bool32::default(),
22226 tile_shading_dispatch_tile: Bool32::default(),
22227 tile_shading_apron: Bool32::default(),
22228 tile_shading_anisotropic_apron: Bool32::default(),
22229 tile_shading_atomic_ops: Bool32::default(),
22230 tile_shading_image_processing: Bool32::default(),
22231 }
22232 }
22233}
22234
22235unsafe impl Send for PhysicalDeviceTileShadingFeaturesQCOM {}
22236unsafe impl Sync for PhysicalDeviceTileShadingFeaturesQCOM {}
22237
22238#[repr(C)]
22240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22241pub struct PhysicalDeviceTileShadingPropertiesQCOM {
22242 pub s_type: StructureType,
22243 pub next: *mut c_void,
22244 pub max_apron_size: u32,
22245 pub prefer_non_coherent: Bool32,
22246 pub tile_granularity: Extent2D,
22247 pub max_tile_shading_rate: Extent2D,
22248}
22249
22250impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
22251 #[inline]
22252 fn default() -> Self {
22253 Self {
22254 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
22255 next: ptr::null_mut(),
22256 max_apron_size: u32::default(),
22257 prefer_non_coherent: Bool32::default(),
22258 tile_granularity: Extent2D::default(),
22259 max_tile_shading_rate: Extent2D::default(),
22260 }
22261 }
22262}
22263
22264unsafe impl Send for PhysicalDeviceTileShadingPropertiesQCOM {}
22265unsafe impl Sync for PhysicalDeviceTileShadingPropertiesQCOM {}
22266
22267#[repr(C)]
22269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22270pub struct PhysicalDeviceTimelineSemaphoreFeatures {
22271 pub s_type: StructureType,
22272 pub next: *mut c_void,
22273 pub timeline_semaphore: Bool32,
22274}
22275
22276impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
22277 #[inline]
22278 fn default() -> Self {
22279 Self {
22280 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
22281 next: ptr::null_mut(),
22282 timeline_semaphore: Bool32::default(),
22283 }
22284 }
22285}
22286
22287unsafe impl Send for PhysicalDeviceTimelineSemaphoreFeatures {}
22288unsafe impl Sync for PhysicalDeviceTimelineSemaphoreFeatures {}
22289
22290#[repr(C)]
22292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22293pub struct PhysicalDeviceTimelineSemaphoreProperties {
22294 pub s_type: StructureType,
22295 pub next: *mut c_void,
22296 pub max_timeline_semaphore_value_difference: u64,
22297}
22298
22299impl Default for PhysicalDeviceTimelineSemaphoreProperties {
22300 #[inline]
22301 fn default() -> Self {
22302 Self {
22303 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
22304 next: ptr::null_mut(),
22305 max_timeline_semaphore_value_difference: u64::default(),
22306 }
22307 }
22308}
22309
22310unsafe impl Send for PhysicalDeviceTimelineSemaphoreProperties {}
22311unsafe impl Sync for PhysicalDeviceTimelineSemaphoreProperties {}
22312
22313#[repr(C)]
22315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22316pub struct PhysicalDeviceToolProperties {
22317 pub s_type: StructureType,
22318 pub next: *mut c_void,
22319 pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
22320 pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
22321 pub purposes: ToolPurposeFlags,
22322 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
22323 pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
22324}
22325
22326impl Default for PhysicalDeviceToolProperties {
22327 #[inline]
22328 fn default() -> Self {
22329 Self {
22330 s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
22331 next: ptr::null_mut(),
22332 name: StringArray::default(),
22333 version: StringArray::default(),
22334 purposes: ToolPurposeFlags::default(),
22335 description: StringArray::default(),
22336 layer: StringArray::default(),
22337 }
22338 }
22339}
22340
22341unsafe impl Send for PhysicalDeviceToolProperties {}
22342unsafe impl Sync for PhysicalDeviceToolProperties {}
22343
22344#[repr(C)]
22346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22347pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
22348 pub s_type: StructureType,
22349 pub next: *mut c_void,
22350 pub transform_feedback: Bool32,
22351 pub geometry_streams: Bool32,
22352}
22353
22354impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
22355 #[inline]
22356 fn default() -> Self {
22357 Self {
22358 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
22359 next: ptr::null_mut(),
22360 transform_feedback: Bool32::default(),
22361 geometry_streams: Bool32::default(),
22362 }
22363 }
22364}
22365
22366unsafe impl Send for PhysicalDeviceTransformFeedbackFeaturesEXT {}
22367unsafe impl Sync for PhysicalDeviceTransformFeedbackFeaturesEXT {}
22368
22369#[repr(C)]
22371#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22372pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
22373 pub s_type: StructureType,
22374 pub next: *mut c_void,
22375 pub max_transform_feedback_streams: u32,
22376 pub max_transform_feedback_buffers: u32,
22377 pub max_transform_feedback_buffer_size: DeviceSize,
22378 pub max_transform_feedback_stream_data_size: u32,
22379 pub max_transform_feedback_buffer_data_size: u32,
22380 pub max_transform_feedback_buffer_data_stride: u32,
22381 pub transform_feedback_queries: Bool32,
22382 pub transform_feedback_streams_lines_triangles: Bool32,
22383 pub transform_feedback_rasterization_stream_select: Bool32,
22384 pub transform_feedback_draw: Bool32,
22385}
22386
22387impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
22388 #[inline]
22389 fn default() -> Self {
22390 Self {
22391 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
22392 next: ptr::null_mut(),
22393 max_transform_feedback_streams: u32::default(),
22394 max_transform_feedback_buffers: u32::default(),
22395 max_transform_feedback_buffer_size: DeviceSize::default(),
22396 max_transform_feedback_stream_data_size: u32::default(),
22397 max_transform_feedback_buffer_data_size: u32::default(),
22398 max_transform_feedback_buffer_data_stride: u32::default(),
22399 transform_feedback_queries: Bool32::default(),
22400 transform_feedback_streams_lines_triangles: Bool32::default(),
22401 transform_feedback_rasterization_stream_select: Bool32::default(),
22402 transform_feedback_draw: Bool32::default(),
22403 }
22404 }
22405}
22406
22407unsafe impl Send for PhysicalDeviceTransformFeedbackPropertiesEXT {}
22408unsafe impl Sync for PhysicalDeviceTransformFeedbackPropertiesEXT {}
22409
22410#[repr(C)]
22412#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22413pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
22414 pub s_type: StructureType,
22415 pub next: *mut c_void,
22416 pub unified_image_layouts: Bool32,
22417 pub unified_image_layouts_video: Bool32,
22418}
22419
22420impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
22421 #[inline]
22422 fn default() -> Self {
22423 Self {
22424 s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
22425 next: ptr::null_mut(),
22426 unified_image_layouts: Bool32::default(),
22427 unified_image_layouts_video: Bool32::default(),
22428 }
22429 }
22430}
22431
22432unsafe impl Send for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
22433unsafe impl Sync for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
22434
22435#[repr(C)]
22437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22438pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
22439 pub s_type: StructureType,
22440 pub next: *mut c_void,
22441 pub uniform_buffer_standard_layout: Bool32,
22442}
22443
22444impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
22445 #[inline]
22446 fn default() -> Self {
22447 Self {
22448 s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
22449 next: ptr::null_mut(),
22450 uniform_buffer_standard_layout: Bool32::default(),
22451 }
22452 }
22453}
22454
22455unsafe impl Send for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
22456unsafe impl Sync for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
22457
22458#[repr(C)]
22460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22461pub struct PhysicalDeviceVariablePointersFeatures {
22462 pub s_type: StructureType,
22463 pub next: *mut c_void,
22464 pub variable_pointers_storage_buffer: Bool32,
22465 pub variable_pointers: Bool32,
22466}
22467
22468impl Default for PhysicalDeviceVariablePointersFeatures {
22469 #[inline]
22470 fn default() -> Self {
22471 Self {
22472 s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
22473 next: ptr::null_mut(),
22474 variable_pointers_storage_buffer: Bool32::default(),
22475 variable_pointers: Bool32::default(),
22476 }
22477 }
22478}
22479
22480unsafe impl Send for PhysicalDeviceVariablePointersFeatures {}
22481unsafe impl Sync for PhysicalDeviceVariablePointersFeatures {}
22482
22483#[repr(C)]
22485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22486pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
22487 pub s_type: StructureType,
22488 pub next: *mut c_void,
22489 pub vertex_attribute_instance_rate_divisor: Bool32,
22490 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
22491}
22492
22493impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
22494 #[inline]
22495 fn default() -> Self {
22496 Self {
22497 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
22498 next: ptr::null_mut(),
22499 vertex_attribute_instance_rate_divisor: Bool32::default(),
22500 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
22501 }
22502 }
22503}
22504
22505unsafe impl Send for PhysicalDeviceVertexAttributeDivisorFeatures {}
22506unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorFeatures {}
22507
22508#[repr(C)]
22510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22511pub struct PhysicalDeviceVertexAttributeDivisorProperties {
22512 pub s_type: StructureType,
22513 pub next: *mut c_void,
22514 pub max_vertex_attrib_divisor: u32,
22515 pub supports_non_zero_first_instance: Bool32,
22516}
22517
22518impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
22519 #[inline]
22520 fn default() -> Self {
22521 Self {
22522 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
22523 next: ptr::null_mut(),
22524 max_vertex_attrib_divisor: u32::default(),
22525 supports_non_zero_first_instance: Bool32::default(),
22526 }
22527 }
22528}
22529
22530unsafe impl Send for PhysicalDeviceVertexAttributeDivisorProperties {}
22531unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorProperties {}
22532
22533#[repr(C)]
22535#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22536pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22537 pub s_type: StructureType,
22538 pub next: *mut c_void,
22539 pub max_vertex_attrib_divisor: u32,
22540}
22541
22542impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22543 #[inline]
22544 fn default() -> Self {
22545 Self {
22546 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
22547 next: ptr::null_mut(),
22548 max_vertex_attrib_divisor: u32::default(),
22549 }
22550 }
22551}
22552
22553unsafe impl Send for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22554unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22555
22556#[repr(C)]
22558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22559pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22560 pub s_type: StructureType,
22561 pub next: *mut c_void,
22562 pub vertex_attribute_robustness: Bool32,
22563}
22564
22565impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22566 #[inline]
22567 fn default() -> Self {
22568 Self {
22569 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
22570 next: ptr::null_mut(),
22571 vertex_attribute_robustness: Bool32::default(),
22572 }
22573 }
22574}
22575
22576unsafe impl Send for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22577unsafe impl Sync for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22578
22579#[repr(C)]
22581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22582pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22583 pub s_type: StructureType,
22584 pub next: *mut c_void,
22585 pub vertex_input_dynamic_state: Bool32,
22586}
22587
22588impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22589 #[inline]
22590 fn default() -> Self {
22591 Self {
22592 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
22593 next: ptr::null_mut(),
22594 vertex_input_dynamic_state: Bool32::default(),
22595 }
22596 }
22597}
22598
22599unsafe impl Send for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22600unsafe impl Sync for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22601
22602#[repr(C)]
22604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22605pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22606 pub s_type: StructureType,
22607 pub next: *mut c_void,
22608 pub video_decode_vp9: Bool32,
22609}
22610
22611impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22612 #[inline]
22613 fn default() -> Self {
22614 Self {
22615 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
22616 next: ptr::null_mut(),
22617 video_decode_vp9: Bool32::default(),
22618 }
22619 }
22620}
22621
22622unsafe impl Send for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22623unsafe impl Sync for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22624
22625#[repr(C)]
22627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22628pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22629 pub s_type: StructureType,
22630 pub next: *mut c_void,
22631 pub video_encode_av1: Bool32,
22632}
22633
22634impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22635 #[inline]
22636 fn default() -> Self {
22637 Self {
22638 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
22639 next: ptr::null_mut(),
22640 video_encode_av1: Bool32::default(),
22641 }
22642 }
22643}
22644
22645unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22646unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22647
22648#[repr(C)]
22650#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22651pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22652 pub s_type: StructureType,
22653 pub next: *mut c_void,
22654 pub video_encode_intra_refresh: Bool32,
22655}
22656
22657impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22658 #[inline]
22659 fn default() -> Self {
22660 Self {
22661 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
22662 next: ptr::null_mut(),
22663 video_encode_intra_refresh: Bool32::default(),
22664 }
22665 }
22666}
22667
22668unsafe impl Send for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22669unsafe impl Sync for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22670
22671#[repr(C)]
22673#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22674pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22675 pub s_type: StructureType,
22676 pub next: *const c_void,
22677 pub video_profile: *const VideoProfileInfoKHR,
22678 pub quality_level: u32,
22679}
22680
22681impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22682 #[inline]
22683 fn default() -> Self {
22684 Self {
22685 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
22686 next: ptr::null(),
22687 video_profile: ptr::null(),
22688 quality_level: u32::default(),
22689 }
22690 }
22691}
22692
22693unsafe impl Send for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
22694unsafe impl Sync for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
22695
22696#[repr(C)]
22698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22699pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
22700 pub s_type: StructureType,
22701 pub next: *mut c_void,
22702 pub video_encode_quantization_map: Bool32,
22703}
22704
22705impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
22706 #[inline]
22707 fn default() -> Self {
22708 Self {
22709 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
22710 next: ptr::null_mut(),
22711 video_encode_quantization_map: Bool32::default(),
22712 }
22713 }
22714}
22715
22716unsafe impl Send for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
22717unsafe impl Sync for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
22718
22719#[repr(C)]
22721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22722pub struct PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
22723 pub s_type: StructureType,
22724 pub next: *mut c_void,
22725 pub video_encode_rgb_conversion: Bool32,
22726}
22727
22728impl Default for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
22729 #[inline]
22730 fn default() -> Self {
22731 Self {
22732 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
22733 next: ptr::null_mut(),
22734 video_encode_rgb_conversion: Bool32::default(),
22735 }
22736 }
22737}
22738
22739unsafe impl Send for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
22740unsafe impl Sync for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
22741
22742#[repr(C)]
22744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22745pub struct PhysicalDeviceVideoFormatInfoKHR {
22746 pub s_type: StructureType,
22747 pub next: *const c_void,
22748 pub image_usage: ImageUsageFlags,
22749}
22750
22751impl Default for PhysicalDeviceVideoFormatInfoKHR {
22752 #[inline]
22753 fn default() -> Self {
22754 Self {
22755 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
22756 next: ptr::null(),
22757 image_usage: ImageUsageFlags::default(),
22758 }
22759 }
22760}
22761
22762unsafe impl Send for PhysicalDeviceVideoFormatInfoKHR {}
22763unsafe impl Sync for PhysicalDeviceVideoFormatInfoKHR {}
22764
22765#[repr(C)]
22767#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22768pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
22769 pub s_type: StructureType,
22770 pub next: *mut c_void,
22771 pub video_maintenance1: Bool32,
22772}
22773
22774impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
22775 #[inline]
22776 fn default() -> Self {
22777 Self {
22778 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
22779 next: ptr::null_mut(),
22780 video_maintenance1: Bool32::default(),
22781 }
22782 }
22783}
22784
22785unsafe impl Send for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
22786unsafe impl Sync for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
22787
22788#[repr(C)]
22790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22791pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
22792 pub s_type: StructureType,
22793 pub next: *mut c_void,
22794 pub video_maintenance2: Bool32,
22795}
22796
22797impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
22798 #[inline]
22799 fn default() -> Self {
22800 Self {
22801 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
22802 next: ptr::null_mut(),
22803 video_maintenance2: Bool32::default(),
22804 }
22805 }
22806}
22807
22808unsafe impl Send for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
22809unsafe impl Sync for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
22810
22811#[repr(C)]
22813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22814pub struct PhysicalDeviceVulkan11Features {
22815 pub s_type: StructureType,
22816 pub next: *mut c_void,
22817 pub storage_buffer_16bit_access: Bool32,
22818 pub uniform_and_storage_buffer_16bit_access: Bool32,
22819 pub storage_push_constant16: Bool32,
22820 pub storage_input_output16: Bool32,
22821 pub multiview: Bool32,
22822 pub multiview_geometry_shader: Bool32,
22823 pub multiview_tessellation_shader: Bool32,
22824 pub variable_pointers_storage_buffer: Bool32,
22825 pub variable_pointers: Bool32,
22826 pub protected_memory: Bool32,
22827 pub sampler_ycbcr_conversion: Bool32,
22828 pub shader_draw_parameters: Bool32,
22829}
22830
22831impl Default for PhysicalDeviceVulkan11Features {
22832 #[inline]
22833 fn default() -> Self {
22834 Self {
22835 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
22836 next: ptr::null_mut(),
22837 storage_buffer_16bit_access: Bool32::default(),
22838 uniform_and_storage_buffer_16bit_access: Bool32::default(),
22839 storage_push_constant16: Bool32::default(),
22840 storage_input_output16: Bool32::default(),
22841 multiview: Bool32::default(),
22842 multiview_geometry_shader: Bool32::default(),
22843 multiview_tessellation_shader: Bool32::default(),
22844 variable_pointers_storage_buffer: Bool32::default(),
22845 variable_pointers: Bool32::default(),
22846 protected_memory: Bool32::default(),
22847 sampler_ycbcr_conversion: Bool32::default(),
22848 shader_draw_parameters: Bool32::default(),
22849 }
22850 }
22851}
22852
22853unsafe impl Send for PhysicalDeviceVulkan11Features {}
22854unsafe impl Sync for PhysicalDeviceVulkan11Features {}
22855
22856#[repr(C)]
22858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22859pub struct PhysicalDeviceVulkan11Properties {
22860 pub s_type: StructureType,
22861 pub next: *mut c_void,
22862 pub device_uuid: ByteArray<UUID_SIZE>,
22863 pub driver_uuid: ByteArray<UUID_SIZE>,
22864 pub device_luid: ByteArray<LUID_SIZE>,
22865 pub device_node_mask: u32,
22866 pub device_luid_valid: Bool32,
22867 pub subgroup_size: u32,
22868 pub subgroup_supported_stages: ShaderStageFlags,
22869 pub subgroup_supported_operations: SubgroupFeatureFlags,
22870 pub subgroup_quad_operations_in_all_stages: Bool32,
22871 pub point_clipping_behavior: PointClippingBehavior,
22872 pub max_multiview_view_count: u32,
22873 pub max_multiview_instance_index: u32,
22874 pub protected_no_fault: Bool32,
22875 pub max_per_set_descriptors: u32,
22876 pub max_memory_allocation_size: DeviceSize,
22877}
22878
22879impl Default for PhysicalDeviceVulkan11Properties {
22880 #[inline]
22881 fn default() -> Self {
22882 Self {
22883 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
22884 next: ptr::null_mut(),
22885 device_uuid: ByteArray::default(),
22886 driver_uuid: ByteArray::default(),
22887 device_luid: ByteArray::default(),
22888 device_node_mask: u32::default(),
22889 device_luid_valid: Bool32::default(),
22890 subgroup_size: u32::default(),
22891 subgroup_supported_stages: ShaderStageFlags::default(),
22892 subgroup_supported_operations: SubgroupFeatureFlags::default(),
22893 subgroup_quad_operations_in_all_stages: Bool32::default(),
22894 point_clipping_behavior: PointClippingBehavior::default(),
22895 max_multiview_view_count: u32::default(),
22896 max_multiview_instance_index: u32::default(),
22897 protected_no_fault: Bool32::default(),
22898 max_per_set_descriptors: u32::default(),
22899 max_memory_allocation_size: DeviceSize::default(),
22900 }
22901 }
22902}
22903
22904unsafe impl Send for PhysicalDeviceVulkan11Properties {}
22905unsafe impl Sync for PhysicalDeviceVulkan11Properties {}
22906
22907#[repr(C)]
22909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22910pub struct PhysicalDeviceVulkan12Features {
22911 pub s_type: StructureType,
22912 pub next: *mut c_void,
22913 pub sampler_mirror_clamp_to_edge: Bool32,
22914 pub draw_indirect_count: Bool32,
22915 pub storage_buffer_8bit_access: Bool32,
22916 pub uniform_and_storage_buffer_8bit_access: Bool32,
22917 pub storage_push_constant8: Bool32,
22918 pub shader_buffer_int64_atomics: Bool32,
22919 pub shader_shared_int64_atomics: Bool32,
22920 pub shader_float16: Bool32,
22921 pub shader_int8: Bool32,
22922 pub descriptor_indexing: Bool32,
22923 pub shader_input_attachment_array_dynamic_indexing: Bool32,
22924 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
22925 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
22926 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
22927 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
22928 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
22929 pub shader_storage_image_array_non_uniform_indexing: Bool32,
22930 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
22931 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
22932 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
22933 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
22934 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
22935 pub descriptor_binding_storage_image_update_after_bind: Bool32,
22936 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
22937 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
22938 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
22939 pub descriptor_binding_update_unused_while_pending: Bool32,
22940 pub descriptor_binding_partially_bound: Bool32,
22941 pub descriptor_binding_variable_descriptor_count: Bool32,
22942 pub runtime_descriptor_array: Bool32,
22943 pub sampler_filter_minmax: Bool32,
22944 pub scalar_block_layout: Bool32,
22945 pub imageless_framebuffer: Bool32,
22946 pub uniform_buffer_standard_layout: Bool32,
22947 pub shader_subgroup_extended_types: Bool32,
22948 pub separate_depth_stencil_layouts: Bool32,
22949 pub host_query_reset: Bool32,
22950 pub timeline_semaphore: Bool32,
22951 pub buffer_device_address: Bool32,
22952 pub buffer_device_address_capture_replay: Bool32,
22953 pub buffer_device_address_multi_device: Bool32,
22954 pub vulkan_memory_model: Bool32,
22955 pub vulkan_memory_model_device_scope: Bool32,
22956 pub vulkan_memory_model_availability_visibility_chains: Bool32,
22957 pub shader_output_viewport_index: Bool32,
22958 pub shader_output_layer: Bool32,
22959 pub subgroup_broadcast_dynamic_id: Bool32,
22960}
22961
22962impl Default for PhysicalDeviceVulkan12Features {
22963 #[inline]
22964 fn default() -> Self {
22965 Self {
22966 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
22967 next: ptr::null_mut(),
22968 sampler_mirror_clamp_to_edge: Bool32::default(),
22969 draw_indirect_count: Bool32::default(),
22970 storage_buffer_8bit_access: Bool32::default(),
22971 uniform_and_storage_buffer_8bit_access: Bool32::default(),
22972 storage_push_constant8: Bool32::default(),
22973 shader_buffer_int64_atomics: Bool32::default(),
22974 shader_shared_int64_atomics: Bool32::default(),
22975 shader_float16: Bool32::default(),
22976 shader_int8: Bool32::default(),
22977 descriptor_indexing: Bool32::default(),
22978 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
22979 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
22980 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
22981 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
22982 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
22983 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
22984 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
22985 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
22986 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
22987 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
22988 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
22989 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
22990 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
22991 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
22992 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
22993 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
22994 descriptor_binding_update_unused_while_pending: Bool32::default(),
22995 descriptor_binding_partially_bound: Bool32::default(),
22996 descriptor_binding_variable_descriptor_count: Bool32::default(),
22997 runtime_descriptor_array: Bool32::default(),
22998 sampler_filter_minmax: Bool32::default(),
22999 scalar_block_layout: Bool32::default(),
23000 imageless_framebuffer: Bool32::default(),
23001 uniform_buffer_standard_layout: Bool32::default(),
23002 shader_subgroup_extended_types: Bool32::default(),
23003 separate_depth_stencil_layouts: Bool32::default(),
23004 host_query_reset: Bool32::default(),
23005 timeline_semaphore: Bool32::default(),
23006 buffer_device_address: Bool32::default(),
23007 buffer_device_address_capture_replay: Bool32::default(),
23008 buffer_device_address_multi_device: Bool32::default(),
23009 vulkan_memory_model: Bool32::default(),
23010 vulkan_memory_model_device_scope: Bool32::default(),
23011 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
23012 shader_output_viewport_index: Bool32::default(),
23013 shader_output_layer: Bool32::default(),
23014 subgroup_broadcast_dynamic_id: Bool32::default(),
23015 }
23016 }
23017}
23018
23019unsafe impl Send for PhysicalDeviceVulkan12Features {}
23020unsafe impl Sync for PhysicalDeviceVulkan12Features {}
23021
23022#[repr(C)]
23024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23025pub struct PhysicalDeviceVulkan12Properties {
23026 pub s_type: StructureType,
23027 pub next: *mut c_void,
23028 pub driver_id: DriverId,
23029 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
23030 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
23031 pub conformance_version: ConformanceVersion,
23032 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
23033 pub rounding_mode_independence: ShaderFloatControlsIndependence,
23034 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
23035 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
23036 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
23037 pub shader_denorm_preserve_float16: Bool32,
23038 pub shader_denorm_preserve_float32: Bool32,
23039 pub shader_denorm_preserve_float64: Bool32,
23040 pub shader_denorm_flush_to_zero_float16: Bool32,
23041 pub shader_denorm_flush_to_zero_float32: Bool32,
23042 pub shader_denorm_flush_to_zero_float64: Bool32,
23043 pub shader_rounding_mode_rte_float16: Bool32,
23044 pub shader_rounding_mode_rte_float32: Bool32,
23045 pub shader_rounding_mode_rte_float64: Bool32,
23046 pub shader_rounding_mode_rtz_float16: Bool32,
23047 pub shader_rounding_mode_rtz_float32: Bool32,
23048 pub shader_rounding_mode_rtz_float64: Bool32,
23049 pub max_update_after_bind_descriptors_in_all_pools: u32,
23050 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
23051 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
23052 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
23053 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
23054 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
23055 pub robust_buffer_access_update_after_bind: Bool32,
23056 pub quad_divergent_implicit_lod: Bool32,
23057 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
23058 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
23059 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
23060 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
23061 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
23062 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
23063 pub max_per_stage_update_after_bind_resources: u32,
23064 pub max_descriptor_set_update_after_bind_samplers: u32,
23065 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
23066 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
23067 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
23068 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
23069 pub max_descriptor_set_update_after_bind_sampled_images: u32,
23070 pub max_descriptor_set_update_after_bind_storage_images: u32,
23071 pub max_descriptor_set_update_after_bind_input_attachments: u32,
23072 pub supported_depth_resolve_modes: ResolveModeFlags,
23073 pub supported_stencil_resolve_modes: ResolveModeFlags,
23074 pub independent_resolve_none: Bool32,
23075 pub independent_resolve: Bool32,
23076 pub filter_minmax_single_component_formats: Bool32,
23077 pub filter_minmax_image_component_mapping: Bool32,
23078 pub max_timeline_semaphore_value_difference: u64,
23079 pub framebuffer_integer_color_sample_counts: SampleCountFlags,
23080}
23081
23082impl Default for PhysicalDeviceVulkan12Properties {
23083 #[inline]
23084 fn default() -> Self {
23085 Self {
23086 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
23087 next: ptr::null_mut(),
23088 driver_id: DriverId::default(),
23089 driver_name: StringArray::default(),
23090 driver_info: StringArray::default(),
23091 conformance_version: ConformanceVersion::default(),
23092 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
23093 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
23094 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
23095 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
23096 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
23097 shader_denorm_preserve_float16: Bool32::default(),
23098 shader_denorm_preserve_float32: Bool32::default(),
23099 shader_denorm_preserve_float64: Bool32::default(),
23100 shader_denorm_flush_to_zero_float16: Bool32::default(),
23101 shader_denorm_flush_to_zero_float32: Bool32::default(),
23102 shader_denorm_flush_to_zero_float64: Bool32::default(),
23103 shader_rounding_mode_rte_float16: Bool32::default(),
23104 shader_rounding_mode_rte_float32: Bool32::default(),
23105 shader_rounding_mode_rte_float64: Bool32::default(),
23106 shader_rounding_mode_rtz_float16: Bool32::default(),
23107 shader_rounding_mode_rtz_float32: Bool32::default(),
23108 shader_rounding_mode_rtz_float64: Bool32::default(),
23109 max_update_after_bind_descriptors_in_all_pools: u32::default(),
23110 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
23111 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
23112 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
23113 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
23114 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
23115 robust_buffer_access_update_after_bind: Bool32::default(),
23116 quad_divergent_implicit_lod: Bool32::default(),
23117 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
23118 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
23119 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
23120 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
23121 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
23122 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
23123 max_per_stage_update_after_bind_resources: u32::default(),
23124 max_descriptor_set_update_after_bind_samplers: u32::default(),
23125 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
23126 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
23127 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
23128 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
23129 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
23130 max_descriptor_set_update_after_bind_storage_images: u32::default(),
23131 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
23132 supported_depth_resolve_modes: ResolveModeFlags::default(),
23133 supported_stencil_resolve_modes: ResolveModeFlags::default(),
23134 independent_resolve_none: Bool32::default(),
23135 independent_resolve: Bool32::default(),
23136 filter_minmax_single_component_formats: Bool32::default(),
23137 filter_minmax_image_component_mapping: Bool32::default(),
23138 max_timeline_semaphore_value_difference: u64::default(),
23139 framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
23140 }
23141 }
23142}
23143
23144unsafe impl Send for PhysicalDeviceVulkan12Properties {}
23145unsafe impl Sync for PhysicalDeviceVulkan12Properties {}
23146
23147#[repr(C)]
23149#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23150pub struct PhysicalDeviceVulkan13Features {
23151 pub s_type: StructureType,
23152 pub next: *mut c_void,
23153 pub robust_image_access: Bool32,
23154 pub inline_uniform_block: Bool32,
23155 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
23156 pub pipeline_creation_cache_control: Bool32,
23157 pub private_data: Bool32,
23158 pub shader_demote_to_helper_invocation: Bool32,
23159 pub shader_terminate_invocation: Bool32,
23160 pub subgroup_size_control: Bool32,
23161 pub compute_full_subgroups: Bool32,
23162 pub synchronization2: Bool32,
23163 pub texture_compression_astc_hdr: Bool32,
23164 pub shader_zero_initialize_workgroup_memory: Bool32,
23165 pub dynamic_rendering: Bool32,
23166 pub shader_integer_dot_product: Bool32,
23167 pub maintenance4: Bool32,
23168}
23169
23170impl Default for PhysicalDeviceVulkan13Features {
23171 #[inline]
23172 fn default() -> Self {
23173 Self {
23174 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
23175 next: ptr::null_mut(),
23176 robust_image_access: Bool32::default(),
23177 inline_uniform_block: Bool32::default(),
23178 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
23179 pipeline_creation_cache_control: Bool32::default(),
23180 private_data: Bool32::default(),
23181 shader_demote_to_helper_invocation: Bool32::default(),
23182 shader_terminate_invocation: Bool32::default(),
23183 subgroup_size_control: Bool32::default(),
23184 compute_full_subgroups: Bool32::default(),
23185 synchronization2: Bool32::default(),
23186 texture_compression_astc_hdr: Bool32::default(),
23187 shader_zero_initialize_workgroup_memory: Bool32::default(),
23188 dynamic_rendering: Bool32::default(),
23189 shader_integer_dot_product: Bool32::default(),
23190 maintenance4: Bool32::default(),
23191 }
23192 }
23193}
23194
23195unsafe impl Send for PhysicalDeviceVulkan13Features {}
23196unsafe impl Sync for PhysicalDeviceVulkan13Features {}
23197
23198#[repr(C)]
23200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23201pub struct PhysicalDeviceVulkan13Properties {
23202 pub s_type: StructureType,
23203 pub next: *mut c_void,
23204 pub min_subgroup_size: u32,
23205 pub max_subgroup_size: u32,
23206 pub max_compute_workgroup_subgroups: u32,
23207 pub required_subgroup_size_stages: ShaderStageFlags,
23208 pub max_inline_uniform_block_size: u32,
23209 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
23210 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
23211 pub max_descriptor_set_inline_uniform_blocks: u32,
23212 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
23213 pub max_inline_uniform_total_size: u32,
23214 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
23215 pub integer_dot_product_8bit_signed_accelerated: Bool32,
23216 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
23217 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
23218 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
23219 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
23220 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
23221 pub integer_dot_product_16bit_signed_accelerated: Bool32,
23222 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
23223 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
23224 pub integer_dot_product_32bit_signed_accelerated: Bool32,
23225 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
23226 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
23227 pub integer_dot_product_64bit_signed_accelerated: Bool32,
23228 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
23229 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
23230 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
23231 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
23232 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
23233 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
23234 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
23235 Bool32,
23236 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
23237 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
23238 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
23239 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
23240 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
23241 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
23242 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
23243 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
23244 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
23245 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
23246 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
23247 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
23248 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
23249 pub max_buffer_size: DeviceSize,
23250}
23251
23252impl Default for PhysicalDeviceVulkan13Properties {
23253 #[inline]
23254 fn default() -> Self {
23255 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() }
23256 }
23257}
23258
23259unsafe impl Send for PhysicalDeviceVulkan13Properties {}
23260unsafe impl Sync for PhysicalDeviceVulkan13Properties {}
23261
23262#[repr(C)]
23264#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23265pub struct PhysicalDeviceVulkan14Features {
23266 pub s_type: StructureType,
23267 pub next: *mut c_void,
23268 pub global_priority_query: Bool32,
23269 pub shader_subgroup_rotate: Bool32,
23270 pub shader_subgroup_rotate_clustered: Bool32,
23271 pub shader_float_controls2: Bool32,
23272 pub shader_expect_assume: Bool32,
23273 pub rectangular_lines: Bool32,
23274 pub bresenham_lines: Bool32,
23275 pub smooth_lines: Bool32,
23276 pub stippled_rectangular_lines: Bool32,
23277 pub stippled_bresenham_lines: Bool32,
23278 pub stippled_smooth_lines: Bool32,
23279 pub vertex_attribute_instance_rate_divisor: Bool32,
23280 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
23281 pub index_type_uint8: Bool32,
23282 pub dynamic_rendering_local_read: Bool32,
23283 pub maintenance5: Bool32,
23284 pub maintenance6: Bool32,
23285 pub pipeline_protected_access: Bool32,
23286 pub pipeline_robustness: Bool32,
23287 pub host_image_copy: Bool32,
23288 pub push_descriptor: Bool32,
23289}
23290
23291impl Default for PhysicalDeviceVulkan14Features {
23292 #[inline]
23293 fn default() -> Self {
23294 Self {
23295 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
23296 next: ptr::null_mut(),
23297 global_priority_query: Bool32::default(),
23298 shader_subgroup_rotate: Bool32::default(),
23299 shader_subgroup_rotate_clustered: Bool32::default(),
23300 shader_float_controls2: Bool32::default(),
23301 shader_expect_assume: Bool32::default(),
23302 rectangular_lines: Bool32::default(),
23303 bresenham_lines: Bool32::default(),
23304 smooth_lines: Bool32::default(),
23305 stippled_rectangular_lines: Bool32::default(),
23306 stippled_bresenham_lines: Bool32::default(),
23307 stippled_smooth_lines: Bool32::default(),
23308 vertex_attribute_instance_rate_divisor: Bool32::default(),
23309 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
23310 index_type_uint8: Bool32::default(),
23311 dynamic_rendering_local_read: Bool32::default(),
23312 maintenance5: Bool32::default(),
23313 maintenance6: Bool32::default(),
23314 pipeline_protected_access: Bool32::default(),
23315 pipeline_robustness: Bool32::default(),
23316 host_image_copy: Bool32::default(),
23317 push_descriptor: Bool32::default(),
23318 }
23319 }
23320}
23321
23322unsafe impl Send for PhysicalDeviceVulkan14Features {}
23323unsafe impl Sync for PhysicalDeviceVulkan14Features {}
23324
23325#[repr(C)]
23327#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23328pub struct PhysicalDeviceVulkan14Properties {
23329 pub s_type: StructureType,
23330 pub next: *mut c_void,
23331 pub line_sub_pixel_precision_bits: u32,
23332 pub max_vertex_attrib_divisor: u32,
23333 pub supports_non_zero_first_instance: Bool32,
23334 pub max_push_descriptors: u32,
23335 pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
23336 pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
23337 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
23338 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
23339 pub depth_stencil_swizzle_one_support: Bool32,
23340 pub polygon_mode_point_size: Bool32,
23341 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
23342 pub non_strict_wide_lines_use_parallelogram: Bool32,
23343 pub block_texel_view_compatible_multiple_layers: Bool32,
23344 pub max_combined_image_sampler_descriptor_count: u32,
23345 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
23346 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
23347 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
23348 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
23349 pub default_robustness_images: PipelineRobustnessImageBehavior,
23350 pub copy_src_layout_count: u32,
23351 pub copy_src_layouts: *mut ImageLayout,
23352 pub copy_dst_layout_count: u32,
23353 pub copy_dst_layouts: *mut ImageLayout,
23354 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
23355 pub identical_memory_type_requirements: Bool32,
23356}
23357
23358impl Default for PhysicalDeviceVulkan14Properties {
23359 #[inline]
23360 fn default() -> Self {
23361 Self {
23362 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
23363 next: ptr::null_mut(),
23364 line_sub_pixel_precision_bits: u32::default(),
23365 max_vertex_attrib_divisor: u32::default(),
23366 supports_non_zero_first_instance: Bool32::default(),
23367 max_push_descriptors: u32::default(),
23368 dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
23369 dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
23370 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
23371 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
23372 depth_stencil_swizzle_one_support: Bool32::default(),
23373 polygon_mode_point_size: Bool32::default(),
23374 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
23375 non_strict_wide_lines_use_parallelogram: Bool32::default(),
23376 block_texel_view_compatible_multiple_layers: Bool32::default(),
23377 max_combined_image_sampler_descriptor_count: u32::default(),
23378 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
23379 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
23380 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
23381 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
23382 default_robustness_images: PipelineRobustnessImageBehavior::default(),
23383 copy_src_layout_count: u32::default(),
23384 copy_src_layouts: ptr::null_mut(),
23385 copy_dst_layout_count: u32::default(),
23386 copy_dst_layouts: ptr::null_mut(),
23387 optimal_tiling_layout_uuid: ByteArray::default(),
23388 identical_memory_type_requirements: Bool32::default(),
23389 }
23390 }
23391}
23392
23393unsafe impl Send for PhysicalDeviceVulkan14Properties {}
23394unsafe impl Sync for PhysicalDeviceVulkan14Properties {}
23395
23396#[repr(C)]
23398#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23399pub struct PhysicalDeviceVulkanMemoryModelFeatures {
23400 pub s_type: StructureType,
23401 pub next: *mut c_void,
23402 pub vulkan_memory_model: Bool32,
23403 pub vulkan_memory_model_device_scope: Bool32,
23404 pub vulkan_memory_model_availability_visibility_chains: Bool32,
23405}
23406
23407impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
23408 #[inline]
23409 fn default() -> Self {
23410 Self {
23411 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
23412 next: ptr::null_mut(),
23413 vulkan_memory_model: Bool32::default(),
23414 vulkan_memory_model_device_scope: Bool32::default(),
23415 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
23416 }
23417 }
23418}
23419
23420unsafe impl Send for PhysicalDeviceVulkanMemoryModelFeatures {}
23421unsafe impl Sync for PhysicalDeviceVulkanMemoryModelFeatures {}
23422
23423#[repr(C)]
23425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23426pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
23427 pub s_type: StructureType,
23428 pub next: *mut c_void,
23429 pub workgroup_memory_explicit_layout: Bool32,
23430 pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
23431 pub workgroup_memory_explicit_layout_8bit_access: Bool32,
23432 pub workgroup_memory_explicit_layout_16bit_access: Bool32,
23433}
23434
23435impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
23436 #[inline]
23437 fn default() -> Self {
23438 Self {
23439 s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
23440 next: ptr::null_mut(),
23441 workgroup_memory_explicit_layout: Bool32::default(),
23442 workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
23443 workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
23444 workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
23445 }
23446 }
23447}
23448
23449unsafe impl Send for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
23450unsafe impl Sync for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
23451
23452#[repr(C)]
23454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23455pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
23456 pub s_type: StructureType,
23457 pub next: *mut c_void,
23458 pub ycbcr2plane444_formats: Bool32,
23459}
23460
23461impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
23462 #[inline]
23463 fn default() -> Self {
23464 Self {
23465 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
23466 next: ptr::null_mut(),
23467 ycbcr2plane444_formats: Bool32::default(),
23468 }
23469 }
23470}
23471
23472unsafe impl Send for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
23473unsafe impl Sync for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
23474
23475#[repr(C)]
23477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23478pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
23479 pub s_type: StructureType,
23480 pub next: *mut c_void,
23481 pub ycbcr_degamma: Bool32,
23482}
23483
23484impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
23485 #[inline]
23486 fn default() -> Self {
23487 Self {
23488 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
23489 next: ptr::null_mut(),
23490 ycbcr_degamma: Bool32::default(),
23491 }
23492 }
23493}
23494
23495unsafe impl Send for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
23496unsafe impl Sync for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
23497
23498#[repr(C)]
23500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23501pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23502 pub s_type: StructureType,
23503 pub next: *mut c_void,
23504 pub ycbcr_image_arrays: Bool32,
23505}
23506
23507impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23508 #[inline]
23509 fn default() -> Self {
23510 Self {
23511 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
23512 next: ptr::null_mut(),
23513 ycbcr_image_arrays: Bool32::default(),
23514 }
23515 }
23516}
23517
23518unsafe impl Send for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23519unsafe impl Sync for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23520
23521#[repr(C)]
23523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23524pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23525 pub s_type: StructureType,
23526 pub next: *mut c_void,
23527 pub zero_initialize_device_memory: Bool32,
23528}
23529
23530impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23531 #[inline]
23532 fn default() -> Self {
23533 Self {
23534 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
23535 next: ptr::null_mut(),
23536 zero_initialize_device_memory: Bool32::default(),
23537 }
23538 }
23539}
23540
23541unsafe impl Send for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23542unsafe impl Sync for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23543
23544#[repr(C)]
23546#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23547pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23548 pub s_type: StructureType,
23549 pub next: *mut c_void,
23550 pub shader_zero_initialize_workgroup_memory: Bool32,
23551}
23552
23553impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23554 #[inline]
23555 fn default() -> Self {
23556 Self {
23557 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
23558 next: ptr::null_mut(),
23559 shader_zero_initialize_workgroup_memory: Bool32::default(),
23560 }
23561 }
23562}
23563
23564unsafe impl Send for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23565unsafe impl Sync for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23566
23567#[repr(C)]
23569#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23570pub struct PipelineBinaryCreateInfoKHR {
23571 pub s_type: StructureType,
23572 pub next: *const c_void,
23573 pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
23574 pub pipeline: Pipeline,
23575 pub pipeline_create_info: *const PipelineCreateInfoKHR,
23576}
23577
23578impl Default for PipelineBinaryCreateInfoKHR {
23579 #[inline]
23580 fn default() -> Self {
23581 Self {
23582 s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
23583 next: ptr::null(),
23584 keys_and_data_info: ptr::null(),
23585 pipeline: Pipeline::default(),
23586 pipeline_create_info: ptr::null(),
23587 }
23588 }
23589}
23590
23591unsafe impl Send for PipelineBinaryCreateInfoKHR {}
23592unsafe impl Sync for PipelineBinaryCreateInfoKHR {}
23593
23594#[repr(C)]
23596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23597pub struct PipelineBinaryDataInfoKHR {
23598 pub s_type: StructureType,
23599 pub next: *mut c_void,
23600 pub pipeline_binary: PipelineBinaryKHR,
23601}
23602
23603impl Default for PipelineBinaryDataInfoKHR {
23604 #[inline]
23605 fn default() -> Self {
23606 Self {
23607 s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
23608 next: ptr::null_mut(),
23609 pipeline_binary: PipelineBinaryKHR::default(),
23610 }
23611 }
23612}
23613
23614unsafe impl Send for PipelineBinaryDataInfoKHR {}
23615unsafe impl Sync for PipelineBinaryDataInfoKHR {}
23616
23617#[repr(C)]
23619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23620pub struct PipelineBinaryDataKHR {
23621 pub data_size: usize,
23622 pub data: *mut c_void,
23623}
23624
23625impl Default for PipelineBinaryDataKHR {
23626 #[inline]
23627 fn default() -> Self {
23628 Self {
23629 data_size: usize::default(),
23630 data: ptr::null_mut(),
23631 }
23632 }
23633}
23634
23635unsafe impl Send for PipelineBinaryDataKHR {}
23636unsafe impl Sync for PipelineBinaryDataKHR {}
23637
23638#[repr(C)]
23640#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23641pub struct PipelineBinaryHandlesInfoKHR {
23642 pub s_type: StructureType,
23643 pub next: *const c_void,
23644 pub pipeline_binary_count: u32,
23645 pub pipeline_binaries: *mut PipelineBinaryKHR,
23646}
23647
23648impl Default for PipelineBinaryHandlesInfoKHR {
23649 #[inline]
23650 fn default() -> Self {
23651 Self {
23652 s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
23653 next: ptr::null(),
23654 pipeline_binary_count: u32::default(),
23655 pipeline_binaries: ptr::null_mut(),
23656 }
23657 }
23658}
23659
23660unsafe impl Send for PipelineBinaryHandlesInfoKHR {}
23661unsafe impl Sync for PipelineBinaryHandlesInfoKHR {}
23662
23663#[repr(C)]
23665#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23666pub struct PipelineBinaryInfoKHR {
23667 pub s_type: StructureType,
23668 pub next: *const c_void,
23669 pub binary_count: u32,
23670 pub pipeline_binaries: *const PipelineBinaryKHR,
23671}
23672
23673impl Default for PipelineBinaryInfoKHR {
23674 #[inline]
23675 fn default() -> Self {
23676 Self {
23677 s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
23678 next: ptr::null(),
23679 binary_count: u32::default(),
23680 pipeline_binaries: ptr::null(),
23681 }
23682 }
23683}
23684
23685unsafe impl Send for PipelineBinaryInfoKHR {}
23686unsafe impl Sync for PipelineBinaryInfoKHR {}
23687
23688#[repr(C)]
23690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23691pub struct PipelineBinaryKeyKHR {
23692 pub s_type: StructureType,
23693 pub next: *mut c_void,
23694 pub key_size: u32,
23695 pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
23696}
23697
23698impl Default for PipelineBinaryKeyKHR {
23699 #[inline]
23700 fn default() -> Self {
23701 Self {
23702 s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
23703 next: ptr::null_mut(),
23704 key_size: u32::default(),
23705 key: ByteArray::default(),
23706 }
23707 }
23708}
23709
23710unsafe impl Send for PipelineBinaryKeyKHR {}
23711unsafe impl Sync for PipelineBinaryKeyKHR {}
23712
23713#[repr(C)]
23715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23716pub struct PipelineBinaryKeysAndDataKHR {
23717 pub binary_count: u32,
23718 pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
23719 pub pipeline_binary_data: *const PipelineBinaryDataKHR,
23720}
23721
23722impl Default for PipelineBinaryKeysAndDataKHR {
23723 #[inline]
23724 fn default() -> Self {
23725 Self {
23726 binary_count: u32::default(),
23727 pipeline_binary_keys: ptr::null(),
23728 pipeline_binary_data: ptr::null(),
23729 }
23730 }
23731}
23732
23733unsafe impl Send for PipelineBinaryKeysAndDataKHR {}
23734unsafe impl Sync for PipelineBinaryKeysAndDataKHR {}
23735
23736#[repr(C)]
23738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23739pub struct PipelineCacheCreateInfo {
23740 pub s_type: StructureType,
23741 pub next: *const c_void,
23742 pub flags: PipelineCacheCreateFlags,
23743 pub initial_data_size: usize,
23744 pub initial_data: *const c_void,
23745}
23746
23747impl Default for PipelineCacheCreateInfo {
23748 #[inline]
23749 fn default() -> Self {
23750 Self {
23751 s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
23752 next: ptr::null(),
23753 flags: PipelineCacheCreateFlags::default(),
23754 initial_data_size: usize::default(),
23755 initial_data: ptr::null(),
23756 }
23757 }
23758}
23759
23760unsafe impl Send for PipelineCacheCreateInfo {}
23761unsafe impl Sync for PipelineCacheCreateInfo {}
23762
23763#[repr(C)]
23765#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23766pub struct PipelineCacheHeaderVersionDataGraphQCOM {
23767 pub header_size: u32,
23768 pub header_version: PipelineCacheHeaderVersion,
23769 pub cache_type: DataGraphModelCacheTypeQCOM,
23770 pub cache_version: u32,
23771 pub toolchain_version: [u32; DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM as usize],
23772}
23773
23774#[repr(C)]
23776#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23777pub struct PipelineCacheHeaderVersionOne {
23778 pub header_size: u32,
23779 pub header_version: PipelineCacheHeaderVersion,
23780 pub vendor_id: u32,
23781 pub device_id: u32,
23782 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
23783}
23784
23785#[repr(C)]
23787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23788pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
23789 pub s_type: StructureType,
23790 pub next: *const c_void,
23791 pub src_premultiplied: Bool32,
23792 pub dst_premultiplied: Bool32,
23793 pub blend_overlap: BlendOverlapEXT,
23794}
23795
23796impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
23797 #[inline]
23798 fn default() -> Self {
23799 Self {
23800 s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
23801 next: ptr::null(),
23802 src_premultiplied: Bool32::default(),
23803 dst_premultiplied: Bool32::default(),
23804 blend_overlap: BlendOverlapEXT::default(),
23805 }
23806 }
23807}
23808
23809unsafe impl Send for PipelineColorBlendAdvancedStateCreateInfoEXT {}
23810unsafe impl Sync for PipelineColorBlendAdvancedStateCreateInfoEXT {}
23811
23812#[repr(C)]
23814#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
23815pub struct PipelineColorBlendAttachmentState {
23816 pub blend_enable: Bool32,
23817 pub src_color_blend_factor: BlendFactor,
23818 pub dst_color_blend_factor: BlendFactor,
23819 pub color_blend_op: BlendOp,
23820 pub src_alpha_blend_factor: BlendFactor,
23821 pub dst_alpha_blend_factor: BlendFactor,
23822 pub alpha_blend_op: BlendOp,
23823 pub color_write_mask: ColorComponentFlags,
23824}
23825
23826#[repr(C)]
23828#[derive(Copy, Clone, Debug, PartialEq)]
23829pub struct PipelineColorBlendStateCreateInfo {
23830 pub s_type: StructureType,
23831 pub next: *const c_void,
23832 pub flags: PipelineColorBlendStateCreateFlags,
23833 pub logic_op_enable: Bool32,
23834 pub logic_op: LogicOp,
23835 pub attachment_count: u32,
23836 pub attachments: *const PipelineColorBlendAttachmentState,
23837 pub blend_constants: [f32; 4],
23838}
23839
23840impl Default for PipelineColorBlendStateCreateInfo {
23841 #[inline]
23842 fn default() -> Self {
23843 Self {
23844 s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
23845 next: ptr::null(),
23846 flags: PipelineColorBlendStateCreateFlags::default(),
23847 logic_op_enable: Bool32::default(),
23848 logic_op: LogicOp::default(),
23849 attachment_count: u32::default(),
23850 attachments: ptr::null(),
23851 blend_constants: [f32::default(); 4],
23852 }
23853 }
23854}
23855
23856unsafe impl Send for PipelineColorBlendStateCreateInfo {}
23857unsafe impl Sync for PipelineColorBlendStateCreateInfo {}
23858
23859#[repr(C)]
23861#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23862pub struct PipelineColorWriteCreateInfoEXT {
23863 pub s_type: StructureType,
23864 pub next: *const c_void,
23865 pub attachment_count: u32,
23866 pub color_write_enables: *const Bool32,
23867}
23868
23869impl Default for PipelineColorWriteCreateInfoEXT {
23870 #[inline]
23871 fn default() -> Self {
23872 Self {
23873 s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
23874 next: ptr::null(),
23875 attachment_count: u32::default(),
23876 color_write_enables: ptr::null(),
23877 }
23878 }
23879}
23880
23881unsafe impl Send for PipelineColorWriteCreateInfoEXT {}
23882unsafe impl Sync for PipelineColorWriteCreateInfoEXT {}
23883
23884#[repr(C)]
23886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23887pub struct PipelineCompilerControlCreateInfoAMD {
23888 pub s_type: StructureType,
23889 pub next: *const c_void,
23890 pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
23891}
23892
23893impl Default for PipelineCompilerControlCreateInfoAMD {
23894 #[inline]
23895 fn default() -> Self {
23896 Self {
23897 s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
23898 next: ptr::null(),
23899 compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
23900 }
23901 }
23902}
23903
23904unsafe impl Send for PipelineCompilerControlCreateInfoAMD {}
23905unsafe impl Sync for PipelineCompilerControlCreateInfoAMD {}
23906
23907#[repr(C)]
23909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23910pub struct PipelineCoverageModulationStateCreateInfoNV {
23911 pub s_type: StructureType,
23912 pub next: *const c_void,
23913 pub flags: PipelineCoverageModulationStateCreateFlagsNV,
23914 pub coverage_modulation_mode: CoverageModulationModeNV,
23915 pub coverage_modulation_table_enable: Bool32,
23916 pub coverage_modulation_table_count: u32,
23917 pub coverage_modulation_table: *const f32,
23918}
23919
23920impl Default for PipelineCoverageModulationStateCreateInfoNV {
23921 #[inline]
23922 fn default() -> Self {
23923 Self {
23924 s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
23925 next: ptr::null(),
23926 flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
23927 coverage_modulation_mode: CoverageModulationModeNV::default(),
23928 coverage_modulation_table_enable: Bool32::default(),
23929 coverage_modulation_table_count: u32::default(),
23930 coverage_modulation_table: ptr::null(),
23931 }
23932 }
23933}
23934
23935unsafe impl Send for PipelineCoverageModulationStateCreateInfoNV {}
23936unsafe impl Sync for PipelineCoverageModulationStateCreateInfoNV {}
23937
23938#[repr(C)]
23940#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23941pub struct PipelineCoverageReductionStateCreateInfoNV {
23942 pub s_type: StructureType,
23943 pub next: *const c_void,
23944 pub flags: PipelineCoverageReductionStateCreateFlagsNV,
23945 pub coverage_reduction_mode: CoverageReductionModeNV,
23946}
23947
23948impl Default for PipelineCoverageReductionStateCreateInfoNV {
23949 #[inline]
23950 fn default() -> Self {
23951 Self {
23952 s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
23953 next: ptr::null(),
23954 flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
23955 coverage_reduction_mode: CoverageReductionModeNV::default(),
23956 }
23957 }
23958}
23959
23960unsafe impl Send for PipelineCoverageReductionStateCreateInfoNV {}
23961unsafe impl Sync for PipelineCoverageReductionStateCreateInfoNV {}
23962
23963#[repr(C)]
23965#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23966pub struct PipelineCoverageToColorStateCreateInfoNV {
23967 pub s_type: StructureType,
23968 pub next: *const c_void,
23969 pub flags: PipelineCoverageToColorStateCreateFlagsNV,
23970 pub coverage_to_color_enable: Bool32,
23971 pub coverage_to_color_location: u32,
23972}
23973
23974impl Default for PipelineCoverageToColorStateCreateInfoNV {
23975 #[inline]
23976 fn default() -> Self {
23977 Self {
23978 s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
23979 next: ptr::null(),
23980 flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
23981 coverage_to_color_enable: Bool32::default(),
23982 coverage_to_color_location: u32::default(),
23983 }
23984 }
23985}
23986
23987unsafe impl Send for PipelineCoverageToColorStateCreateInfoNV {}
23988unsafe impl Sync for PipelineCoverageToColorStateCreateInfoNV {}
23989
23990#[repr(C)]
23992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23993pub struct PipelineCreateFlags2CreateInfo {
23994 pub s_type: StructureType,
23995 pub next: *const c_void,
23996 pub flags: PipelineCreateFlags2,
23997}
23998
23999impl Default for PipelineCreateFlags2CreateInfo {
24000 #[inline]
24001 fn default() -> Self {
24002 Self {
24003 s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
24004 next: ptr::null(),
24005 flags: PipelineCreateFlags2::default(),
24006 }
24007 }
24008}
24009
24010unsafe impl Send for PipelineCreateFlags2CreateInfo {}
24011unsafe impl Sync for PipelineCreateFlags2CreateInfo {}
24012
24013#[repr(C)]
24015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24016pub struct PipelineCreateInfoKHR {
24017 pub s_type: StructureType,
24018 pub next: *mut c_void,
24019}
24020
24021impl Default for PipelineCreateInfoKHR {
24022 #[inline]
24023 fn default() -> Self {
24024 Self {
24025 s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
24026 next: ptr::null_mut(),
24027 }
24028 }
24029}
24030
24031unsafe impl Send for PipelineCreateInfoKHR {}
24032unsafe impl Sync for PipelineCreateInfoKHR {}
24033
24034#[repr(C)]
24036#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24037pub struct PipelineCreationFeedback {
24038 pub flags: PipelineCreationFeedbackFlags,
24039 pub duration: u64,
24040}
24041
24042#[repr(C)]
24044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24045pub struct PipelineCreationFeedbackCreateInfo {
24046 pub s_type: StructureType,
24047 pub next: *const c_void,
24048 pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
24049 pub pipeline_stage_creation_feedback_count: u32,
24050 pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
24051}
24052
24053impl Default for PipelineCreationFeedbackCreateInfo {
24054 #[inline]
24055 fn default() -> Self {
24056 Self {
24057 s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
24058 next: ptr::null(),
24059 pipeline_creation_feedback: ptr::null_mut(),
24060 pipeline_stage_creation_feedback_count: u32::default(),
24061 pipeline_stage_creation_feedbacks: ptr::null_mut(),
24062 }
24063 }
24064}
24065
24066unsafe impl Send for PipelineCreationFeedbackCreateInfo {}
24067unsafe impl Sync for PipelineCreationFeedbackCreateInfo {}
24068
24069#[repr(C)]
24071#[derive(Copy, Clone, Debug, PartialEq)]
24072pub struct PipelineDepthStencilStateCreateInfo {
24073 pub s_type: StructureType,
24074 pub next: *const c_void,
24075 pub flags: PipelineDepthStencilStateCreateFlags,
24076 pub depth_test_enable: Bool32,
24077 pub depth_write_enable: Bool32,
24078 pub depth_compare_op: CompareOp,
24079 pub depth_bounds_test_enable: Bool32,
24080 pub stencil_test_enable: Bool32,
24081 pub front: StencilOpState,
24082 pub back: StencilOpState,
24083 pub min_depth_bounds: f32,
24084 pub max_depth_bounds: f32,
24085}
24086
24087impl Default for PipelineDepthStencilStateCreateInfo {
24088 #[inline]
24089 fn default() -> Self {
24090 Self {
24091 s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
24092 next: ptr::null(),
24093 flags: PipelineDepthStencilStateCreateFlags::default(),
24094 depth_test_enable: Bool32::default(),
24095 depth_write_enable: Bool32::default(),
24096 depth_compare_op: CompareOp::default(),
24097 depth_bounds_test_enable: Bool32::default(),
24098 stencil_test_enable: Bool32::default(),
24099 front: StencilOpState::default(),
24100 back: StencilOpState::default(),
24101 min_depth_bounds: f32::default(),
24102 max_depth_bounds: f32::default(),
24103 }
24104 }
24105}
24106
24107unsafe impl Send for PipelineDepthStencilStateCreateInfo {}
24108unsafe impl Sync for PipelineDepthStencilStateCreateInfo {}
24109
24110#[repr(C)]
24112#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24113pub struct PipelineDiscardRectangleStateCreateInfoEXT {
24114 pub s_type: StructureType,
24115 pub next: *const c_void,
24116 pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
24117 pub discard_rectangle_mode: DiscardRectangleModeEXT,
24118 pub discard_rectangle_count: u32,
24119 pub discard_rectangles: *const Rect2D,
24120}
24121
24122impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
24123 #[inline]
24124 fn default() -> Self {
24125 Self {
24126 s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
24127 next: ptr::null(),
24128 flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
24129 discard_rectangle_mode: DiscardRectangleModeEXT::default(),
24130 discard_rectangle_count: u32::default(),
24131 discard_rectangles: ptr::null(),
24132 }
24133 }
24134}
24135
24136unsafe impl Send for PipelineDiscardRectangleStateCreateInfoEXT {}
24137unsafe impl Sync for PipelineDiscardRectangleStateCreateInfoEXT {}
24138
24139#[repr(C)]
24141#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24142pub struct PipelineDynamicStateCreateInfo {
24143 pub s_type: StructureType,
24144 pub next: *const c_void,
24145 pub flags: PipelineDynamicStateCreateFlags,
24146 pub dynamic_state_count: u32,
24147 pub dynamic_states: *const DynamicState,
24148}
24149
24150impl Default for PipelineDynamicStateCreateInfo {
24151 #[inline]
24152 fn default() -> Self {
24153 Self {
24154 s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
24155 next: ptr::null(),
24156 flags: PipelineDynamicStateCreateFlags::default(),
24157 dynamic_state_count: u32::default(),
24158 dynamic_states: ptr::null(),
24159 }
24160 }
24161}
24162
24163unsafe impl Send for PipelineDynamicStateCreateInfo {}
24164unsafe impl Sync for PipelineDynamicStateCreateInfo {}
24165
24166#[repr(C)]
24168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24169pub struct PipelineExecutableInfoKHR {
24170 pub s_type: StructureType,
24171 pub next: *const c_void,
24172 pub pipeline: Pipeline,
24173 pub executable_index: u32,
24174}
24175
24176impl Default for PipelineExecutableInfoKHR {
24177 #[inline]
24178 fn default() -> Self {
24179 Self {
24180 s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
24181 next: ptr::null(),
24182 pipeline: Pipeline::default(),
24183 executable_index: u32::default(),
24184 }
24185 }
24186}
24187
24188unsafe impl Send for PipelineExecutableInfoKHR {}
24189unsafe impl Sync for PipelineExecutableInfoKHR {}
24190
24191#[repr(C)]
24193#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24194pub struct PipelineExecutableInternalRepresentationKHR {
24195 pub s_type: StructureType,
24196 pub next: *mut c_void,
24197 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24198 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24199 pub is_text: Bool32,
24200 pub data_size: usize,
24201 pub data: *mut c_void,
24202}
24203
24204impl Default for PipelineExecutableInternalRepresentationKHR {
24205 #[inline]
24206 fn default() -> Self {
24207 Self {
24208 s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
24209 next: ptr::null_mut(),
24210 name: StringArray::default(),
24211 description: StringArray::default(),
24212 is_text: Bool32::default(),
24213 data_size: usize::default(),
24214 data: ptr::null_mut(),
24215 }
24216 }
24217}
24218
24219unsafe impl Send for PipelineExecutableInternalRepresentationKHR {}
24220unsafe impl Sync for PipelineExecutableInternalRepresentationKHR {}
24221
24222#[repr(C)]
24224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24225pub struct PipelineExecutablePropertiesKHR {
24226 pub s_type: StructureType,
24227 pub next: *mut c_void,
24228 pub stages: ShaderStageFlags,
24229 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24230 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24231 pub subgroup_size: u32,
24232}
24233
24234impl Default for PipelineExecutablePropertiesKHR {
24235 #[inline]
24236 fn default() -> Self {
24237 Self {
24238 s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
24239 next: ptr::null_mut(),
24240 stages: ShaderStageFlags::default(),
24241 name: StringArray::default(),
24242 description: StringArray::default(),
24243 subgroup_size: u32::default(),
24244 }
24245 }
24246}
24247
24248unsafe impl Send for PipelineExecutablePropertiesKHR {}
24249unsafe impl Sync for PipelineExecutablePropertiesKHR {}
24250
24251#[repr(C)]
24253#[derive(Copy, Clone, Debug)]
24254pub struct PipelineExecutableStatisticKHR {
24255 pub s_type: StructureType,
24256 pub next: *mut c_void,
24257 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24258 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24259 pub format: PipelineExecutableStatisticFormatKHR,
24260 pub value: PipelineExecutableStatisticValueKHR,
24261}
24262
24263impl Default for PipelineExecutableStatisticKHR {
24264 #[inline]
24265 fn default() -> Self {
24266 Self {
24267 s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
24268 next: ptr::null_mut(),
24269 name: StringArray::default(),
24270 description: StringArray::default(),
24271 format: PipelineExecutableStatisticFormatKHR::default(),
24272 value: PipelineExecutableStatisticValueKHR::default(),
24273 }
24274 }
24275}
24276
24277unsafe impl Send for PipelineExecutableStatisticKHR {}
24278unsafe impl Sync for PipelineExecutableStatisticKHR {}
24279
24280#[repr(C)]
24282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24283pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
24284 pub s_type: StructureType,
24285 pub next: *const c_void,
24286 pub max_fragment_density_map_layers: u32,
24287}
24288
24289impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
24290 #[inline]
24291 fn default() -> Self {
24292 Self {
24293 s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
24294 next: ptr::null(),
24295 max_fragment_density_map_layers: u32::default(),
24296 }
24297 }
24298}
24299
24300unsafe impl Send for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
24301unsafe impl Sync for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
24302
24303#[repr(C)]
24305#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24306pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
24307 pub s_type: StructureType,
24308 pub next: *const c_void,
24309 pub shading_rate_type: FragmentShadingRateTypeNV,
24310 pub shading_rate: FragmentShadingRateNV,
24311 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
24312}
24313
24314impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
24315 #[inline]
24316 fn default() -> Self {
24317 Self {
24318 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
24319 next: ptr::null(),
24320 shading_rate_type: FragmentShadingRateTypeNV::default(),
24321 shading_rate: FragmentShadingRateNV::default(),
24322 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
24323 }
24324 }
24325}
24326
24327unsafe impl Send for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
24328unsafe impl Sync for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
24329
24330#[repr(C)]
24332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24333pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
24334 pub s_type: StructureType,
24335 pub next: *const c_void,
24336 pub fragment_size: Extent2D,
24337 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
24338}
24339
24340impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
24341 #[inline]
24342 fn default() -> Self {
24343 Self {
24344 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
24345 next: ptr::null(),
24346 fragment_size: Extent2D::default(),
24347 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
24348 }
24349 }
24350}
24351
24352unsafe impl Send for PipelineFragmentShadingRateStateCreateInfoKHR {}
24353unsafe impl Sync for PipelineFragmentShadingRateStateCreateInfoKHR {}
24354
24355#[repr(C)]
24357#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24358pub struct PipelineIndirectDeviceAddressInfoNV {
24359 pub s_type: StructureType,
24360 pub next: *const c_void,
24361 pub pipeline_bind_point: PipelineBindPoint,
24362 pub pipeline: Pipeline,
24363}
24364
24365impl Default for PipelineIndirectDeviceAddressInfoNV {
24366 #[inline]
24367 fn default() -> Self {
24368 Self {
24369 s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
24370 next: ptr::null(),
24371 pipeline_bind_point: PipelineBindPoint::default(),
24372 pipeline: Pipeline::default(),
24373 }
24374 }
24375}
24376
24377unsafe impl Send for PipelineIndirectDeviceAddressInfoNV {}
24378unsafe impl Sync for PipelineIndirectDeviceAddressInfoNV {}
24379
24380#[repr(C)]
24382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24383pub struct PipelineInfoKHR {
24384 pub s_type: StructureType,
24385 pub next: *const c_void,
24386 pub pipeline: Pipeline,
24387}
24388
24389impl Default for PipelineInfoKHR {
24390 #[inline]
24391 fn default() -> Self {
24392 Self {
24393 s_type: StructureType::PIPELINE_INFO_KHR,
24394 next: ptr::null(),
24395 pipeline: Pipeline::default(),
24396 }
24397 }
24398}
24399
24400unsafe impl Send for PipelineInfoKHR {}
24401unsafe impl Sync for PipelineInfoKHR {}
24402
24403#[repr(C)]
24405#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24406pub struct PipelineInputAssemblyStateCreateInfo {
24407 pub s_type: StructureType,
24408 pub next: *const c_void,
24409 pub flags: PipelineInputAssemblyStateCreateFlags,
24410 pub topology: PrimitiveTopology,
24411 pub primitive_restart_enable: Bool32,
24412}
24413
24414impl Default for PipelineInputAssemblyStateCreateInfo {
24415 #[inline]
24416 fn default() -> Self {
24417 Self {
24418 s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
24419 next: ptr::null(),
24420 flags: PipelineInputAssemblyStateCreateFlags::default(),
24421 topology: PrimitiveTopology::default(),
24422 primitive_restart_enable: Bool32::default(),
24423 }
24424 }
24425}
24426
24427unsafe impl Send for PipelineInputAssemblyStateCreateInfo {}
24428unsafe impl Sync for PipelineInputAssemblyStateCreateInfo {}
24429
24430#[repr(C)]
24432#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24433pub struct PipelineLayoutCreateInfo {
24434 pub s_type: StructureType,
24435 pub next: *const c_void,
24436 pub flags: PipelineLayoutCreateFlags,
24437 pub set_layout_count: u32,
24438 pub set_layouts: *const DescriptorSetLayout,
24439 pub push_constant_range_count: u32,
24440 pub push_constant_ranges: *const PushConstantRange,
24441}
24442
24443impl Default for PipelineLayoutCreateInfo {
24444 #[inline]
24445 fn default() -> Self {
24446 Self {
24447 s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
24448 next: ptr::null(),
24449 flags: PipelineLayoutCreateFlags::default(),
24450 set_layout_count: u32::default(),
24451 set_layouts: ptr::null(),
24452 push_constant_range_count: u32::default(),
24453 push_constant_ranges: ptr::null(),
24454 }
24455 }
24456}
24457
24458unsafe impl Send for PipelineLayoutCreateInfo {}
24459unsafe impl Sync for PipelineLayoutCreateInfo {}
24460
24461#[repr(C)]
24463#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24464pub struct PipelineLibraryCreateInfoKHR {
24465 pub s_type: StructureType,
24466 pub next: *const c_void,
24467 pub library_count: u32,
24468 pub libraries: *const Pipeline,
24469}
24470
24471impl Default for PipelineLibraryCreateInfoKHR {
24472 #[inline]
24473 fn default() -> Self {
24474 Self {
24475 s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
24476 next: ptr::null(),
24477 library_count: u32::default(),
24478 libraries: ptr::null(),
24479 }
24480 }
24481}
24482
24483unsafe impl Send for PipelineLibraryCreateInfoKHR {}
24484unsafe impl Sync for PipelineLibraryCreateInfoKHR {}
24485
24486#[repr(C)]
24488#[derive(Copy, Clone, Debug, PartialEq)]
24489pub struct PipelineMultisampleStateCreateInfo {
24490 pub s_type: StructureType,
24491 pub next: *const c_void,
24492 pub flags: PipelineMultisampleStateCreateFlags,
24493 pub rasterization_samples: SampleCountFlags,
24494 pub sample_shading_enable: Bool32,
24495 pub min_sample_shading: f32,
24496 pub sample_mask: *const SampleMask,
24497 pub alpha_to_coverage_enable: Bool32,
24498 pub alpha_to_one_enable: Bool32,
24499}
24500
24501impl Default for PipelineMultisampleStateCreateInfo {
24502 #[inline]
24503 fn default() -> Self {
24504 Self {
24505 s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
24506 next: ptr::null(),
24507 flags: PipelineMultisampleStateCreateFlags::default(),
24508 rasterization_samples: SampleCountFlags::default(),
24509 sample_shading_enable: Bool32::default(),
24510 min_sample_shading: f32::default(),
24511 sample_mask: ptr::null(),
24512 alpha_to_coverage_enable: Bool32::default(),
24513 alpha_to_one_enable: Bool32::default(),
24514 }
24515 }
24516}
24517
24518unsafe impl Send for PipelineMultisampleStateCreateInfo {}
24519unsafe impl Sync for PipelineMultisampleStateCreateInfo {}
24520
24521#[repr(C)]
24523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24524pub struct PipelinePropertiesIdentifierEXT {
24525 pub s_type: StructureType,
24526 pub next: *mut c_void,
24527 pub pipeline_identifier: ByteArray<UUID_SIZE>,
24528}
24529
24530impl Default for PipelinePropertiesIdentifierEXT {
24531 #[inline]
24532 fn default() -> Self {
24533 Self {
24534 s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
24535 next: ptr::null_mut(),
24536 pipeline_identifier: ByteArray::default(),
24537 }
24538 }
24539}
24540
24541unsafe impl Send for PipelinePropertiesIdentifierEXT {}
24542unsafe impl Sync for PipelinePropertiesIdentifierEXT {}
24543
24544#[repr(C)]
24546#[derive(Copy, Clone, Debug, PartialEq)]
24547pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
24548 pub s_type: StructureType,
24549 pub next: *const c_void,
24550 pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
24551 pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
24552 pub extra_primitive_overestimation_size: f32,
24553}
24554
24555impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
24556 #[inline]
24557 fn default() -> Self {
24558 Self {
24559 s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
24560 next: ptr::null(),
24561 flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
24562 conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
24563 extra_primitive_overestimation_size: f32::default(),
24564 }
24565 }
24566}
24567
24568unsafe impl Send for PipelineRasterizationConservativeStateCreateInfoEXT {}
24569unsafe impl Sync for PipelineRasterizationConservativeStateCreateInfoEXT {}
24570
24571#[repr(C)]
24573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24574pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
24575 pub s_type: StructureType,
24576 pub next: *const c_void,
24577 pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
24578 pub depth_clip_enable: Bool32,
24579}
24580
24581impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
24582 #[inline]
24583 fn default() -> Self {
24584 Self {
24585 s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
24586 next: ptr::null(),
24587 flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
24588 depth_clip_enable: Bool32::default(),
24589 }
24590 }
24591}
24592
24593unsafe impl Send for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24594unsafe impl Sync for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24595
24596#[repr(C)]
24598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24599pub struct PipelineRasterizationLineStateCreateInfo {
24600 pub s_type: StructureType,
24601 pub next: *const c_void,
24602 pub line_rasterization_mode: LineRasterizationMode,
24603 pub stippled_line_enable: Bool32,
24604 pub line_stipple_factor: u32,
24605 pub line_stipple_pattern: u16,
24606}
24607
24608impl Default for PipelineRasterizationLineStateCreateInfo {
24609 #[inline]
24610 fn default() -> Self {
24611 Self {
24612 s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
24613 next: ptr::null(),
24614 line_rasterization_mode: LineRasterizationMode::default(),
24615 stippled_line_enable: Bool32::default(),
24616 line_stipple_factor: u32::default(),
24617 line_stipple_pattern: u16::default(),
24618 }
24619 }
24620}
24621
24622unsafe impl Send for PipelineRasterizationLineStateCreateInfo {}
24623unsafe impl Sync for PipelineRasterizationLineStateCreateInfo {}
24624
24625#[repr(C)]
24627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24628pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24629 pub s_type: StructureType,
24630 pub next: *const c_void,
24631 pub provoking_vertex_mode: ProvokingVertexModeEXT,
24632}
24633
24634impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24635 #[inline]
24636 fn default() -> Self {
24637 Self {
24638 s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
24639 next: ptr::null(),
24640 provoking_vertex_mode: ProvokingVertexModeEXT::default(),
24641 }
24642 }
24643}
24644
24645unsafe impl Send for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24646unsafe impl Sync for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24647
24648#[repr(C)]
24650#[derive(Copy, Clone, Debug, PartialEq)]
24651pub struct PipelineRasterizationStateCreateInfo {
24652 pub s_type: StructureType,
24653 pub next: *const c_void,
24654 pub flags: PipelineRasterizationStateCreateFlags,
24655 pub depth_clamp_enable: Bool32,
24656 pub rasterizer_discard_enable: Bool32,
24657 pub polygon_mode: PolygonMode,
24658 pub cull_mode: CullModeFlags,
24659 pub front_face: FrontFace,
24660 pub depth_bias_enable: Bool32,
24661 pub depth_bias_constant_factor: f32,
24662 pub depth_bias_clamp: f32,
24663 pub depth_bias_slope_factor: f32,
24664 pub line_width: f32,
24665}
24666
24667impl Default for PipelineRasterizationStateCreateInfo {
24668 #[inline]
24669 fn default() -> Self {
24670 Self {
24671 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
24672 next: ptr::null(),
24673 flags: PipelineRasterizationStateCreateFlags::default(),
24674 depth_clamp_enable: Bool32::default(),
24675 rasterizer_discard_enable: Bool32::default(),
24676 polygon_mode: PolygonMode::default(),
24677 cull_mode: CullModeFlags::default(),
24678 front_face: FrontFace::default(),
24679 depth_bias_enable: Bool32::default(),
24680 depth_bias_constant_factor: f32::default(),
24681 depth_bias_clamp: f32::default(),
24682 depth_bias_slope_factor: f32::default(),
24683 line_width: f32::default(),
24684 }
24685 }
24686}
24687
24688unsafe impl Send for PipelineRasterizationStateCreateInfo {}
24689unsafe impl Sync for PipelineRasterizationStateCreateInfo {}
24690
24691#[repr(C)]
24693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24694pub struct PipelineRasterizationStateRasterizationOrderAMD {
24695 pub s_type: StructureType,
24696 pub next: *const c_void,
24697 pub rasterization_order: RasterizationOrderAMD,
24698}
24699
24700impl Default for PipelineRasterizationStateRasterizationOrderAMD {
24701 #[inline]
24702 fn default() -> Self {
24703 Self {
24704 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
24705 next: ptr::null(),
24706 rasterization_order: RasterizationOrderAMD::default(),
24707 }
24708 }
24709}
24710
24711unsafe impl Send for PipelineRasterizationStateRasterizationOrderAMD {}
24712unsafe impl Sync for PipelineRasterizationStateRasterizationOrderAMD {}
24713
24714#[repr(C)]
24716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24717pub struct PipelineRasterizationStateStreamCreateInfoEXT {
24718 pub s_type: StructureType,
24719 pub next: *const c_void,
24720 pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
24721 pub rasterization_stream: u32,
24722}
24723
24724impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
24725 #[inline]
24726 fn default() -> Self {
24727 Self {
24728 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
24729 next: ptr::null(),
24730 flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
24731 rasterization_stream: u32::default(),
24732 }
24733 }
24734}
24735
24736unsafe impl Send for PipelineRasterizationStateStreamCreateInfoEXT {}
24737unsafe impl Sync for PipelineRasterizationStateStreamCreateInfoEXT {}
24738
24739#[repr(C)]
24741#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24742pub struct PipelineRenderingCreateInfo {
24743 pub s_type: StructureType,
24744 pub next: *const c_void,
24745 pub view_mask: u32,
24746 pub color_attachment_count: u32,
24747 pub color_attachment_formats: *const Format,
24748 pub depth_attachment_format: Format,
24749 pub stencil_attachment_format: Format,
24750}
24751
24752impl Default for PipelineRenderingCreateInfo {
24753 #[inline]
24754 fn default() -> Self {
24755 Self {
24756 s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
24757 next: ptr::null(),
24758 view_mask: u32::default(),
24759 color_attachment_count: u32::default(),
24760 color_attachment_formats: ptr::null(),
24761 depth_attachment_format: Format::default(),
24762 stencil_attachment_format: Format::default(),
24763 }
24764 }
24765}
24766
24767unsafe impl Send for PipelineRenderingCreateInfo {}
24768unsafe impl Sync for PipelineRenderingCreateInfo {}
24769
24770#[repr(C)]
24772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24773pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
24774 pub s_type: StructureType,
24775 pub next: *const c_void,
24776 pub representative_fragment_test_enable: Bool32,
24777}
24778
24779impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
24780 #[inline]
24781 fn default() -> Self {
24782 Self {
24783 s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
24784 next: ptr::null(),
24785 representative_fragment_test_enable: Bool32::default(),
24786 }
24787 }
24788}
24789
24790unsafe impl Send for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
24791unsafe impl Sync for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
24792
24793#[repr(C)]
24795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24796pub struct PipelineRobustnessCreateInfo {
24797 pub s_type: StructureType,
24798 pub next: *const c_void,
24799 pub storage_buffers: PipelineRobustnessBufferBehavior,
24800 pub uniform_buffers: PipelineRobustnessBufferBehavior,
24801 pub vertex_inputs: PipelineRobustnessBufferBehavior,
24802 pub images: PipelineRobustnessImageBehavior,
24803}
24804
24805impl Default for PipelineRobustnessCreateInfo {
24806 #[inline]
24807 fn default() -> Self {
24808 Self {
24809 s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
24810 next: ptr::null(),
24811 storage_buffers: PipelineRobustnessBufferBehavior::default(),
24812 uniform_buffers: PipelineRobustnessBufferBehavior::default(),
24813 vertex_inputs: PipelineRobustnessBufferBehavior::default(),
24814 images: PipelineRobustnessImageBehavior::default(),
24815 }
24816 }
24817}
24818
24819unsafe impl Send for PipelineRobustnessCreateInfo {}
24820unsafe impl Sync for PipelineRobustnessCreateInfo {}
24821
24822#[repr(C)]
24824#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24825pub struct PipelineSampleLocationsStateCreateInfoEXT {
24826 pub s_type: StructureType,
24827 pub next: *const c_void,
24828 pub sample_locations_enable: Bool32,
24829 pub sample_locations_info: SampleLocationsInfoEXT,
24830}
24831
24832impl Default for PipelineSampleLocationsStateCreateInfoEXT {
24833 #[inline]
24834 fn default() -> Self {
24835 Self {
24836 s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
24837 next: ptr::null(),
24838 sample_locations_enable: Bool32::default(),
24839 sample_locations_info: SampleLocationsInfoEXT::default(),
24840 }
24841 }
24842}
24843
24844unsafe impl Send for PipelineSampleLocationsStateCreateInfoEXT {}
24845unsafe impl Sync for PipelineSampleLocationsStateCreateInfoEXT {}
24846
24847#[repr(C)]
24849#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24850pub struct PipelineShaderStageCreateInfo {
24851 pub s_type: StructureType,
24852 pub next: *const c_void,
24853 pub flags: PipelineShaderStageCreateFlags,
24854 pub stage: ShaderStageFlags,
24855 pub module: ShaderModule,
24856 pub name: *const c_char,
24857 pub specialization_info: *const SpecializationInfo,
24858}
24859
24860impl Default for PipelineShaderStageCreateInfo {
24861 #[inline]
24862 fn default() -> Self {
24863 Self {
24864 s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
24865 next: ptr::null(),
24866 flags: PipelineShaderStageCreateFlags::default(),
24867 stage: ShaderStageFlags::default(),
24868 module: ShaderModule::default(),
24869 name: ptr::null(),
24870 specialization_info: ptr::null(),
24871 }
24872 }
24873}
24874
24875unsafe impl Send for PipelineShaderStageCreateInfo {}
24876unsafe impl Sync for PipelineShaderStageCreateInfo {}
24877
24878#[repr(C)]
24880#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24881pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
24882 pub s_type: StructureType,
24883 pub next: *const c_void,
24884 pub identifier_size: u32,
24885 pub identifier: *const u8,
24886}
24887
24888impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
24889 #[inline]
24890 fn default() -> Self {
24891 Self {
24892 s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
24893 next: ptr::null(),
24894 identifier_size: u32::default(),
24895 identifier: ptr::null(),
24896 }
24897 }
24898}
24899
24900unsafe impl Send for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
24901unsafe impl Sync for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
24902
24903#[repr(C)]
24905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24906pub struct PipelineShaderStageNodeCreateInfoAMDX {
24907 pub s_type: StructureType,
24908 pub next: *const c_void,
24909 pub name: *const c_char,
24910 pub index: u32,
24911}
24912
24913impl Default for PipelineShaderStageNodeCreateInfoAMDX {
24914 #[inline]
24915 fn default() -> Self {
24916 Self {
24917 s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
24918 next: ptr::null(),
24919 name: ptr::null(),
24920 index: u32::default(),
24921 }
24922 }
24923}
24924
24925unsafe impl Send for PipelineShaderStageNodeCreateInfoAMDX {}
24926unsafe impl Sync for PipelineShaderStageNodeCreateInfoAMDX {}
24927
24928#[repr(C)]
24930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24931pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
24932 pub s_type: StructureType,
24933 pub next: *const c_void,
24934 pub required_subgroup_size: u32,
24935}
24936
24937impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
24938 #[inline]
24939 fn default() -> Self {
24940 Self {
24941 s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
24942 next: ptr::null(),
24943 required_subgroup_size: u32::default(),
24944 }
24945 }
24946}
24947
24948unsafe impl Send for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
24949unsafe impl Sync for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
24950
24951#[repr(C)]
24953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24954pub struct PipelineTessellationDomainOriginStateCreateInfo {
24955 pub s_type: StructureType,
24956 pub next: *const c_void,
24957 pub domain_origin: TessellationDomainOrigin,
24958}
24959
24960impl Default for PipelineTessellationDomainOriginStateCreateInfo {
24961 #[inline]
24962 fn default() -> Self {
24963 Self {
24964 s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
24965 next: ptr::null(),
24966 domain_origin: TessellationDomainOrigin::default(),
24967 }
24968 }
24969}
24970
24971unsafe impl Send for PipelineTessellationDomainOriginStateCreateInfo {}
24972unsafe impl Sync for PipelineTessellationDomainOriginStateCreateInfo {}
24973
24974#[repr(C)]
24976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24977pub struct PipelineTessellationStateCreateInfo {
24978 pub s_type: StructureType,
24979 pub next: *const c_void,
24980 pub flags: PipelineTessellationStateCreateFlags,
24981 pub patch_control_points: u32,
24982}
24983
24984impl Default for PipelineTessellationStateCreateInfo {
24985 #[inline]
24986 fn default() -> Self {
24987 Self {
24988 s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
24989 next: ptr::null(),
24990 flags: PipelineTessellationStateCreateFlags::default(),
24991 patch_control_points: u32::default(),
24992 }
24993 }
24994}
24995
24996unsafe impl Send for PipelineTessellationStateCreateInfo {}
24997unsafe impl Sync for PipelineTessellationStateCreateInfo {}
24998
24999#[repr(C)]
25001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25002pub struct PipelineVertexInputDivisorStateCreateInfo {
25003 pub s_type: StructureType,
25004 pub next: *const c_void,
25005 pub vertex_binding_divisor_count: u32,
25006 pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
25007}
25008
25009impl Default for PipelineVertexInputDivisorStateCreateInfo {
25010 #[inline]
25011 fn default() -> Self {
25012 Self {
25013 s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
25014 next: ptr::null(),
25015 vertex_binding_divisor_count: u32::default(),
25016 vertex_binding_divisors: ptr::null(),
25017 }
25018 }
25019}
25020
25021unsafe impl Send for PipelineVertexInputDivisorStateCreateInfo {}
25022unsafe impl Sync for PipelineVertexInputDivisorStateCreateInfo {}
25023
25024#[repr(C)]
25026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25027pub struct PipelineVertexInputStateCreateInfo {
25028 pub s_type: StructureType,
25029 pub next: *const c_void,
25030 pub flags: PipelineVertexInputStateCreateFlags,
25031 pub vertex_binding_description_count: u32,
25032 pub vertex_binding_descriptions: *const VertexInputBindingDescription,
25033 pub vertex_attribute_description_count: u32,
25034 pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
25035}
25036
25037impl Default for PipelineVertexInputStateCreateInfo {
25038 #[inline]
25039 fn default() -> Self {
25040 Self {
25041 s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
25042 next: ptr::null(),
25043 flags: PipelineVertexInputStateCreateFlags::default(),
25044 vertex_binding_description_count: u32::default(),
25045 vertex_binding_descriptions: ptr::null(),
25046 vertex_attribute_description_count: u32::default(),
25047 vertex_attribute_descriptions: ptr::null(),
25048 }
25049 }
25050}
25051
25052unsafe impl Send for PipelineVertexInputStateCreateInfo {}
25053unsafe impl Sync for PipelineVertexInputStateCreateInfo {}
25054
25055#[repr(C)]
25057#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25058pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
25059 pub s_type: StructureType,
25060 pub next: *const c_void,
25061 pub sample_order_type: CoarseSampleOrderTypeNV,
25062 pub custom_sample_order_count: u32,
25063 pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
25064}
25065
25066impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
25067 #[inline]
25068 fn default() -> Self {
25069 Self {
25070 s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
25071 next: ptr::null(),
25072 sample_order_type: CoarseSampleOrderTypeNV::default(),
25073 custom_sample_order_count: u32::default(),
25074 custom_sample_orders: ptr::null(),
25075 }
25076 }
25077}
25078
25079unsafe impl Send for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
25080unsafe impl Sync for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
25081
25082#[repr(C)]
25084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25085pub struct PipelineViewportDepthClampControlCreateInfoEXT {
25086 pub s_type: StructureType,
25087 pub next: *const c_void,
25088 pub depth_clamp_mode: DepthClampModeEXT,
25089 pub depth_clamp_range: *const DepthClampRangeEXT,
25090}
25091
25092impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
25093 #[inline]
25094 fn default() -> Self {
25095 Self {
25096 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
25097 next: ptr::null(),
25098 depth_clamp_mode: DepthClampModeEXT::default(),
25099 depth_clamp_range: ptr::null(),
25100 }
25101 }
25102}
25103
25104unsafe impl Send for PipelineViewportDepthClampControlCreateInfoEXT {}
25105unsafe impl Sync for PipelineViewportDepthClampControlCreateInfoEXT {}
25106
25107#[repr(C)]
25109#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25110pub struct PipelineViewportDepthClipControlCreateInfoEXT {
25111 pub s_type: StructureType,
25112 pub next: *const c_void,
25113 pub negative_one_to_one: Bool32,
25114}
25115
25116impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
25117 #[inline]
25118 fn default() -> Self {
25119 Self {
25120 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
25121 next: ptr::null(),
25122 negative_one_to_one: Bool32::default(),
25123 }
25124 }
25125}
25126
25127unsafe impl Send for PipelineViewportDepthClipControlCreateInfoEXT {}
25128unsafe impl Sync for PipelineViewportDepthClipControlCreateInfoEXT {}
25129
25130#[repr(C)]
25132#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25133pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
25134 pub s_type: StructureType,
25135 pub next: *const c_void,
25136 pub exclusive_scissor_count: u32,
25137 pub exclusive_scissors: *const Rect2D,
25138}
25139
25140impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
25141 #[inline]
25142 fn default() -> Self {
25143 Self {
25144 s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
25145 next: ptr::null(),
25146 exclusive_scissor_count: u32::default(),
25147 exclusive_scissors: ptr::null(),
25148 }
25149 }
25150}
25151
25152unsafe impl Send for PipelineViewportExclusiveScissorStateCreateInfoNV {}
25153unsafe impl Sync for PipelineViewportExclusiveScissorStateCreateInfoNV {}
25154
25155#[repr(C)]
25157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25158pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
25159 pub s_type: StructureType,
25160 pub next: *const c_void,
25161 pub shading_rate_image_enable: Bool32,
25162 pub viewport_count: u32,
25163 pub shading_rate_palettes: *const ShadingRatePaletteNV,
25164}
25165
25166impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
25167 #[inline]
25168 fn default() -> Self {
25169 Self {
25170 s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
25171 next: ptr::null(),
25172 shading_rate_image_enable: Bool32::default(),
25173 viewport_count: u32::default(),
25174 shading_rate_palettes: ptr::null(),
25175 }
25176 }
25177}
25178
25179unsafe impl Send for PipelineViewportShadingRateImageStateCreateInfoNV {}
25180unsafe impl Sync for PipelineViewportShadingRateImageStateCreateInfoNV {}
25181
25182#[repr(C)]
25184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25185pub struct PipelineViewportStateCreateInfo {
25186 pub s_type: StructureType,
25187 pub next: *const c_void,
25188 pub flags: PipelineViewportStateCreateFlags,
25189 pub viewport_count: u32,
25190 pub viewports: *const Viewport,
25191 pub scissor_count: u32,
25192 pub scissors: *const Rect2D,
25193}
25194
25195impl Default for PipelineViewportStateCreateInfo {
25196 #[inline]
25197 fn default() -> Self {
25198 Self {
25199 s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
25200 next: ptr::null(),
25201 flags: PipelineViewportStateCreateFlags::default(),
25202 viewport_count: u32::default(),
25203 viewports: ptr::null(),
25204 scissor_count: u32::default(),
25205 scissors: ptr::null(),
25206 }
25207 }
25208}
25209
25210unsafe impl Send for PipelineViewportStateCreateInfo {}
25211unsafe impl Sync for PipelineViewportStateCreateInfo {}
25212
25213#[repr(C)]
25215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25216pub struct PipelineViewportSwizzleStateCreateInfoNV {
25217 pub s_type: StructureType,
25218 pub next: *const c_void,
25219 pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
25220 pub viewport_count: u32,
25221 pub viewport_swizzles: *const ViewportSwizzleNV,
25222}
25223
25224impl Default for PipelineViewportSwizzleStateCreateInfoNV {
25225 #[inline]
25226 fn default() -> Self {
25227 Self {
25228 s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
25229 next: ptr::null(),
25230 flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
25231 viewport_count: u32::default(),
25232 viewport_swizzles: ptr::null(),
25233 }
25234 }
25235}
25236
25237unsafe impl Send for PipelineViewportSwizzleStateCreateInfoNV {}
25238unsafe impl Sync for PipelineViewportSwizzleStateCreateInfoNV {}
25239
25240#[repr(C)]
25242#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25243pub struct PipelineViewportWScalingStateCreateInfoNV {
25244 pub s_type: StructureType,
25245 pub next: *const c_void,
25246 pub viewport_w_scaling_enable: Bool32,
25247 pub viewport_count: u32,
25248 pub viewport_w_scalings: *const ViewportWScalingNV,
25249}
25250
25251impl Default for PipelineViewportWScalingStateCreateInfoNV {
25252 #[inline]
25253 fn default() -> Self {
25254 Self {
25255 s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
25256 next: ptr::null(),
25257 viewport_w_scaling_enable: Bool32::default(),
25258 viewport_count: u32::default(),
25259 viewport_w_scalings: ptr::null(),
25260 }
25261 }
25262}
25263
25264unsafe impl Send for PipelineViewportWScalingStateCreateInfoNV {}
25265unsafe impl Sync for PipelineViewportWScalingStateCreateInfoNV {}
25266
25267#[repr(C)]
25269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25270pub struct PresentFrameTokenGGP {
25271 pub s_type: StructureType,
25272 pub next: *const c_void,
25273 pub frame_token: GgpFrameToken,
25274}
25275
25276impl Default for PresentFrameTokenGGP {
25277 #[inline]
25278 fn default() -> Self {
25279 Self {
25280 s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
25281 next: ptr::null(),
25282 frame_token: GgpFrameToken::default(),
25283 }
25284 }
25285}
25286
25287unsafe impl Send for PresentFrameTokenGGP {}
25288unsafe impl Sync for PresentFrameTokenGGP {}
25289
25290#[repr(C)]
25292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25293pub struct PresentId2KHR {
25294 pub s_type: StructureType,
25295 pub next: *const c_void,
25296 pub swapchain_count: u32,
25297 pub present_ids: *const u64,
25298}
25299
25300impl Default for PresentId2KHR {
25301 #[inline]
25302 fn default() -> Self {
25303 Self {
25304 s_type: StructureType::PRESENT_ID_2_KHR,
25305 next: ptr::null(),
25306 swapchain_count: u32::default(),
25307 present_ids: ptr::null(),
25308 }
25309 }
25310}
25311
25312unsafe impl Send for PresentId2KHR {}
25313unsafe impl Sync for PresentId2KHR {}
25314
25315#[repr(C)]
25317#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25318pub struct PresentIdKHR {
25319 pub s_type: StructureType,
25320 pub next: *const c_void,
25321 pub swapchain_count: u32,
25322 pub present_ids: *const u64,
25323}
25324
25325impl Default for PresentIdKHR {
25326 #[inline]
25327 fn default() -> Self {
25328 Self {
25329 s_type: StructureType::PRESENT_ID_KHR,
25330 next: ptr::null(),
25331 swapchain_count: u32::default(),
25332 present_ids: ptr::null(),
25333 }
25334 }
25335}
25336
25337unsafe impl Send for PresentIdKHR {}
25338unsafe impl Sync for PresentIdKHR {}
25339
25340#[repr(C)]
25342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25343pub struct PresentInfoKHR {
25344 pub s_type: StructureType,
25345 pub next: *const c_void,
25346 pub wait_semaphore_count: u32,
25347 pub wait_semaphores: *const Semaphore,
25348 pub swapchain_count: u32,
25349 pub swapchains: *const SwapchainKHR,
25350 pub image_indices: *const u32,
25351 pub results: *mut Result,
25352}
25353
25354impl Default for PresentInfoKHR {
25355 #[inline]
25356 fn default() -> Self {
25357 Self {
25358 s_type: StructureType::PRESENT_INFO_KHR,
25359 next: ptr::null(),
25360 wait_semaphore_count: u32::default(),
25361 wait_semaphores: ptr::null(),
25362 swapchain_count: u32::default(),
25363 swapchains: ptr::null(),
25364 image_indices: ptr::null(),
25365 results: ptr::null_mut(),
25366 }
25367 }
25368}
25369
25370unsafe impl Send for PresentInfoKHR {}
25371unsafe impl Sync for PresentInfoKHR {}
25372
25373#[repr(C)]
25375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25376pub struct PresentRegionKHR {
25377 pub rectangle_count: u32,
25378 pub rectangles: *const RectLayerKHR,
25379}
25380
25381impl Default for PresentRegionKHR {
25382 #[inline]
25383 fn default() -> Self {
25384 Self {
25385 rectangle_count: u32::default(),
25386 rectangles: ptr::null(),
25387 }
25388 }
25389}
25390
25391unsafe impl Send for PresentRegionKHR {}
25392unsafe impl Sync for PresentRegionKHR {}
25393
25394#[repr(C)]
25396#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25397pub struct PresentRegionsKHR {
25398 pub s_type: StructureType,
25399 pub next: *const c_void,
25400 pub swapchain_count: u32,
25401 pub regions: *const PresentRegionKHR,
25402}
25403
25404impl Default for PresentRegionsKHR {
25405 #[inline]
25406 fn default() -> Self {
25407 Self {
25408 s_type: StructureType::PRESENT_REGIONS_KHR,
25409 next: ptr::null(),
25410 swapchain_count: u32::default(),
25411 regions: ptr::null(),
25412 }
25413 }
25414}
25415
25416unsafe impl Send for PresentRegionsKHR {}
25417unsafe impl Sync for PresentRegionsKHR {}
25418
25419#[repr(C)]
25421#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25422pub struct PresentTimeGOOGLE {
25423 pub present_id: u32,
25424 pub desired_present_time: u64,
25425}
25426
25427#[repr(C)]
25429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25430pub struct PresentTimesInfoGOOGLE {
25431 pub s_type: StructureType,
25432 pub next: *const c_void,
25433 pub swapchain_count: u32,
25434 pub times: *const PresentTimeGOOGLE,
25435}
25436
25437impl Default for PresentTimesInfoGOOGLE {
25438 #[inline]
25439 fn default() -> Self {
25440 Self {
25441 s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
25442 next: ptr::null(),
25443 swapchain_count: u32::default(),
25444 times: ptr::null(),
25445 }
25446 }
25447}
25448
25449unsafe impl Send for PresentTimesInfoGOOGLE {}
25450unsafe impl Sync for PresentTimesInfoGOOGLE {}
25451
25452#[repr(C)]
25454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25455pub struct PresentWait2InfoKHR {
25456 pub s_type: StructureType,
25457 pub next: *const c_void,
25458 pub present_id: u64,
25459 pub timeout: u64,
25460}
25461
25462impl Default for PresentWait2InfoKHR {
25463 #[inline]
25464 fn default() -> Self {
25465 Self {
25466 s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
25467 next: ptr::null(),
25468 present_id: u64::default(),
25469 timeout: u64::default(),
25470 }
25471 }
25472}
25473
25474unsafe impl Send for PresentWait2InfoKHR {}
25475unsafe impl Sync for PresentWait2InfoKHR {}
25476
25477#[repr(C)]
25479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25480pub struct PrivateDataSlotCreateInfo {
25481 pub s_type: StructureType,
25482 pub next: *const c_void,
25483 pub flags: PrivateDataSlotCreateFlags,
25484}
25485
25486impl Default for PrivateDataSlotCreateInfo {
25487 #[inline]
25488 fn default() -> Self {
25489 Self {
25490 s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
25491 next: ptr::null(),
25492 flags: PrivateDataSlotCreateFlags::default(),
25493 }
25494 }
25495}
25496
25497unsafe impl Send for PrivateDataSlotCreateInfo {}
25498unsafe impl Sync for PrivateDataSlotCreateInfo {}
25499
25500#[repr(C)]
25502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25503pub struct ProtectedSubmitInfo {
25504 pub s_type: StructureType,
25505 pub next: *const c_void,
25506 pub protected_submit: Bool32,
25507}
25508
25509impl Default for ProtectedSubmitInfo {
25510 #[inline]
25511 fn default() -> Self {
25512 Self {
25513 s_type: StructureType::PROTECTED_SUBMIT_INFO,
25514 next: ptr::null(),
25515 protected_submit: Bool32::default(),
25516 }
25517 }
25518}
25519
25520unsafe impl Send for ProtectedSubmitInfo {}
25521unsafe impl Sync for ProtectedSubmitInfo {}
25522
25523#[repr(C)]
25525#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25526pub struct PushConstantRange {
25527 pub stage_flags: ShaderStageFlags,
25528 pub offset: u32,
25529 pub size: u32,
25530}
25531
25532#[repr(C)]
25534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25535pub struct PushConstantsInfo {
25536 pub s_type: StructureType,
25537 pub next: *const c_void,
25538 pub layout: PipelineLayout,
25539 pub stage_flags: ShaderStageFlags,
25540 pub offset: u32,
25541 pub size: u32,
25542 pub values: *const c_void,
25543}
25544
25545impl Default for PushConstantsInfo {
25546 #[inline]
25547 fn default() -> Self {
25548 Self {
25549 s_type: StructureType::PUSH_CONSTANTS_INFO,
25550 next: ptr::null(),
25551 layout: PipelineLayout::default(),
25552 stage_flags: ShaderStageFlags::default(),
25553 offset: u32::default(),
25554 size: u32::default(),
25555 values: ptr::null(),
25556 }
25557 }
25558}
25559
25560unsafe impl Send for PushConstantsInfo {}
25561unsafe impl Sync for PushConstantsInfo {}
25562
25563#[repr(C)]
25565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25566pub struct PushDescriptorSetInfo {
25567 pub s_type: StructureType,
25568 pub next: *const c_void,
25569 pub stage_flags: ShaderStageFlags,
25570 pub layout: PipelineLayout,
25571 pub set: u32,
25572 pub descriptor_write_count: u32,
25573 pub descriptor_writes: *const WriteDescriptorSet,
25574}
25575
25576impl Default for PushDescriptorSetInfo {
25577 #[inline]
25578 fn default() -> Self {
25579 Self {
25580 s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
25581 next: ptr::null(),
25582 stage_flags: ShaderStageFlags::default(),
25583 layout: PipelineLayout::default(),
25584 set: u32::default(),
25585 descriptor_write_count: u32::default(),
25586 descriptor_writes: ptr::null(),
25587 }
25588 }
25589}
25590
25591unsafe impl Send for PushDescriptorSetInfo {}
25592unsafe impl Sync for PushDescriptorSetInfo {}
25593
25594#[repr(C)]
25596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25597pub struct PushDescriptorSetWithTemplateInfo {
25598 pub s_type: StructureType,
25599 pub next: *const c_void,
25600 pub descriptor_update_template: DescriptorUpdateTemplate,
25601 pub layout: PipelineLayout,
25602 pub set: u32,
25603 pub data: *const c_void,
25604}
25605
25606impl Default for PushDescriptorSetWithTemplateInfo {
25607 #[inline]
25608 fn default() -> Self {
25609 Self {
25610 s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
25611 next: ptr::null(),
25612 descriptor_update_template: DescriptorUpdateTemplate::default(),
25613 layout: PipelineLayout::default(),
25614 set: u32::default(),
25615 data: ptr::null(),
25616 }
25617 }
25618}
25619
25620unsafe impl Send for PushDescriptorSetWithTemplateInfo {}
25621unsafe impl Sync for PushDescriptorSetWithTemplateInfo {}
25622
25623#[repr(C)]
25625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25626pub struct QueryLowLatencySupportNV {
25627 pub s_type: StructureType,
25628 pub next: *const c_void,
25629 pub queried_low_latency_data: *mut c_void,
25630}
25631
25632impl Default for QueryLowLatencySupportNV {
25633 #[inline]
25634 fn default() -> Self {
25635 Self {
25636 s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
25637 next: ptr::null(),
25638 queried_low_latency_data: ptr::null_mut(),
25639 }
25640 }
25641}
25642
25643unsafe impl Send for QueryLowLatencySupportNV {}
25644unsafe impl Sync for QueryLowLatencySupportNV {}
25645
25646#[repr(C)]
25648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25649pub struct QueryPoolCreateInfo {
25650 pub s_type: StructureType,
25651 pub next: *const c_void,
25652 pub flags: QueryPoolCreateFlags,
25653 pub query_type: QueryType,
25654 pub query_count: u32,
25655 pub pipeline_statistics: QueryPipelineStatisticFlags,
25656}
25657
25658impl Default for QueryPoolCreateInfo {
25659 #[inline]
25660 fn default() -> Self {
25661 Self {
25662 s_type: StructureType::QUERY_POOL_CREATE_INFO,
25663 next: ptr::null(),
25664 flags: QueryPoolCreateFlags::default(),
25665 query_type: QueryType::default(),
25666 query_count: u32::default(),
25667 pipeline_statistics: QueryPipelineStatisticFlags::default(),
25668 }
25669 }
25670}
25671
25672unsafe impl Send for QueryPoolCreateInfo {}
25673unsafe impl Sync for QueryPoolCreateInfo {}
25674
25675#[repr(C)]
25677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25678pub struct QueryPoolPerformanceCreateInfoKHR {
25679 pub s_type: StructureType,
25680 pub next: *const c_void,
25681 pub queue_family_index: u32,
25682 pub counter_index_count: u32,
25683 pub counter_indices: *const u32,
25684}
25685
25686impl Default for QueryPoolPerformanceCreateInfoKHR {
25687 #[inline]
25688 fn default() -> Self {
25689 Self {
25690 s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
25691 next: ptr::null(),
25692 queue_family_index: u32::default(),
25693 counter_index_count: u32::default(),
25694 counter_indices: ptr::null(),
25695 }
25696 }
25697}
25698
25699unsafe impl Send for QueryPoolPerformanceCreateInfoKHR {}
25700unsafe impl Sync for QueryPoolPerformanceCreateInfoKHR {}
25701
25702#[repr(C)]
25704#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25705pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
25706 pub s_type: StructureType,
25707 pub next: *const c_void,
25708 pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
25709}
25710
25711impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
25712 #[inline]
25713 fn default() -> Self {
25714 Self {
25715 s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
25716 next: ptr::null(),
25717 performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
25718 }
25719 }
25720}
25721
25722unsafe impl Send for QueryPoolPerformanceQueryCreateInfoINTEL {}
25723unsafe impl Sync for QueryPoolPerformanceQueryCreateInfoINTEL {}
25724
25725#[repr(C)]
25727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25728pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
25729 pub s_type: StructureType,
25730 pub next: *const c_void,
25731 pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
25732}
25733
25734impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
25735 #[inline]
25736 fn default() -> Self {
25737 Self {
25738 s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
25739 next: ptr::null(),
25740 encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
25741 }
25742 }
25743}
25744
25745unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
25746unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
25747
25748#[repr(C)]
25750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25751pub struct QueueFamilyCheckpointProperties2NV {
25752 pub s_type: StructureType,
25753 pub next: *mut c_void,
25754 pub checkpoint_execution_stage_mask: PipelineStageFlags2,
25755}
25756
25757impl Default for QueueFamilyCheckpointProperties2NV {
25758 #[inline]
25759 fn default() -> Self {
25760 Self {
25761 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
25762 next: ptr::null_mut(),
25763 checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
25764 }
25765 }
25766}
25767
25768unsafe impl Send for QueueFamilyCheckpointProperties2NV {}
25769unsafe impl Sync for QueueFamilyCheckpointProperties2NV {}
25770
25771#[repr(C)]
25773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25774pub struct QueueFamilyCheckpointPropertiesNV {
25775 pub s_type: StructureType,
25776 pub next: *mut c_void,
25777 pub checkpoint_execution_stage_mask: PipelineStageFlags,
25778}
25779
25780impl Default for QueueFamilyCheckpointPropertiesNV {
25781 #[inline]
25782 fn default() -> Self {
25783 Self {
25784 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
25785 next: ptr::null_mut(),
25786 checkpoint_execution_stage_mask: PipelineStageFlags::default(),
25787 }
25788 }
25789}
25790
25791unsafe impl Send for QueueFamilyCheckpointPropertiesNV {}
25792unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {}
25793
25794#[repr(C)]
25796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25797pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
25798 pub s_type: StructureType,
25799 pub next: *const c_void,
25800 pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
25801 pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
25802}
25803
25804impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
25805 #[inline]
25806 fn default() -> Self {
25807 Self {
25808 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
25809 next: ptr::null(),
25810 foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
25811 foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
25812 }
25813 }
25814}
25815
25816unsafe impl Send for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
25817unsafe impl Sync for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
25818
25819#[repr(C)]
25821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25822pub struct QueueFamilyDataGraphPropertiesARM {
25823 pub s_type: StructureType,
25824 pub next: *const c_void,
25825 pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
25826 pub operation: PhysicalDeviceDataGraphOperationSupportARM,
25827}
25828
25829impl Default for QueueFamilyDataGraphPropertiesARM {
25830 #[inline]
25831 fn default() -> Self {
25832 Self {
25833 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
25834 next: ptr::null(),
25835 engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
25836 operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
25837 }
25838 }
25839}
25840
25841unsafe impl Send for QueueFamilyDataGraphPropertiesARM {}
25842unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {}
25843
25844#[repr(C)]
25846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25847pub struct QueueFamilyGlobalPriorityProperties {
25848 pub s_type: StructureType,
25849 pub next: *mut c_void,
25850 pub priority_count: u32,
25851 pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE as usize],
25852}
25853
25854impl Default for QueueFamilyGlobalPriorityProperties {
25855 #[inline]
25856 fn default() -> Self {
25857 Self {
25858 s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
25859 next: ptr::null_mut(),
25860 priority_count: u32::default(),
25861 priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
25862 }
25863 }
25864}
25865
25866unsafe impl Send for QueueFamilyGlobalPriorityProperties {}
25867unsafe impl Sync for QueueFamilyGlobalPriorityProperties {}
25868
25869#[repr(C)]
25871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25872pub struct QueueFamilyOwnershipTransferPropertiesKHR {
25873 pub s_type: StructureType,
25874 pub next: *mut c_void,
25875 pub optimal_image_transfer_to_queue_families: u32,
25876}
25877
25878impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
25879 #[inline]
25880 fn default() -> Self {
25881 Self {
25882 s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
25883 next: ptr::null_mut(),
25884 optimal_image_transfer_to_queue_families: u32::default(),
25885 }
25886 }
25887}
25888
25889unsafe impl Send for QueueFamilyOwnershipTransferPropertiesKHR {}
25890unsafe impl Sync for QueueFamilyOwnershipTransferPropertiesKHR {}
25891
25892#[repr(C)]
25894#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25895pub struct QueueFamilyProperties {
25896 pub queue_flags: QueueFlags,
25897 pub queue_count: u32,
25898 pub timestamp_valid_bits: u32,
25899 pub min_image_transfer_granularity: Extent3D,
25900}
25901
25902#[repr(C)]
25904#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25905pub struct QueueFamilyProperties2 {
25906 pub s_type: StructureType,
25907 pub next: *mut c_void,
25908 pub queue_family_properties: QueueFamilyProperties,
25909}
25910
25911impl Default for QueueFamilyProperties2 {
25912 #[inline]
25913 fn default() -> Self {
25914 Self {
25915 s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
25916 next: ptr::null_mut(),
25917 queue_family_properties: QueueFamilyProperties::default(),
25918 }
25919 }
25920}
25921
25922unsafe impl Send for QueueFamilyProperties2 {}
25923unsafe impl Sync for QueueFamilyProperties2 {}
25924
25925#[repr(C)]
25927#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25928pub struct QueueFamilyQueryResultStatusPropertiesKHR {
25929 pub s_type: StructureType,
25930 pub next: *mut c_void,
25931 pub query_result_status_support: Bool32,
25932}
25933
25934impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
25935 #[inline]
25936 fn default() -> Self {
25937 Self {
25938 s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
25939 next: ptr::null_mut(),
25940 query_result_status_support: Bool32::default(),
25941 }
25942 }
25943}
25944
25945unsafe impl Send for QueueFamilyQueryResultStatusPropertiesKHR {}
25946unsafe impl Sync for QueueFamilyQueryResultStatusPropertiesKHR {}
25947
25948#[repr(C)]
25950#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25951pub struct QueueFamilyVideoPropertiesKHR {
25952 pub s_type: StructureType,
25953 pub next: *mut c_void,
25954 pub video_codec_operations: VideoCodecOperationFlagsKHR,
25955}
25956
25957impl Default for QueueFamilyVideoPropertiesKHR {
25958 #[inline]
25959 fn default() -> Self {
25960 Self {
25961 s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
25962 next: ptr::null_mut(),
25963 video_codec_operations: VideoCodecOperationFlagsKHR::default(),
25964 }
25965 }
25966}
25967
25968unsafe impl Send for QueueFamilyVideoPropertiesKHR {}
25969unsafe impl Sync for QueueFamilyVideoPropertiesKHR {}
25970
25971#[repr(C)]
25973#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25974pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
25975 pub s_type: StructureType,
25976 pub next: *mut c_void,
25977 pub allow_cluster_acceleration_structure: Bool32,
25978}
25979
25980impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
25981 #[inline]
25982 fn default() -> Self {
25983 Self {
25984 s_type:
25985 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
25986 next: ptr::null_mut(),
25987 allow_cluster_acceleration_structure: Bool32::default(),
25988 }
25989 }
25990}
25991
25992unsafe impl Send for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
25993unsafe impl Sync for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
25994
25995#[repr(C)]
25997#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25998pub struct RayTracingPipelineCreateInfoKHR {
25999 pub s_type: StructureType,
26000 pub next: *const c_void,
26001 pub flags: PipelineCreateFlags,
26002 pub stage_count: u32,
26003 pub stages: *const PipelineShaderStageCreateInfo,
26004 pub group_count: u32,
26005 pub groups: *const RayTracingShaderGroupCreateInfoKHR,
26006 pub max_pipeline_ray_recursion_depth: u32,
26007 pub library_info: *const PipelineLibraryCreateInfoKHR,
26008 pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
26009 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
26010 pub layout: PipelineLayout,
26011 pub base_pipeline_handle: Pipeline,
26012 pub base_pipeline_index: i32,
26013}
26014
26015impl Default for RayTracingPipelineCreateInfoKHR {
26016 #[inline]
26017 fn default() -> Self {
26018 Self {
26019 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
26020 next: ptr::null(),
26021 flags: PipelineCreateFlags::default(),
26022 stage_count: u32::default(),
26023 stages: ptr::null(),
26024 group_count: u32::default(),
26025 groups: ptr::null(),
26026 max_pipeline_ray_recursion_depth: u32::default(),
26027 library_info: ptr::null(),
26028 library_interface: ptr::null(),
26029 dynamic_state: ptr::null(),
26030 layout: PipelineLayout::default(),
26031 base_pipeline_handle: Pipeline::default(),
26032 base_pipeline_index: i32::default(),
26033 }
26034 }
26035}
26036
26037unsafe impl Send for RayTracingPipelineCreateInfoKHR {}
26038unsafe impl Sync for RayTracingPipelineCreateInfoKHR {}
26039
26040#[repr(C)]
26042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26043pub struct RayTracingPipelineCreateInfoNV {
26044 pub s_type: StructureType,
26045 pub next: *const c_void,
26046 pub flags: PipelineCreateFlags,
26047 pub stage_count: u32,
26048 pub stages: *const PipelineShaderStageCreateInfo,
26049 pub group_count: u32,
26050 pub groups: *const RayTracingShaderGroupCreateInfoNV,
26051 pub max_recursion_depth: u32,
26052 pub layout: PipelineLayout,
26053 pub base_pipeline_handle: Pipeline,
26054 pub base_pipeline_index: i32,
26055}
26056
26057impl Default for RayTracingPipelineCreateInfoNV {
26058 #[inline]
26059 fn default() -> Self {
26060 Self {
26061 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
26062 next: ptr::null(),
26063 flags: PipelineCreateFlags::default(),
26064 stage_count: u32::default(),
26065 stages: ptr::null(),
26066 group_count: u32::default(),
26067 groups: ptr::null(),
26068 max_recursion_depth: u32::default(),
26069 layout: PipelineLayout::default(),
26070 base_pipeline_handle: Pipeline::default(),
26071 base_pipeline_index: i32::default(),
26072 }
26073 }
26074}
26075
26076unsafe impl Send for RayTracingPipelineCreateInfoNV {}
26077unsafe impl Sync for RayTracingPipelineCreateInfoNV {}
26078
26079#[repr(C)]
26081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26082pub struct RayTracingPipelineInterfaceCreateInfoKHR {
26083 pub s_type: StructureType,
26084 pub next: *const c_void,
26085 pub max_pipeline_ray_payload_size: u32,
26086 pub max_pipeline_ray_hit_attribute_size: u32,
26087}
26088
26089impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
26090 #[inline]
26091 fn default() -> Self {
26092 Self {
26093 s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
26094 next: ptr::null(),
26095 max_pipeline_ray_payload_size: u32::default(),
26096 max_pipeline_ray_hit_attribute_size: u32::default(),
26097 }
26098 }
26099}
26100
26101unsafe impl Send for RayTracingPipelineInterfaceCreateInfoKHR {}
26102unsafe impl Sync for RayTracingPipelineInterfaceCreateInfoKHR {}
26103
26104#[repr(C)]
26106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26107pub struct RayTracingShaderGroupCreateInfoKHR {
26108 pub s_type: StructureType,
26109 pub next: *const c_void,
26110 pub type_: RayTracingShaderGroupTypeKHR,
26111 pub general_shader: u32,
26112 pub closest_hit_shader: u32,
26113 pub any_hit_shader: u32,
26114 pub intersection_shader: u32,
26115 pub shader_group_capture_replay_handle: *const c_void,
26116}
26117
26118impl Default for RayTracingShaderGroupCreateInfoKHR {
26119 #[inline]
26120 fn default() -> Self {
26121 Self {
26122 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
26123 next: ptr::null(),
26124 type_: RayTracingShaderGroupTypeKHR::default(),
26125 general_shader: u32::default(),
26126 closest_hit_shader: u32::default(),
26127 any_hit_shader: u32::default(),
26128 intersection_shader: u32::default(),
26129 shader_group_capture_replay_handle: ptr::null(),
26130 }
26131 }
26132}
26133
26134unsafe impl Send for RayTracingShaderGroupCreateInfoKHR {}
26135unsafe impl Sync for RayTracingShaderGroupCreateInfoKHR {}
26136
26137#[repr(C)]
26139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26140pub struct RayTracingShaderGroupCreateInfoNV {
26141 pub s_type: StructureType,
26142 pub next: *const c_void,
26143 pub type_: RayTracingShaderGroupTypeKHR,
26144 pub general_shader: u32,
26145 pub closest_hit_shader: u32,
26146 pub any_hit_shader: u32,
26147 pub intersection_shader: u32,
26148}
26149
26150impl Default for RayTracingShaderGroupCreateInfoNV {
26151 #[inline]
26152 fn default() -> Self {
26153 Self {
26154 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
26155 next: ptr::null(),
26156 type_: RayTracingShaderGroupTypeKHR::default(),
26157 general_shader: u32::default(),
26158 closest_hit_shader: u32::default(),
26159 any_hit_shader: u32::default(),
26160 intersection_shader: u32::default(),
26161 }
26162 }
26163}
26164
26165unsafe impl Send for RayTracingShaderGroupCreateInfoNV {}
26166unsafe impl Sync for RayTracingShaderGroupCreateInfoNV {}
26167
26168#[repr(C)]
26170#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26171pub struct Rect2D {
26172 pub offset: Offset2D,
26173 pub extent: Extent2D,
26174}
26175
26176#[repr(C)]
26178#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26179pub struct RectLayerKHR {
26180 pub offset: Offset2D,
26181 pub extent: Extent2D,
26182 pub layer: u32,
26183}
26184
26185#[repr(C)]
26187#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26188pub struct RefreshCycleDurationGOOGLE {
26189 pub refresh_duration: u64,
26190}
26191
26192#[repr(C)]
26194#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26195pub struct RefreshObjectKHR {
26196 pub object_type: ObjectType,
26197 pub object_handle: u64,
26198 pub flags: RefreshObjectFlagsKHR,
26199}
26200
26201#[repr(C)]
26203#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26204pub struct RefreshObjectListKHR {
26205 pub s_type: StructureType,
26206 pub next: *const c_void,
26207 pub object_count: u32,
26208 pub objects: *const RefreshObjectKHR,
26209}
26210
26211impl Default for RefreshObjectListKHR {
26212 #[inline]
26213 fn default() -> Self {
26214 Self {
26215 s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
26216 next: ptr::null(),
26217 object_count: u32::default(),
26218 objects: ptr::null(),
26219 }
26220 }
26221}
26222
26223unsafe impl Send for RefreshObjectListKHR {}
26224unsafe impl Sync for RefreshObjectListKHR {}
26225
26226#[repr(C)]
26228#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26229pub struct ReleaseCapturedPipelineDataInfoKHR {
26230 pub s_type: StructureType,
26231 pub next: *mut c_void,
26232 pub pipeline: Pipeline,
26233}
26234
26235impl Default for ReleaseCapturedPipelineDataInfoKHR {
26236 #[inline]
26237 fn default() -> Self {
26238 Self {
26239 s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
26240 next: ptr::null_mut(),
26241 pipeline: Pipeline::default(),
26242 }
26243 }
26244}
26245
26246unsafe impl Send for ReleaseCapturedPipelineDataInfoKHR {}
26247unsafe impl Sync for ReleaseCapturedPipelineDataInfoKHR {}
26248
26249#[repr(C)]
26251#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26252pub struct ReleaseSwapchainImagesInfoKHR {
26253 pub s_type: StructureType,
26254 pub next: *const c_void,
26255 pub swapchain: SwapchainKHR,
26256 pub image_index_count: u32,
26257 pub image_indices: *const u32,
26258}
26259
26260impl Default for ReleaseSwapchainImagesInfoKHR {
26261 #[inline]
26262 fn default() -> Self {
26263 Self {
26264 s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
26265 next: ptr::null(),
26266 swapchain: SwapchainKHR::default(),
26267 image_index_count: u32::default(),
26268 image_indices: ptr::null(),
26269 }
26270 }
26271}
26272
26273unsafe impl Send for ReleaseSwapchainImagesInfoKHR {}
26274unsafe impl Sync for ReleaseSwapchainImagesInfoKHR {}
26275
26276#[repr(C)]
26278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26279pub struct RenderPassAttachmentBeginInfo {
26280 pub s_type: StructureType,
26281 pub next: *const c_void,
26282 pub attachment_count: u32,
26283 pub attachments: *const ImageView,
26284}
26285
26286impl Default for RenderPassAttachmentBeginInfo {
26287 #[inline]
26288 fn default() -> Self {
26289 Self {
26290 s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
26291 next: ptr::null(),
26292 attachment_count: u32::default(),
26293 attachments: ptr::null(),
26294 }
26295 }
26296}
26297
26298unsafe impl Send for RenderPassAttachmentBeginInfo {}
26299unsafe impl Sync for RenderPassAttachmentBeginInfo {}
26300
26301#[repr(C)]
26303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26304pub struct RenderPassBeginInfo {
26305 pub s_type: StructureType,
26306 pub next: *const c_void,
26307 pub render_pass: RenderPass,
26308 pub framebuffer: Framebuffer,
26309 pub render_area: Rect2D,
26310 pub clear_value_count: u32,
26311 pub clear_values: *const ClearValue,
26312}
26313
26314impl Default for RenderPassBeginInfo {
26315 #[inline]
26316 fn default() -> Self {
26317 Self {
26318 s_type: StructureType::RENDER_PASS_BEGIN_INFO,
26319 next: ptr::null(),
26320 render_pass: RenderPass::default(),
26321 framebuffer: Framebuffer::default(),
26322 render_area: Rect2D::default(),
26323 clear_value_count: u32::default(),
26324 clear_values: ptr::null(),
26325 }
26326 }
26327}
26328
26329unsafe impl Send for RenderPassBeginInfo {}
26330unsafe impl Sync for RenderPassBeginInfo {}
26331
26332#[repr(C)]
26334#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26335pub struct RenderPassCreateInfo {
26336 pub s_type: StructureType,
26337 pub next: *const c_void,
26338 pub flags: RenderPassCreateFlags,
26339 pub attachment_count: u32,
26340 pub attachments: *const AttachmentDescription,
26341 pub subpass_count: u32,
26342 pub subpasses: *const SubpassDescription,
26343 pub dependency_count: u32,
26344 pub dependencies: *const SubpassDependency,
26345}
26346
26347impl Default for RenderPassCreateInfo {
26348 #[inline]
26349 fn default() -> Self {
26350 Self {
26351 s_type: StructureType::RENDER_PASS_CREATE_INFO,
26352 next: ptr::null(),
26353 flags: RenderPassCreateFlags::default(),
26354 attachment_count: u32::default(),
26355 attachments: ptr::null(),
26356 subpass_count: u32::default(),
26357 subpasses: ptr::null(),
26358 dependency_count: u32::default(),
26359 dependencies: ptr::null(),
26360 }
26361 }
26362}
26363
26364unsafe impl Send for RenderPassCreateInfo {}
26365unsafe impl Sync for RenderPassCreateInfo {}
26366
26367#[repr(C)]
26369#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26370pub struct RenderPassCreateInfo2 {
26371 pub s_type: StructureType,
26372 pub next: *const c_void,
26373 pub flags: RenderPassCreateFlags,
26374 pub attachment_count: u32,
26375 pub attachments: *const AttachmentDescription2,
26376 pub subpass_count: u32,
26377 pub subpasses: *const SubpassDescription2,
26378 pub dependency_count: u32,
26379 pub dependencies: *const SubpassDependency2,
26380 pub correlated_view_mask_count: u32,
26381 pub correlated_view_masks: *const u32,
26382}
26383
26384impl Default for RenderPassCreateInfo2 {
26385 #[inline]
26386 fn default() -> Self {
26387 Self {
26388 s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
26389 next: ptr::null(),
26390 flags: RenderPassCreateFlags::default(),
26391 attachment_count: u32::default(),
26392 attachments: ptr::null(),
26393 subpass_count: u32::default(),
26394 subpasses: ptr::null(),
26395 dependency_count: u32::default(),
26396 dependencies: ptr::null(),
26397 correlated_view_mask_count: u32::default(),
26398 correlated_view_masks: ptr::null(),
26399 }
26400 }
26401}
26402
26403unsafe impl Send for RenderPassCreateInfo2 {}
26404unsafe impl Sync for RenderPassCreateInfo2 {}
26405
26406#[repr(C)]
26408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26409pub struct RenderPassCreationControlEXT {
26410 pub s_type: StructureType,
26411 pub next: *const c_void,
26412 pub disallow_merging: Bool32,
26413}
26414
26415impl Default for RenderPassCreationControlEXT {
26416 #[inline]
26417 fn default() -> Self {
26418 Self {
26419 s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
26420 next: ptr::null(),
26421 disallow_merging: Bool32::default(),
26422 }
26423 }
26424}
26425
26426unsafe impl Send for RenderPassCreationControlEXT {}
26427unsafe impl Sync for RenderPassCreationControlEXT {}
26428
26429#[repr(C)]
26431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26432pub struct RenderPassCreationFeedbackCreateInfoEXT {
26433 pub s_type: StructureType,
26434 pub next: *const c_void,
26435 pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
26436}
26437
26438impl Default for RenderPassCreationFeedbackCreateInfoEXT {
26439 #[inline]
26440 fn default() -> Self {
26441 Self {
26442 s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
26443 next: ptr::null(),
26444 render_pass_feedback: ptr::null_mut(),
26445 }
26446 }
26447}
26448
26449unsafe impl Send for RenderPassCreationFeedbackCreateInfoEXT {}
26450unsafe impl Sync for RenderPassCreationFeedbackCreateInfoEXT {}
26451
26452#[repr(C)]
26454#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26455pub struct RenderPassCreationFeedbackInfoEXT {
26456 pub post_merge_subpass_count: u32,
26457}
26458
26459#[repr(C)]
26461#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26462pub struct RenderPassFragmentDensityMapCreateInfoEXT {
26463 pub s_type: StructureType,
26464 pub next: *const c_void,
26465 pub fragment_density_map_attachment: AttachmentReference,
26466}
26467
26468impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
26469 #[inline]
26470 fn default() -> Self {
26471 Self {
26472 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
26473 next: ptr::null(),
26474 fragment_density_map_attachment: AttachmentReference::default(),
26475 }
26476 }
26477}
26478
26479unsafe impl Send for RenderPassFragmentDensityMapCreateInfoEXT {}
26480unsafe impl Sync for RenderPassFragmentDensityMapCreateInfoEXT {}
26481
26482#[repr(C)]
26484#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26485pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
26486 pub s_type: StructureType,
26487 pub next: *const c_void,
26488 pub fragment_density_offset_count: u32,
26489 pub fragment_density_offsets: *const Offset2D,
26490}
26491
26492impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
26493 #[inline]
26494 fn default() -> Self {
26495 Self {
26496 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
26497 next: ptr::null(),
26498 fragment_density_offset_count: u32::default(),
26499 fragment_density_offsets: ptr::null(),
26500 }
26501 }
26502}
26503
26504unsafe impl Send for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
26505unsafe impl Sync for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
26506
26507#[repr(C)]
26509#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26510pub struct RenderPassInputAttachmentAspectCreateInfo {
26511 pub s_type: StructureType,
26512 pub next: *const c_void,
26513 pub aspect_reference_count: u32,
26514 pub aspect_references: *const InputAttachmentAspectReference,
26515}
26516
26517impl Default for RenderPassInputAttachmentAspectCreateInfo {
26518 #[inline]
26519 fn default() -> Self {
26520 Self {
26521 s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
26522 next: ptr::null(),
26523 aspect_reference_count: u32::default(),
26524 aspect_references: ptr::null(),
26525 }
26526 }
26527}
26528
26529unsafe impl Send for RenderPassInputAttachmentAspectCreateInfo {}
26530unsafe impl Sync for RenderPassInputAttachmentAspectCreateInfo {}
26531
26532#[repr(C)]
26534#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26535pub struct RenderPassMultiviewCreateInfo {
26536 pub s_type: StructureType,
26537 pub next: *const c_void,
26538 pub subpass_count: u32,
26539 pub view_masks: *const u32,
26540 pub dependency_count: u32,
26541 pub view_offsets: *const i32,
26542 pub correlation_mask_count: u32,
26543 pub correlation_masks: *const u32,
26544}
26545
26546impl Default for RenderPassMultiviewCreateInfo {
26547 #[inline]
26548 fn default() -> Self {
26549 Self {
26550 s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
26551 next: ptr::null(),
26552 subpass_count: u32::default(),
26553 view_masks: ptr::null(),
26554 dependency_count: u32::default(),
26555 view_offsets: ptr::null(),
26556 correlation_mask_count: u32::default(),
26557 correlation_masks: ptr::null(),
26558 }
26559 }
26560}
26561
26562unsafe impl Send for RenderPassMultiviewCreateInfo {}
26563unsafe impl Sync for RenderPassMultiviewCreateInfo {}
26564
26565#[repr(C)]
26567#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26568pub struct RenderPassPerformanceCountersByRegionBeginInfoARM {
26569 pub s_type: StructureType,
26570 pub next: *mut c_void,
26571 pub counter_address_count: u32,
26572 pub counter_addresses: *const DeviceAddress,
26573 pub serialize_regions: Bool32,
26574 pub counter_index_count: u32,
26575 pub counter_indices: *mut u32,
26576}
26577
26578impl Default for RenderPassPerformanceCountersByRegionBeginInfoARM {
26579 #[inline]
26580 fn default() -> Self {
26581 Self {
26582 s_type: StructureType::RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM,
26583 next: ptr::null_mut(),
26584 counter_address_count: u32::default(),
26585 counter_addresses: ptr::null(),
26586 serialize_regions: Bool32::default(),
26587 counter_index_count: u32::default(),
26588 counter_indices: ptr::null_mut(),
26589 }
26590 }
26591}
26592
26593unsafe impl Send for RenderPassPerformanceCountersByRegionBeginInfoARM {}
26594unsafe impl Sync for RenderPassPerformanceCountersByRegionBeginInfoARM {}
26595
26596#[repr(C)]
26598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26599pub struct RenderPassSampleLocationsBeginInfoEXT {
26600 pub s_type: StructureType,
26601 pub next: *const c_void,
26602 pub attachment_initial_sample_locations_count: u32,
26603 pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
26604 pub post_subpass_sample_locations_count: u32,
26605 pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
26606}
26607
26608impl Default for RenderPassSampleLocationsBeginInfoEXT {
26609 #[inline]
26610 fn default() -> Self {
26611 Self {
26612 s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
26613 next: ptr::null(),
26614 attachment_initial_sample_locations_count: u32::default(),
26615 attachment_initial_sample_locations: ptr::null(),
26616 post_subpass_sample_locations_count: u32::default(),
26617 post_subpass_sample_locations: ptr::null(),
26618 }
26619 }
26620}
26621
26622unsafe impl Send for RenderPassSampleLocationsBeginInfoEXT {}
26623unsafe impl Sync for RenderPassSampleLocationsBeginInfoEXT {}
26624
26625#[repr(C)]
26627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26628pub struct RenderPassStripeBeginInfoARM {
26629 pub s_type: StructureType,
26630 pub next: *const c_void,
26631 pub stripe_info_count: u32,
26632 pub stripe_infos: *const RenderPassStripeInfoARM,
26633}
26634
26635impl Default for RenderPassStripeBeginInfoARM {
26636 #[inline]
26637 fn default() -> Self {
26638 Self {
26639 s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
26640 next: ptr::null(),
26641 stripe_info_count: u32::default(),
26642 stripe_infos: ptr::null(),
26643 }
26644 }
26645}
26646
26647unsafe impl Send for RenderPassStripeBeginInfoARM {}
26648unsafe impl Sync for RenderPassStripeBeginInfoARM {}
26649
26650#[repr(C)]
26652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26653pub struct RenderPassStripeInfoARM {
26654 pub s_type: StructureType,
26655 pub next: *const c_void,
26656 pub stripe_area: Rect2D,
26657}
26658
26659impl Default for RenderPassStripeInfoARM {
26660 #[inline]
26661 fn default() -> Self {
26662 Self {
26663 s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
26664 next: ptr::null(),
26665 stripe_area: Rect2D::default(),
26666 }
26667 }
26668}
26669
26670unsafe impl Send for RenderPassStripeInfoARM {}
26671unsafe impl Sync for RenderPassStripeInfoARM {}
26672
26673#[repr(C)]
26675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26676pub struct RenderPassStripeSubmitInfoARM {
26677 pub s_type: StructureType,
26678 pub next: *const c_void,
26679 pub stripe_semaphore_info_count: u32,
26680 pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
26681}
26682
26683impl Default for RenderPassStripeSubmitInfoARM {
26684 #[inline]
26685 fn default() -> Self {
26686 Self {
26687 s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
26688 next: ptr::null(),
26689 stripe_semaphore_info_count: u32::default(),
26690 stripe_semaphore_infos: ptr::null(),
26691 }
26692 }
26693}
26694
26695unsafe impl Send for RenderPassStripeSubmitInfoARM {}
26696unsafe impl Sync for RenderPassStripeSubmitInfoARM {}
26697
26698#[repr(C)]
26700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26701pub struct RenderPassSubpassFeedbackCreateInfoEXT {
26702 pub s_type: StructureType,
26703 pub next: *const c_void,
26704 pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
26705}
26706
26707impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
26708 #[inline]
26709 fn default() -> Self {
26710 Self {
26711 s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
26712 next: ptr::null(),
26713 subpass_feedback: ptr::null_mut(),
26714 }
26715 }
26716}
26717
26718unsafe impl Send for RenderPassSubpassFeedbackCreateInfoEXT {}
26719unsafe impl Sync for RenderPassSubpassFeedbackCreateInfoEXT {}
26720
26721#[repr(C)]
26723#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26724pub struct RenderPassSubpassFeedbackInfoEXT {
26725 pub subpass_merge_status: SubpassMergeStatusEXT,
26726 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
26727 pub post_merge_index: u32,
26728}
26729
26730#[repr(C)]
26732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26733pub struct RenderPassTileShadingCreateInfoQCOM {
26734 pub s_type: StructureType,
26735 pub next: *const c_void,
26736 pub flags: TileShadingRenderPassFlagsQCOM,
26737 pub tile_apron_size: Extent2D,
26738}
26739
26740impl Default for RenderPassTileShadingCreateInfoQCOM {
26741 #[inline]
26742 fn default() -> Self {
26743 Self {
26744 s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
26745 next: ptr::null(),
26746 flags: TileShadingRenderPassFlagsQCOM::default(),
26747 tile_apron_size: Extent2D::default(),
26748 }
26749 }
26750}
26751
26752unsafe impl Send for RenderPassTileShadingCreateInfoQCOM {}
26753unsafe impl Sync for RenderPassTileShadingCreateInfoQCOM {}
26754
26755#[repr(C)]
26757#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26758pub struct RenderPassTransformBeginInfoQCOM {
26759 pub s_type: StructureType,
26760 pub next: *const c_void,
26761 pub transform: SurfaceTransformFlagsKHR,
26762}
26763
26764impl Default for RenderPassTransformBeginInfoQCOM {
26765 #[inline]
26766 fn default() -> Self {
26767 Self {
26768 s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
26769 next: ptr::null(),
26770 transform: SurfaceTransformFlagsKHR::default(),
26771 }
26772 }
26773}
26774
26775unsafe impl Send for RenderPassTransformBeginInfoQCOM {}
26776unsafe impl Sync for RenderPassTransformBeginInfoQCOM {}
26777
26778#[repr(C)]
26780#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26781pub struct RenderingAreaInfo {
26782 pub s_type: StructureType,
26783 pub next: *const c_void,
26784 pub view_mask: u32,
26785 pub color_attachment_count: u32,
26786 pub color_attachment_formats: *const Format,
26787 pub depth_attachment_format: Format,
26788 pub stencil_attachment_format: Format,
26789}
26790
26791impl Default for RenderingAreaInfo {
26792 #[inline]
26793 fn default() -> Self {
26794 Self {
26795 s_type: StructureType::RENDERING_AREA_INFO,
26796 next: ptr::null(),
26797 view_mask: u32::default(),
26798 color_attachment_count: u32::default(),
26799 color_attachment_formats: ptr::null(),
26800 depth_attachment_format: Format::default(),
26801 stencil_attachment_format: Format::default(),
26802 }
26803 }
26804}
26805
26806unsafe impl Send for RenderingAreaInfo {}
26807unsafe impl Sync for RenderingAreaInfo {}
26808
26809#[repr(C)]
26811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26812pub struct RenderingAttachmentFlagsInfoKHR {
26813 pub s_type: StructureType,
26814 pub next: *const c_void,
26815 pub flags: RenderingAttachmentFlagsKHR,
26816}
26817
26818impl Default for RenderingAttachmentFlagsInfoKHR {
26819 #[inline]
26820 fn default() -> Self {
26821 Self {
26822 s_type: StructureType::RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
26823 next: ptr::null(),
26824 flags: RenderingAttachmentFlagsKHR::default(),
26825 }
26826 }
26827}
26828
26829unsafe impl Send for RenderingAttachmentFlagsInfoKHR {}
26830unsafe impl Sync for RenderingAttachmentFlagsInfoKHR {}
26831
26832#[repr(C)]
26834#[derive(Copy, Clone, Debug)]
26835pub struct RenderingAttachmentInfo {
26836 pub s_type: StructureType,
26837 pub next: *const c_void,
26838 pub image_view: ImageView,
26839 pub image_layout: ImageLayout,
26840 pub resolve_mode: ResolveModeFlags,
26841 pub resolve_image_view: ImageView,
26842 pub resolve_image_layout: ImageLayout,
26843 pub load_op: AttachmentLoadOp,
26844 pub store_op: AttachmentStoreOp,
26845 pub clear_value: ClearValue,
26846}
26847
26848impl Default for RenderingAttachmentInfo {
26849 #[inline]
26850 fn default() -> Self {
26851 Self {
26852 s_type: StructureType::RENDERING_ATTACHMENT_INFO,
26853 next: ptr::null(),
26854 image_view: ImageView::default(),
26855 image_layout: ImageLayout::default(),
26856 resolve_mode: ResolveModeFlags::default(),
26857 resolve_image_view: ImageView::default(),
26858 resolve_image_layout: ImageLayout::default(),
26859 load_op: AttachmentLoadOp::default(),
26860 store_op: AttachmentStoreOp::default(),
26861 clear_value: ClearValue::default(),
26862 }
26863 }
26864}
26865
26866unsafe impl Send for RenderingAttachmentInfo {}
26867unsafe impl Sync for RenderingAttachmentInfo {}
26868
26869#[repr(C)]
26871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26872pub struct RenderingAttachmentLocationInfo {
26873 pub s_type: StructureType,
26874 pub next: *const c_void,
26875 pub color_attachment_count: u32,
26876 pub color_attachment_locations: *const u32,
26877}
26878
26879impl Default for RenderingAttachmentLocationInfo {
26880 #[inline]
26881 fn default() -> Self {
26882 Self {
26883 s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
26884 next: ptr::null(),
26885 color_attachment_count: u32::default(),
26886 color_attachment_locations: ptr::null(),
26887 }
26888 }
26889}
26890
26891unsafe impl Send for RenderingAttachmentLocationInfo {}
26892unsafe impl Sync for RenderingAttachmentLocationInfo {}
26893
26894#[repr(C)]
26896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26897pub struct RenderingEndInfoKHR {
26898 pub s_type: StructureType,
26899 pub next: *const c_void,
26900}
26901
26902impl Default for RenderingEndInfoKHR {
26903 #[inline]
26904 fn default() -> Self {
26905 Self {
26906 s_type: StructureType::RENDERING_END_INFO_KHR,
26907 next: ptr::null(),
26908 }
26909 }
26910}
26911
26912unsafe impl Send for RenderingEndInfoKHR {}
26913unsafe impl Sync for RenderingEndInfoKHR {}
26914
26915#[repr(C)]
26917#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26918pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
26919 pub s_type: StructureType,
26920 pub next: *const c_void,
26921 pub image_view: ImageView,
26922 pub image_layout: ImageLayout,
26923}
26924
26925impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
26926 #[inline]
26927 fn default() -> Self {
26928 Self {
26929 s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
26930 next: ptr::null(),
26931 image_view: ImageView::default(),
26932 image_layout: ImageLayout::default(),
26933 }
26934 }
26935}
26936
26937unsafe impl Send for RenderingFragmentDensityMapAttachmentInfoEXT {}
26938unsafe impl Sync for RenderingFragmentDensityMapAttachmentInfoEXT {}
26939
26940#[repr(C)]
26942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26943pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
26944 pub s_type: StructureType,
26945 pub next: *const c_void,
26946 pub image_view: ImageView,
26947 pub image_layout: ImageLayout,
26948 pub shading_rate_attachment_texel_size: Extent2D,
26949}
26950
26951impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
26952 #[inline]
26953 fn default() -> Self {
26954 Self {
26955 s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
26956 next: ptr::null(),
26957 image_view: ImageView::default(),
26958 image_layout: ImageLayout::default(),
26959 shading_rate_attachment_texel_size: Extent2D::default(),
26960 }
26961 }
26962}
26963
26964unsafe impl Send for RenderingFragmentShadingRateAttachmentInfoKHR {}
26965unsafe impl Sync for RenderingFragmentShadingRateAttachmentInfoKHR {}
26966
26967#[repr(C)]
26969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26970pub struct RenderingInfo {
26971 pub s_type: StructureType,
26972 pub next: *const c_void,
26973 pub flags: RenderingFlags,
26974 pub render_area: Rect2D,
26975 pub layer_count: u32,
26976 pub view_mask: u32,
26977 pub color_attachment_count: u32,
26978 pub color_attachments: *const RenderingAttachmentInfo,
26979 pub depth_attachment: *const RenderingAttachmentInfo,
26980 pub stencil_attachment: *const RenderingAttachmentInfo,
26981}
26982
26983impl Default for RenderingInfo {
26984 #[inline]
26985 fn default() -> Self {
26986 Self {
26987 s_type: StructureType::RENDERING_INFO,
26988 next: ptr::null(),
26989 flags: RenderingFlags::default(),
26990 render_area: Rect2D::default(),
26991 layer_count: u32::default(),
26992 view_mask: u32::default(),
26993 color_attachment_count: u32::default(),
26994 color_attachments: ptr::null(),
26995 depth_attachment: ptr::null(),
26996 stencil_attachment: ptr::null(),
26997 }
26998 }
26999}
27000
27001unsafe impl Send for RenderingInfo {}
27002unsafe impl Sync for RenderingInfo {}
27003
27004#[repr(C)]
27006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27007pub struct RenderingInputAttachmentIndexInfo {
27008 pub s_type: StructureType,
27009 pub next: *const c_void,
27010 pub color_attachment_count: u32,
27011 pub color_attachment_input_indices: *const u32,
27012 pub depth_input_attachment_index: *const u32,
27013 pub stencil_input_attachment_index: *const u32,
27014}
27015
27016impl Default for RenderingInputAttachmentIndexInfo {
27017 #[inline]
27018 fn default() -> Self {
27019 Self {
27020 s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
27021 next: ptr::null(),
27022 color_attachment_count: u32::default(),
27023 color_attachment_input_indices: ptr::null(),
27024 depth_input_attachment_index: ptr::null(),
27025 stencil_input_attachment_index: ptr::null(),
27026 }
27027 }
27028}
27029
27030unsafe impl Send for RenderingInputAttachmentIndexInfo {}
27031unsafe impl Sync for RenderingInputAttachmentIndexInfo {}
27032
27033#[repr(C)]
27035#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27036pub struct ResolveImageInfo2 {
27037 pub s_type: StructureType,
27038 pub next: *const c_void,
27039 pub src_image: Image,
27040 pub src_image_layout: ImageLayout,
27041 pub dst_image: Image,
27042 pub dst_image_layout: ImageLayout,
27043 pub region_count: u32,
27044 pub regions: *const ImageResolve2,
27045}
27046
27047impl Default for ResolveImageInfo2 {
27048 #[inline]
27049 fn default() -> Self {
27050 Self {
27051 s_type: StructureType::RESOLVE_IMAGE_INFO_2,
27052 next: ptr::null(),
27053 src_image: Image::default(),
27054 src_image_layout: ImageLayout::default(),
27055 dst_image: Image::default(),
27056 dst_image_layout: ImageLayout::default(),
27057 region_count: u32::default(),
27058 regions: ptr::null(),
27059 }
27060 }
27061}
27062
27063unsafe impl Send for ResolveImageInfo2 {}
27064unsafe impl Sync for ResolveImageInfo2 {}
27065
27066#[repr(C)]
27068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27069pub struct ResolveImageModeInfoKHR {
27070 pub s_type: StructureType,
27071 pub next: *const c_void,
27072 pub flags: ResolveImageFlagsKHR,
27073 pub resolve_mode: ResolveModeFlags,
27074 pub stencil_resolve_mode: ResolveModeFlags,
27075}
27076
27077impl Default for ResolveImageModeInfoKHR {
27078 #[inline]
27079 fn default() -> Self {
27080 Self {
27081 s_type: StructureType::RESOLVE_IMAGE_MODE_INFO_KHR,
27082 next: ptr::null(),
27083 flags: ResolveImageFlagsKHR::default(),
27084 resolve_mode: ResolveModeFlags::default(),
27085 stencil_resolve_mode: ResolveModeFlags::default(),
27086 }
27087 }
27088}
27089
27090unsafe impl Send for ResolveImageModeInfoKHR {}
27091unsafe impl Sync for ResolveImageModeInfoKHR {}
27092
27093#[repr(C)]
27095#[derive(Copy, Clone, Default, Debug, PartialEq)]
27096pub struct SRTDataNV {
27097 pub sx: f32,
27098 pub a: f32,
27099 pub b: f32,
27100 pub pvx: f32,
27101 pub sy: f32,
27102 pub c: f32,
27103 pub pvy: f32,
27104 pub sz: f32,
27105 pub pvz: f32,
27106 pub qx: f32,
27107 pub qy: f32,
27108 pub qz: f32,
27109 pub qw: f32,
27110 pub tx: f32,
27111 pub ty: f32,
27112 pub tz: f32,
27113}
27114
27115#[repr(C)]
27117#[derive(Copy, Clone, Default, Debug, PartialEq)]
27118pub struct SampleLocationEXT {
27119 pub x: f32,
27120 pub y: f32,
27121}
27122
27123#[repr(C)]
27125#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27126pub struct SampleLocationsInfoEXT {
27127 pub s_type: StructureType,
27128 pub next: *const c_void,
27129 pub sample_locations_per_pixel: SampleCountFlags,
27130 pub sample_location_grid_size: Extent2D,
27131 pub sample_locations_count: u32,
27132 pub sample_locations: *const SampleLocationEXT,
27133}
27134
27135impl Default for SampleLocationsInfoEXT {
27136 #[inline]
27137 fn default() -> Self {
27138 Self {
27139 s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
27140 next: ptr::null(),
27141 sample_locations_per_pixel: SampleCountFlags::default(),
27142 sample_location_grid_size: Extent2D::default(),
27143 sample_locations_count: u32::default(),
27144 sample_locations: ptr::null(),
27145 }
27146 }
27147}
27148
27149unsafe impl Send for SampleLocationsInfoEXT {}
27150unsafe impl Sync for SampleLocationsInfoEXT {}
27151
27152#[repr(C)]
27154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27155pub struct SamplerBlockMatchWindowCreateInfoQCOM {
27156 pub s_type: StructureType,
27157 pub next: *const c_void,
27158 pub window_extent: Extent2D,
27159 pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
27160}
27161
27162impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
27163 #[inline]
27164 fn default() -> Self {
27165 Self {
27166 s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
27167 next: ptr::null(),
27168 window_extent: Extent2D::default(),
27169 window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
27170 }
27171 }
27172}
27173
27174unsafe impl Send for SamplerBlockMatchWindowCreateInfoQCOM {}
27175unsafe impl Sync for SamplerBlockMatchWindowCreateInfoQCOM {}
27176
27177#[repr(C)]
27179#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27180pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
27181 pub s_type: StructureType,
27182 pub next: *const c_void,
27183 pub components: ComponentMapping,
27184 pub srgb: Bool32,
27185}
27186
27187impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
27188 #[inline]
27189 fn default() -> Self {
27190 Self {
27191 s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
27192 next: ptr::null(),
27193 components: ComponentMapping::default(),
27194 srgb: Bool32::default(),
27195 }
27196 }
27197}
27198
27199unsafe impl Send for SamplerBorderColorComponentMappingCreateInfoEXT {}
27200unsafe impl Sync for SamplerBorderColorComponentMappingCreateInfoEXT {}
27201
27202#[repr(C)]
27204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27205pub struct SamplerCaptureDescriptorDataInfoEXT {
27206 pub s_type: StructureType,
27207 pub next: *const c_void,
27208 pub sampler: Sampler,
27209}
27210
27211impl Default for SamplerCaptureDescriptorDataInfoEXT {
27212 #[inline]
27213 fn default() -> Self {
27214 Self {
27215 s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
27216 next: ptr::null(),
27217 sampler: Sampler::default(),
27218 }
27219 }
27220}
27221
27222unsafe impl Send for SamplerCaptureDescriptorDataInfoEXT {}
27223unsafe impl Sync for SamplerCaptureDescriptorDataInfoEXT {}
27224
27225#[repr(C)]
27227#[derive(Copy, Clone, Debug, PartialEq)]
27228pub struct SamplerCreateInfo {
27229 pub s_type: StructureType,
27230 pub next: *const c_void,
27231 pub flags: SamplerCreateFlags,
27232 pub mag_filter: Filter,
27233 pub min_filter: Filter,
27234 pub mipmap_mode: SamplerMipmapMode,
27235 pub address_mode_u: SamplerAddressMode,
27236 pub address_mode_v: SamplerAddressMode,
27237 pub address_mode_w: SamplerAddressMode,
27238 pub mip_lod_bias: f32,
27239 pub anisotropy_enable: Bool32,
27240 pub max_anisotropy: f32,
27241 pub compare_enable: Bool32,
27242 pub compare_op: CompareOp,
27243 pub min_lod: f32,
27244 pub max_lod: f32,
27245 pub border_color: BorderColor,
27246 pub unnormalized_coordinates: Bool32,
27247}
27248
27249impl Default for SamplerCreateInfo {
27250 #[inline]
27251 fn default() -> Self {
27252 Self {
27253 s_type: StructureType::SAMPLER_CREATE_INFO,
27254 next: ptr::null(),
27255 flags: SamplerCreateFlags::default(),
27256 mag_filter: Filter::default(),
27257 min_filter: Filter::default(),
27258 mipmap_mode: SamplerMipmapMode::default(),
27259 address_mode_u: SamplerAddressMode::default(),
27260 address_mode_v: SamplerAddressMode::default(),
27261 address_mode_w: SamplerAddressMode::default(),
27262 mip_lod_bias: f32::default(),
27263 anisotropy_enable: Bool32::default(),
27264 max_anisotropy: f32::default(),
27265 compare_enable: Bool32::default(),
27266 compare_op: CompareOp::default(),
27267 min_lod: f32::default(),
27268 max_lod: f32::default(),
27269 border_color: BorderColor::default(),
27270 unnormalized_coordinates: Bool32::default(),
27271 }
27272 }
27273}
27274
27275unsafe impl Send for SamplerCreateInfo {}
27276unsafe impl Sync for SamplerCreateInfo {}
27277
27278#[repr(C)]
27280#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27281pub struct SamplerCubicWeightsCreateInfoQCOM {
27282 pub s_type: StructureType,
27283 pub next: *const c_void,
27284 pub cubic_weights: CubicFilterWeightsQCOM,
27285}
27286
27287impl Default for SamplerCubicWeightsCreateInfoQCOM {
27288 #[inline]
27289 fn default() -> Self {
27290 Self {
27291 s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
27292 next: ptr::null(),
27293 cubic_weights: CubicFilterWeightsQCOM::default(),
27294 }
27295 }
27296}
27297
27298unsafe impl Send for SamplerCubicWeightsCreateInfoQCOM {}
27299unsafe impl Sync for SamplerCubicWeightsCreateInfoQCOM {}
27300
27301#[repr(C)]
27303#[derive(Copy, Clone, Debug)]
27304pub struct SamplerCustomBorderColorCreateInfoEXT {
27305 pub s_type: StructureType,
27306 pub next: *const c_void,
27307 pub custom_border_color: ClearColorValue,
27308 pub format: Format,
27309}
27310
27311impl Default for SamplerCustomBorderColorCreateInfoEXT {
27312 #[inline]
27313 fn default() -> Self {
27314 Self {
27315 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
27316 next: ptr::null(),
27317 custom_border_color: ClearColorValue::default(),
27318 format: Format::default(),
27319 }
27320 }
27321}
27322
27323unsafe impl Send for SamplerCustomBorderColorCreateInfoEXT {}
27324unsafe impl Sync for SamplerCustomBorderColorCreateInfoEXT {}
27325
27326#[repr(C)]
27328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27329pub struct SamplerReductionModeCreateInfo {
27330 pub s_type: StructureType,
27331 pub next: *const c_void,
27332 pub reduction_mode: SamplerReductionMode,
27333}
27334
27335impl Default for SamplerReductionModeCreateInfo {
27336 #[inline]
27337 fn default() -> Self {
27338 Self {
27339 s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
27340 next: ptr::null(),
27341 reduction_mode: SamplerReductionMode::default(),
27342 }
27343 }
27344}
27345
27346unsafe impl Send for SamplerReductionModeCreateInfo {}
27347unsafe impl Sync for SamplerReductionModeCreateInfo {}
27348
27349#[repr(C)]
27351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27352pub struct SamplerYcbcrConversionCreateInfo {
27353 pub s_type: StructureType,
27354 pub next: *const c_void,
27355 pub format: Format,
27356 pub ycbcr_model: SamplerYcbcrModelConversion,
27357 pub ycbcr_range: SamplerYcbcrRange,
27358 pub components: ComponentMapping,
27359 pub x_chroma_offset: ChromaLocation,
27360 pub y_chroma_offset: ChromaLocation,
27361 pub chroma_filter: Filter,
27362 pub force_explicit_reconstruction: Bool32,
27363}
27364
27365impl Default for SamplerYcbcrConversionCreateInfo {
27366 #[inline]
27367 fn default() -> Self {
27368 Self {
27369 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
27370 next: ptr::null(),
27371 format: Format::default(),
27372 ycbcr_model: SamplerYcbcrModelConversion::default(),
27373 ycbcr_range: SamplerYcbcrRange::default(),
27374 components: ComponentMapping::default(),
27375 x_chroma_offset: ChromaLocation::default(),
27376 y_chroma_offset: ChromaLocation::default(),
27377 chroma_filter: Filter::default(),
27378 force_explicit_reconstruction: Bool32::default(),
27379 }
27380 }
27381}
27382
27383unsafe impl Send for SamplerYcbcrConversionCreateInfo {}
27384unsafe impl Sync for SamplerYcbcrConversionCreateInfo {}
27385
27386#[repr(C)]
27388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27389pub struct SamplerYcbcrConversionImageFormatProperties {
27390 pub s_type: StructureType,
27391 pub next: *mut c_void,
27392 pub combined_image_sampler_descriptor_count: u32,
27393}
27394
27395impl Default for SamplerYcbcrConversionImageFormatProperties {
27396 #[inline]
27397 fn default() -> Self {
27398 Self {
27399 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
27400 next: ptr::null_mut(),
27401 combined_image_sampler_descriptor_count: u32::default(),
27402 }
27403 }
27404}
27405
27406unsafe impl Send for SamplerYcbcrConversionImageFormatProperties {}
27407unsafe impl Sync for SamplerYcbcrConversionImageFormatProperties {}
27408
27409#[repr(C)]
27411#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27412pub struct SamplerYcbcrConversionInfo {
27413 pub s_type: StructureType,
27414 pub next: *const c_void,
27415 pub conversion: SamplerYcbcrConversion,
27416}
27417
27418impl Default for SamplerYcbcrConversionInfo {
27419 #[inline]
27420 fn default() -> Self {
27421 Self {
27422 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
27423 next: ptr::null(),
27424 conversion: SamplerYcbcrConversion::default(),
27425 }
27426 }
27427}
27428
27429unsafe impl Send for SamplerYcbcrConversionInfo {}
27430unsafe impl Sync for SamplerYcbcrConversionInfo {}
27431
27432#[repr(C)]
27434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27435pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
27436 pub s_type: StructureType,
27437 pub next: *mut c_void,
27438 pub enable_y_degamma: Bool32,
27439 pub enable_cb_cr_degamma: Bool32,
27440}
27441
27442impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
27443 #[inline]
27444 fn default() -> Self {
27445 Self {
27446 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
27447 next: ptr::null_mut(),
27448 enable_y_degamma: Bool32::default(),
27449 enable_cb_cr_degamma: Bool32::default(),
27450 }
27451 }
27452}
27453
27454unsafe impl Send for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
27455unsafe impl Sync for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
27456
27457#[repr(C)]
27459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27460pub struct SciSyncAttributesInfoNV {
27461 pub s_type: StructureType,
27462 pub next: *const c_void,
27463 pub client_type: SciSyncClientTypeNV,
27464 pub primitive_type: SciSyncPrimitiveTypeNV,
27465}
27466
27467impl Default for SciSyncAttributesInfoNV {
27468 #[inline]
27469 fn default() -> Self {
27470 Self {
27471 s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
27472 next: ptr::null(),
27473 client_type: SciSyncClientTypeNV::default(),
27474 primitive_type: SciSyncPrimitiveTypeNV::default(),
27475 }
27476 }
27477}
27478
27479unsafe impl Send for SciSyncAttributesInfoNV {}
27480unsafe impl Sync for SciSyncAttributesInfoNV {}
27481
27482#[repr(C)]
27484#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27485pub struct ScreenBufferFormatPropertiesQNX {
27486 pub s_type: StructureType,
27487 pub next: *mut c_void,
27488 pub format: Format,
27489 pub external_format: u64,
27490 pub screen_usage: u64,
27491 pub format_features: FormatFeatureFlags,
27492 pub sampler_ycbcr_conversion_components: ComponentMapping,
27493 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
27494 pub suggested_ycbcr_range: SamplerYcbcrRange,
27495 pub suggested_x_chroma_offset: ChromaLocation,
27496 pub suggested_y_chroma_offset: ChromaLocation,
27497}
27498
27499impl Default for ScreenBufferFormatPropertiesQNX {
27500 #[inline]
27501 fn default() -> Self {
27502 Self {
27503 s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
27504 next: ptr::null_mut(),
27505 format: Format::default(),
27506 external_format: u64::default(),
27507 screen_usage: u64::default(),
27508 format_features: FormatFeatureFlags::default(),
27509 sampler_ycbcr_conversion_components: ComponentMapping::default(),
27510 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
27511 suggested_ycbcr_range: SamplerYcbcrRange::default(),
27512 suggested_x_chroma_offset: ChromaLocation::default(),
27513 suggested_y_chroma_offset: ChromaLocation::default(),
27514 }
27515 }
27516}
27517
27518unsafe impl Send for ScreenBufferFormatPropertiesQNX {}
27519unsafe impl Sync for ScreenBufferFormatPropertiesQNX {}
27520
27521#[repr(C)]
27523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27524pub struct ScreenBufferPropertiesQNX {
27525 pub s_type: StructureType,
27526 pub next: *mut c_void,
27527 pub allocation_size: DeviceSize,
27528 pub memory_type_bits: u32,
27529}
27530
27531impl Default for ScreenBufferPropertiesQNX {
27532 #[inline]
27533 fn default() -> Self {
27534 Self {
27535 s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
27536 next: ptr::null_mut(),
27537 allocation_size: DeviceSize::default(),
27538 memory_type_bits: u32::default(),
27539 }
27540 }
27541}
27542
27543unsafe impl Send for ScreenBufferPropertiesQNX {}
27544unsafe impl Sync for ScreenBufferPropertiesQNX {}
27545
27546#[repr(C)]
27548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27549pub struct ScreenSurfaceCreateInfoQNX {
27550 pub s_type: StructureType,
27551 pub next: *const c_void,
27552 pub flags: ScreenSurfaceCreateFlagsQNX,
27553 pub context: *mut _screen_context,
27554 pub window: *mut _screen_window,
27555}
27556
27557impl Default for ScreenSurfaceCreateInfoQNX {
27558 #[inline]
27559 fn default() -> Self {
27560 Self {
27561 s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
27562 next: ptr::null(),
27563 flags: ScreenSurfaceCreateFlagsQNX::default(),
27564 context: ptr::null_mut(),
27565 window: ptr::null_mut(),
27566 }
27567 }
27568}
27569
27570unsafe impl Send for ScreenSurfaceCreateInfoQNX {}
27571unsafe impl Sync for ScreenSurfaceCreateInfoQNX {}
27572
27573#[repr(C)]
27575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27576pub struct SemaphoreCreateInfo {
27577 pub s_type: StructureType,
27578 pub next: *const c_void,
27579 pub flags: SemaphoreCreateFlags,
27580}
27581
27582impl Default for SemaphoreCreateInfo {
27583 #[inline]
27584 fn default() -> Self {
27585 Self {
27586 s_type: StructureType::SEMAPHORE_CREATE_INFO,
27587 next: ptr::null(),
27588 flags: SemaphoreCreateFlags::default(),
27589 }
27590 }
27591}
27592
27593unsafe impl Send for SemaphoreCreateInfo {}
27594unsafe impl Sync for SemaphoreCreateInfo {}
27595
27596#[repr(C)]
27598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27599pub struct SemaphoreGetFdInfoKHR {
27600 pub s_type: StructureType,
27601 pub next: *const c_void,
27602 pub semaphore: Semaphore,
27603 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27604}
27605
27606impl Default for SemaphoreGetFdInfoKHR {
27607 #[inline]
27608 fn default() -> Self {
27609 Self {
27610 s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
27611 next: ptr::null(),
27612 semaphore: Semaphore::default(),
27613 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27614 }
27615 }
27616}
27617
27618unsafe impl Send for SemaphoreGetFdInfoKHR {}
27619unsafe impl Sync for SemaphoreGetFdInfoKHR {}
27620
27621#[repr(C)]
27623#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27624pub struct SemaphoreGetSciSyncInfoNV {
27625 pub s_type: StructureType,
27626 pub next: *const c_void,
27627 pub semaphore: Semaphore,
27628 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27629}
27630
27631impl Default for SemaphoreGetSciSyncInfoNV {
27632 #[inline]
27633 fn default() -> Self {
27634 Self {
27635 s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
27636 next: ptr::null(),
27637 semaphore: Semaphore::default(),
27638 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27639 }
27640 }
27641}
27642
27643unsafe impl Send for SemaphoreGetSciSyncInfoNV {}
27644unsafe impl Sync for SemaphoreGetSciSyncInfoNV {}
27645
27646#[repr(C)]
27648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27649pub struct SemaphoreGetWin32HandleInfoKHR {
27650 pub s_type: StructureType,
27651 pub next: *const c_void,
27652 pub semaphore: Semaphore,
27653 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27654}
27655
27656impl Default for SemaphoreGetWin32HandleInfoKHR {
27657 #[inline]
27658 fn default() -> Self {
27659 Self {
27660 s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
27661 next: ptr::null(),
27662 semaphore: Semaphore::default(),
27663 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27664 }
27665 }
27666}
27667
27668unsafe impl Send for SemaphoreGetWin32HandleInfoKHR {}
27669unsafe impl Sync for SemaphoreGetWin32HandleInfoKHR {}
27670
27671#[repr(C)]
27673#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27674pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
27675 pub s_type: StructureType,
27676 pub next: *const c_void,
27677 pub semaphore: Semaphore,
27678 pub handle_type: ExternalSemaphoreHandleTypeFlags,
27679}
27680
27681impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
27682 #[inline]
27683 fn default() -> Self {
27684 Self {
27685 s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
27686 next: ptr::null(),
27687 semaphore: Semaphore::default(),
27688 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
27689 }
27690 }
27691}
27692
27693unsafe impl Send for SemaphoreGetZirconHandleInfoFUCHSIA {}
27694unsafe impl Sync for SemaphoreGetZirconHandleInfoFUCHSIA {}
27695
27696#[repr(C)]
27698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27699pub struct SemaphoreSciSyncCreateInfoNV {
27700 pub s_type: StructureType,
27701 pub next: *const c_void,
27702 pub semaphore_pool: SemaphoreSciSyncPoolNV,
27703 pub fence: *const NvSciSyncFence,
27704}
27705
27706impl Default for SemaphoreSciSyncCreateInfoNV {
27707 #[inline]
27708 fn default() -> Self {
27709 Self {
27710 s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
27711 next: ptr::null(),
27712 semaphore_pool: SemaphoreSciSyncPoolNV::default(),
27713 fence: ptr::null(),
27714 }
27715 }
27716}
27717
27718unsafe impl Send for SemaphoreSciSyncCreateInfoNV {}
27719unsafe impl Sync for SemaphoreSciSyncCreateInfoNV {}
27720
27721#[repr(C)]
27723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27724pub struct SemaphoreSciSyncPoolCreateInfoNV {
27725 pub s_type: StructureType,
27726 pub next: *const c_void,
27727 pub handle: NvSciSyncObj,
27728}
27729
27730impl Default for SemaphoreSciSyncPoolCreateInfoNV {
27731 #[inline]
27732 fn default() -> Self {
27733 Self {
27734 s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
27735 next: ptr::null(),
27736 handle: ptr::null_mut(),
27737 }
27738 }
27739}
27740
27741unsafe impl Send for SemaphoreSciSyncPoolCreateInfoNV {}
27742unsafe impl Sync for SemaphoreSciSyncPoolCreateInfoNV {}
27743
27744#[repr(C)]
27746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27747pub struct SemaphoreSignalInfo {
27748 pub s_type: StructureType,
27749 pub next: *const c_void,
27750 pub semaphore: Semaphore,
27751 pub value: u64,
27752}
27753
27754impl Default for SemaphoreSignalInfo {
27755 #[inline]
27756 fn default() -> Self {
27757 Self {
27758 s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
27759 next: ptr::null(),
27760 semaphore: Semaphore::default(),
27761 value: u64::default(),
27762 }
27763 }
27764}
27765
27766unsafe impl Send for SemaphoreSignalInfo {}
27767unsafe impl Sync for SemaphoreSignalInfo {}
27768
27769#[repr(C)]
27771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27772pub struct SemaphoreSubmitInfo {
27773 pub s_type: StructureType,
27774 pub next: *const c_void,
27775 pub semaphore: Semaphore,
27776 pub value: u64,
27777 pub stage_mask: PipelineStageFlags2,
27778 pub device_index: u32,
27779}
27780
27781impl Default for SemaphoreSubmitInfo {
27782 #[inline]
27783 fn default() -> Self {
27784 Self {
27785 s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
27786 next: ptr::null(),
27787 semaphore: Semaphore::default(),
27788 value: u64::default(),
27789 stage_mask: PipelineStageFlags2::default(),
27790 device_index: u32::default(),
27791 }
27792 }
27793}
27794
27795unsafe impl Send for SemaphoreSubmitInfo {}
27796unsafe impl Sync for SemaphoreSubmitInfo {}
27797
27798#[repr(C)]
27800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27801pub struct SemaphoreTypeCreateInfo {
27802 pub s_type: StructureType,
27803 pub next: *const c_void,
27804 pub semaphore_type: SemaphoreType,
27805 pub initial_value: u64,
27806}
27807
27808impl Default for SemaphoreTypeCreateInfo {
27809 #[inline]
27810 fn default() -> Self {
27811 Self {
27812 s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
27813 next: ptr::null(),
27814 semaphore_type: SemaphoreType::default(),
27815 initial_value: u64::default(),
27816 }
27817 }
27818}
27819
27820unsafe impl Send for SemaphoreTypeCreateInfo {}
27821unsafe impl Sync for SemaphoreTypeCreateInfo {}
27822
27823#[repr(C)]
27825#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27826pub struct SemaphoreWaitInfo {
27827 pub s_type: StructureType,
27828 pub next: *const c_void,
27829 pub flags: SemaphoreWaitFlags,
27830 pub semaphore_count: u32,
27831 pub semaphores: *const Semaphore,
27832 pub values: *const u64,
27833}
27834
27835impl Default for SemaphoreWaitInfo {
27836 #[inline]
27837 fn default() -> Self {
27838 Self {
27839 s_type: StructureType::SEMAPHORE_WAIT_INFO,
27840 next: ptr::null(),
27841 flags: SemaphoreWaitFlags::default(),
27842 semaphore_count: u32::default(),
27843 semaphores: ptr::null(),
27844 values: ptr::null(),
27845 }
27846 }
27847}
27848
27849unsafe impl Send for SemaphoreWaitInfo {}
27850unsafe impl Sync for SemaphoreWaitInfo {}
27851
27852#[repr(C)]
27854#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27855pub struct SetDescriptorBufferOffsetsInfoEXT {
27856 pub s_type: StructureType,
27857 pub next: *const c_void,
27858 pub stage_flags: ShaderStageFlags,
27859 pub layout: PipelineLayout,
27860 pub first_set: u32,
27861 pub set_count: u32,
27862 pub buffer_indices: *const u32,
27863 pub offsets: *const DeviceSize,
27864}
27865
27866impl Default for SetDescriptorBufferOffsetsInfoEXT {
27867 #[inline]
27868 fn default() -> Self {
27869 Self {
27870 s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
27871 next: ptr::null(),
27872 stage_flags: ShaderStageFlags::default(),
27873 layout: PipelineLayout::default(),
27874 first_set: u32::default(),
27875 set_count: u32::default(),
27876 buffer_indices: ptr::null(),
27877 offsets: ptr::null(),
27878 }
27879 }
27880}
27881
27882unsafe impl Send for SetDescriptorBufferOffsetsInfoEXT {}
27883unsafe impl Sync for SetDescriptorBufferOffsetsInfoEXT {}
27884
27885#[repr(C)]
27887#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27888pub struct SetLatencyMarkerInfoNV {
27889 pub s_type: StructureType,
27890 pub next: *const c_void,
27891 pub present_id: u64,
27892 pub marker: LatencyMarkerNV,
27893}
27894
27895impl Default for SetLatencyMarkerInfoNV {
27896 #[inline]
27897 fn default() -> Self {
27898 Self {
27899 s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
27900 next: ptr::null(),
27901 present_id: u64::default(),
27902 marker: LatencyMarkerNV::default(),
27903 }
27904 }
27905}
27906
27907unsafe impl Send for SetLatencyMarkerInfoNV {}
27908unsafe impl Sync for SetLatencyMarkerInfoNV {}
27909
27910#[repr(C)]
27912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27913pub struct SetPresentConfigNV {
27914 pub s_type: StructureType,
27915 pub next: *const c_void,
27916 pub num_frames_per_batch: u32,
27917 pub present_config_feedback: u32,
27918}
27919
27920impl Default for SetPresentConfigNV {
27921 #[inline]
27922 fn default() -> Self {
27923 Self {
27924 s_type: StructureType::SET_PRESENT_CONFIG_NV,
27925 next: ptr::null(),
27926 num_frames_per_batch: u32::default(),
27927 present_config_feedback: u32::default(),
27928 }
27929 }
27930}
27931
27932unsafe impl Send for SetPresentConfigNV {}
27933unsafe impl Sync for SetPresentConfigNV {}
27934
27935#[repr(C)]
27937#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27938pub struct SetStateFlagsIndirectCommandNV {
27939 pub data: u32,
27940}
27941
27942#[repr(C)]
27944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27945pub struct ShaderCreateInfoEXT {
27946 pub s_type: StructureType,
27947 pub next: *const c_void,
27948 pub flags: ShaderCreateFlagsEXT,
27949 pub stage: ShaderStageFlags,
27950 pub next_stage: ShaderStageFlags,
27951 pub code_type: ShaderCodeTypeEXT,
27952 pub code_size: usize,
27953 pub code: *const c_void,
27954 pub name: *const c_char,
27955 pub set_layout_count: u32,
27956 pub set_layouts: *const DescriptorSetLayout,
27957 pub push_constant_range_count: u32,
27958 pub push_constant_ranges: *const PushConstantRange,
27959 pub specialization_info: *const SpecializationInfo,
27960}
27961
27962impl Default for ShaderCreateInfoEXT {
27963 #[inline]
27964 fn default() -> Self {
27965 Self {
27966 s_type: StructureType::SHADER_CREATE_INFO_EXT,
27967 next: ptr::null(),
27968 flags: ShaderCreateFlagsEXT::default(),
27969 stage: ShaderStageFlags::default(),
27970 next_stage: ShaderStageFlags::default(),
27971 code_type: ShaderCodeTypeEXT::default(),
27972 code_size: usize::default(),
27973 code: ptr::null(),
27974 name: ptr::null(),
27975 set_layout_count: u32::default(),
27976 set_layouts: ptr::null(),
27977 push_constant_range_count: u32::default(),
27978 push_constant_ranges: ptr::null(),
27979 specialization_info: ptr::null(),
27980 }
27981 }
27982}
27983
27984unsafe impl Send for ShaderCreateInfoEXT {}
27985unsafe impl Sync for ShaderCreateInfoEXT {}
27986
27987#[repr(C)]
27989#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27990pub struct ShaderModuleCreateInfo {
27991 pub s_type: StructureType,
27992 pub next: *const c_void,
27993 pub flags: ShaderModuleCreateFlags,
27994 pub code_size: usize,
27995 pub code: *const u32,
27996}
27997
27998impl Default for ShaderModuleCreateInfo {
27999 #[inline]
28000 fn default() -> Self {
28001 Self {
28002 s_type: StructureType::SHADER_MODULE_CREATE_INFO,
28003 next: ptr::null(),
28004 flags: ShaderModuleCreateFlags::default(),
28005 code_size: usize::default(),
28006 code: ptr::null(),
28007 }
28008 }
28009}
28010
28011unsafe impl Send for ShaderModuleCreateInfo {}
28012unsafe impl Sync for ShaderModuleCreateInfo {}
28013
28014#[repr(C)]
28016#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28017pub struct ShaderModuleIdentifierEXT {
28018 pub s_type: StructureType,
28019 pub next: *mut c_void,
28020 pub identifier_size: u32,
28021 pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
28022}
28023
28024impl Default for ShaderModuleIdentifierEXT {
28025 #[inline]
28026 fn default() -> Self {
28027 Self {
28028 s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
28029 next: ptr::null_mut(),
28030 identifier_size: u32::default(),
28031 identifier: ByteArray::default(),
28032 }
28033 }
28034}
28035
28036unsafe impl Send for ShaderModuleIdentifierEXT {}
28037unsafe impl Sync for ShaderModuleIdentifierEXT {}
28038
28039#[repr(C)]
28041#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28042pub struct ShaderModuleValidationCacheCreateInfoEXT {
28043 pub s_type: StructureType,
28044 pub next: *const c_void,
28045 pub validation_cache: ValidationCacheEXT,
28046}
28047
28048impl Default for ShaderModuleValidationCacheCreateInfoEXT {
28049 #[inline]
28050 fn default() -> Self {
28051 Self {
28052 s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
28053 next: ptr::null(),
28054 validation_cache: ValidationCacheEXT::default(),
28055 }
28056 }
28057}
28058
28059unsafe impl Send for ShaderModuleValidationCacheCreateInfoEXT {}
28060unsafe impl Sync for ShaderModuleValidationCacheCreateInfoEXT {}
28061
28062#[repr(C)]
28064#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28065pub struct ShaderResourceUsageAMD {
28066 pub num_used_vgprs: u32,
28067 pub num_used_sgprs: u32,
28068 pub lds_size_per_local_work_group: u32,
28069 pub lds_usage_size_in_bytes: usize,
28070 pub scratch_mem_usage_in_bytes: usize,
28071}
28072
28073#[repr(C)]
28075#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28076pub struct ShaderStatisticsInfoAMD {
28077 pub shader_stage_mask: ShaderStageFlags,
28078 pub resource_usage: ShaderResourceUsageAMD,
28079 pub num_physical_vgprs: u32,
28080 pub num_physical_sgprs: u32,
28081 pub num_available_vgprs: u32,
28082 pub num_available_sgprs: u32,
28083 pub compute_work_group_size: [u32; 3],
28084}
28085
28086#[repr(C)]
28088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28089pub struct ShadingRatePaletteNV {
28090 pub shading_rate_palette_entry_count: u32,
28091 pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
28092}
28093
28094impl Default for ShadingRatePaletteNV {
28095 #[inline]
28096 fn default() -> Self {
28097 Self {
28098 shading_rate_palette_entry_count: u32::default(),
28099 shading_rate_palette_entries: ptr::null(),
28100 }
28101 }
28102}
28103
28104unsafe impl Send for ShadingRatePaletteNV {}
28105unsafe impl Sync for ShadingRatePaletteNV {}
28106
28107#[repr(C)]
28109#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28110pub struct SharedPresentSurfaceCapabilitiesKHR {
28111 pub s_type: StructureType,
28112 pub next: *mut c_void,
28113 pub shared_present_supported_usage_flags: ImageUsageFlags,
28114}
28115
28116impl Default for SharedPresentSurfaceCapabilitiesKHR {
28117 #[inline]
28118 fn default() -> Self {
28119 Self {
28120 s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
28121 next: ptr::null_mut(),
28122 shared_present_supported_usage_flags: ImageUsageFlags::default(),
28123 }
28124 }
28125}
28126
28127unsafe impl Send for SharedPresentSurfaceCapabilitiesKHR {}
28128unsafe impl Sync for SharedPresentSurfaceCapabilitiesKHR {}
28129
28130#[repr(C)]
28132#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28133pub struct SparseBufferMemoryBindInfo {
28134 pub buffer: Buffer,
28135 pub bind_count: u32,
28136 pub binds: *const SparseMemoryBind,
28137}
28138
28139impl Default for SparseBufferMemoryBindInfo {
28140 #[inline]
28141 fn default() -> Self {
28142 Self {
28143 buffer: Buffer::default(),
28144 bind_count: u32::default(),
28145 binds: ptr::null(),
28146 }
28147 }
28148}
28149
28150unsafe impl Send for SparseBufferMemoryBindInfo {}
28151unsafe impl Sync for SparseBufferMemoryBindInfo {}
28152
28153#[repr(C)]
28155#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28156pub struct SparseImageFormatProperties {
28157 pub aspect_mask: ImageAspectFlags,
28158 pub image_granularity: Extent3D,
28159 pub flags: SparseImageFormatFlags,
28160}
28161
28162#[repr(C)]
28164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28165pub struct SparseImageFormatProperties2 {
28166 pub s_type: StructureType,
28167 pub next: *mut c_void,
28168 pub properties: SparseImageFormatProperties,
28169}
28170
28171impl Default for SparseImageFormatProperties2 {
28172 #[inline]
28173 fn default() -> Self {
28174 Self {
28175 s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
28176 next: ptr::null_mut(),
28177 properties: SparseImageFormatProperties::default(),
28178 }
28179 }
28180}
28181
28182unsafe impl Send for SparseImageFormatProperties2 {}
28183unsafe impl Sync for SparseImageFormatProperties2 {}
28184
28185#[repr(C)]
28187#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28188pub struct SparseImageMemoryBind {
28189 pub subresource: ImageSubresource,
28190 pub offset: Offset3D,
28191 pub extent: Extent3D,
28192 pub memory: DeviceMemory,
28193 pub memory_offset: DeviceSize,
28194 pub flags: SparseMemoryBindFlags,
28195}
28196
28197#[repr(C)]
28199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28200pub struct SparseImageMemoryBindInfo {
28201 pub image: Image,
28202 pub bind_count: u32,
28203 pub binds: *const SparseImageMemoryBind,
28204}
28205
28206impl Default for SparseImageMemoryBindInfo {
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 SparseImageMemoryBindInfo {}
28218unsafe impl Sync for SparseImageMemoryBindInfo {}
28219
28220#[repr(C)]
28222#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28223pub struct SparseImageMemoryRequirements {
28224 pub format_properties: SparseImageFormatProperties,
28225 pub image_mip_tail_first_lod: u32,
28226 pub image_mip_tail_size: DeviceSize,
28227 pub image_mip_tail_offset: DeviceSize,
28228 pub image_mip_tail_stride: DeviceSize,
28229}
28230
28231#[repr(C)]
28233#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28234pub struct SparseImageMemoryRequirements2 {
28235 pub s_type: StructureType,
28236 pub next: *mut c_void,
28237 pub memory_requirements: SparseImageMemoryRequirements,
28238}
28239
28240impl Default for SparseImageMemoryRequirements2 {
28241 #[inline]
28242 fn default() -> Self {
28243 Self {
28244 s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
28245 next: ptr::null_mut(),
28246 memory_requirements: SparseImageMemoryRequirements::default(),
28247 }
28248 }
28249}
28250
28251unsafe impl Send for SparseImageMemoryRequirements2 {}
28252unsafe impl Sync for SparseImageMemoryRequirements2 {}
28253
28254#[repr(C)]
28256#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28257pub struct SparseImageOpaqueMemoryBindInfo {
28258 pub image: Image,
28259 pub bind_count: u32,
28260 pub binds: *const SparseMemoryBind,
28261}
28262
28263impl Default for SparseImageOpaqueMemoryBindInfo {
28264 #[inline]
28265 fn default() -> Self {
28266 Self {
28267 image: Image::default(),
28268 bind_count: u32::default(),
28269 binds: ptr::null(),
28270 }
28271 }
28272}
28273
28274unsafe impl Send for SparseImageOpaqueMemoryBindInfo {}
28275unsafe impl Sync for SparseImageOpaqueMemoryBindInfo {}
28276
28277#[repr(C)]
28279#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28280pub struct SparseMemoryBind {
28281 pub resource_offset: DeviceSize,
28282 pub size: DeviceSize,
28283 pub memory: DeviceMemory,
28284 pub memory_offset: DeviceSize,
28285 pub flags: SparseMemoryBindFlags,
28286}
28287
28288#[repr(C)]
28290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28291pub struct SpecializationInfo {
28292 pub map_entry_count: u32,
28293 pub map_entries: *const SpecializationMapEntry,
28294 pub data_size: usize,
28295 pub data: *const c_void,
28296}
28297
28298impl Default for SpecializationInfo {
28299 #[inline]
28300 fn default() -> Self {
28301 Self {
28302 map_entry_count: u32::default(),
28303 map_entries: ptr::null(),
28304 data_size: usize::default(),
28305 data: ptr::null(),
28306 }
28307 }
28308}
28309
28310unsafe impl Send for SpecializationInfo {}
28311unsafe impl Sync for SpecializationInfo {}
28312
28313#[repr(C)]
28315#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28316pub struct SpecializationMapEntry {
28317 pub constant_id: u32,
28318 pub offset: u32,
28319 pub size: usize,
28320}
28321
28322#[repr(C)]
28324#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28325pub struct StencilOpState {
28326 pub fail_op: StencilOp,
28327 pub pass_op: StencilOp,
28328 pub depth_fail_op: StencilOp,
28329 pub compare_op: CompareOp,
28330 pub compare_mask: u32,
28331 pub write_mask: u32,
28332 pub reference: u32,
28333}
28334
28335#[repr(C)]
28337#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28338pub struct StreamDescriptorSurfaceCreateInfoGGP {
28339 pub s_type: StructureType,
28340 pub next: *const c_void,
28341 pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
28342 pub stream_descriptor: GgpStreamDescriptor,
28343}
28344
28345impl Default for StreamDescriptorSurfaceCreateInfoGGP {
28346 #[inline]
28347 fn default() -> Self {
28348 Self {
28349 s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
28350 next: ptr::null(),
28351 flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
28352 stream_descriptor: GgpStreamDescriptor::default(),
28353 }
28354 }
28355}
28356
28357unsafe impl Send for StreamDescriptorSurfaceCreateInfoGGP {}
28358unsafe impl Sync for StreamDescriptorSurfaceCreateInfoGGP {}
28359
28360#[repr(C)]
28362#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28363pub struct StridedDeviceAddressNV {
28364 pub start_address: DeviceAddress,
28365 pub stride_in_bytes: DeviceSize,
28366}
28367
28368#[repr(C)]
28370#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28371pub struct StridedDeviceAddressRangeKHR {
28372 pub address: DeviceAddress,
28373 pub size: DeviceSize,
28374 pub stride: DeviceSize,
28375}
28376
28377#[repr(C)]
28379#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28380pub struct StridedDeviceAddressRegionKHR {
28381 pub device_address: DeviceAddress,
28382 pub stride: DeviceSize,
28383 pub size: DeviceSize,
28384}
28385
28386#[repr(C)]
28388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28389pub struct SubmitInfo {
28390 pub s_type: StructureType,
28391 pub next: *const c_void,
28392 pub wait_semaphore_count: u32,
28393 pub wait_semaphores: *const Semaphore,
28394 pub wait_dst_stage_mask: *const PipelineStageFlags,
28395 pub command_buffer_count: u32,
28396 pub command_buffers: *const CommandBuffer,
28397 pub signal_semaphore_count: u32,
28398 pub signal_semaphores: *const Semaphore,
28399}
28400
28401impl Default for SubmitInfo {
28402 #[inline]
28403 fn default() -> Self {
28404 Self {
28405 s_type: StructureType::SUBMIT_INFO,
28406 next: ptr::null(),
28407 wait_semaphore_count: u32::default(),
28408 wait_semaphores: ptr::null(),
28409 wait_dst_stage_mask: ptr::null(),
28410 command_buffer_count: u32::default(),
28411 command_buffers: ptr::null(),
28412 signal_semaphore_count: u32::default(),
28413 signal_semaphores: ptr::null(),
28414 }
28415 }
28416}
28417
28418unsafe impl Send for SubmitInfo {}
28419unsafe impl Sync for SubmitInfo {}
28420
28421#[repr(C)]
28423#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28424pub struct SubmitInfo2 {
28425 pub s_type: StructureType,
28426 pub next: *const c_void,
28427 pub flags: SubmitFlags,
28428 pub wait_semaphore_info_count: u32,
28429 pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
28430 pub command_buffer_info_count: u32,
28431 pub command_buffer_infos: *const CommandBufferSubmitInfo,
28432 pub signal_semaphore_info_count: u32,
28433 pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
28434}
28435
28436impl Default for SubmitInfo2 {
28437 #[inline]
28438 fn default() -> Self {
28439 Self {
28440 s_type: StructureType::SUBMIT_INFO_2,
28441 next: ptr::null(),
28442 flags: SubmitFlags::default(),
28443 wait_semaphore_info_count: u32::default(),
28444 wait_semaphore_infos: ptr::null(),
28445 command_buffer_info_count: u32::default(),
28446 command_buffer_infos: ptr::null(),
28447 signal_semaphore_info_count: u32::default(),
28448 signal_semaphore_infos: ptr::null(),
28449 }
28450 }
28451}
28452
28453unsafe impl Send for SubmitInfo2 {}
28454unsafe impl Sync for SubmitInfo2 {}
28455
28456#[repr(C)]
28458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28459pub struct SubpassBeginInfo {
28460 pub s_type: StructureType,
28461 pub next: *const c_void,
28462 pub contents: SubpassContents,
28463}
28464
28465impl Default for SubpassBeginInfo {
28466 #[inline]
28467 fn default() -> Self {
28468 Self {
28469 s_type: StructureType::SUBPASS_BEGIN_INFO,
28470 next: ptr::null(),
28471 contents: SubpassContents::default(),
28472 }
28473 }
28474}
28475
28476unsafe impl Send for SubpassBeginInfo {}
28477unsafe impl Sync for SubpassBeginInfo {}
28478
28479#[repr(C)]
28481#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28482pub struct SubpassDependency {
28483 pub src_subpass: u32,
28484 pub dst_subpass: u32,
28485 pub src_stage_mask: PipelineStageFlags,
28486 pub dst_stage_mask: PipelineStageFlags,
28487 pub src_access_mask: AccessFlags,
28488 pub dst_access_mask: AccessFlags,
28489 pub dependency_flags: DependencyFlags,
28490}
28491
28492#[repr(C)]
28494#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28495pub struct SubpassDependency2 {
28496 pub s_type: StructureType,
28497 pub next: *const c_void,
28498 pub src_subpass: u32,
28499 pub dst_subpass: u32,
28500 pub src_stage_mask: PipelineStageFlags,
28501 pub dst_stage_mask: PipelineStageFlags,
28502 pub src_access_mask: AccessFlags,
28503 pub dst_access_mask: AccessFlags,
28504 pub dependency_flags: DependencyFlags,
28505 pub view_offset: i32,
28506}
28507
28508impl Default for SubpassDependency2 {
28509 #[inline]
28510 fn default() -> Self {
28511 Self {
28512 s_type: StructureType::SUBPASS_DEPENDENCY_2,
28513 next: ptr::null(),
28514 src_subpass: u32::default(),
28515 dst_subpass: u32::default(),
28516 src_stage_mask: PipelineStageFlags::default(),
28517 dst_stage_mask: PipelineStageFlags::default(),
28518 src_access_mask: AccessFlags::default(),
28519 dst_access_mask: AccessFlags::default(),
28520 dependency_flags: DependencyFlags::default(),
28521 view_offset: i32::default(),
28522 }
28523 }
28524}
28525
28526unsafe impl Send for SubpassDependency2 {}
28527unsafe impl Sync for SubpassDependency2 {}
28528
28529#[repr(C)]
28531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28532pub struct SubpassDescription {
28533 pub flags: SubpassDescriptionFlags,
28534 pub pipeline_bind_point: PipelineBindPoint,
28535 pub input_attachment_count: u32,
28536 pub input_attachments: *const AttachmentReference,
28537 pub color_attachment_count: u32,
28538 pub color_attachments: *const AttachmentReference,
28539 pub resolve_attachments: *const AttachmentReference,
28540 pub depth_stencil_attachment: *const AttachmentReference,
28541 pub preserve_attachment_count: u32,
28542 pub preserve_attachments: *const u32,
28543}
28544
28545impl Default for SubpassDescription {
28546 #[inline]
28547 fn default() -> Self {
28548 Self {
28549 flags: SubpassDescriptionFlags::default(),
28550 pipeline_bind_point: PipelineBindPoint::default(),
28551 input_attachment_count: u32::default(),
28552 input_attachments: ptr::null(),
28553 color_attachment_count: u32::default(),
28554 color_attachments: ptr::null(),
28555 resolve_attachments: ptr::null(),
28556 depth_stencil_attachment: ptr::null(),
28557 preserve_attachment_count: u32::default(),
28558 preserve_attachments: ptr::null(),
28559 }
28560 }
28561}
28562
28563unsafe impl Send for SubpassDescription {}
28564unsafe impl Sync for SubpassDescription {}
28565
28566#[repr(C)]
28568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28569pub struct SubpassDescription2 {
28570 pub s_type: StructureType,
28571 pub next: *const c_void,
28572 pub flags: SubpassDescriptionFlags,
28573 pub pipeline_bind_point: PipelineBindPoint,
28574 pub view_mask: u32,
28575 pub input_attachment_count: u32,
28576 pub input_attachments: *const AttachmentReference2,
28577 pub color_attachment_count: u32,
28578 pub color_attachments: *const AttachmentReference2,
28579 pub resolve_attachments: *const AttachmentReference2,
28580 pub depth_stencil_attachment: *const AttachmentReference2,
28581 pub preserve_attachment_count: u32,
28582 pub preserve_attachments: *const u32,
28583}
28584
28585impl Default for SubpassDescription2 {
28586 #[inline]
28587 fn default() -> Self {
28588 Self {
28589 s_type: StructureType::SUBPASS_DESCRIPTION_2,
28590 next: ptr::null(),
28591 flags: SubpassDescriptionFlags::default(),
28592 pipeline_bind_point: PipelineBindPoint::default(),
28593 view_mask: u32::default(),
28594 input_attachment_count: u32::default(),
28595 input_attachments: ptr::null(),
28596 color_attachment_count: u32::default(),
28597 color_attachments: ptr::null(),
28598 resolve_attachments: ptr::null(),
28599 depth_stencil_attachment: ptr::null(),
28600 preserve_attachment_count: u32::default(),
28601 preserve_attachments: ptr::null(),
28602 }
28603 }
28604}
28605
28606unsafe impl Send for SubpassDescription2 {}
28607unsafe impl Sync for SubpassDescription2 {}
28608
28609#[repr(C)]
28611#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28612pub struct SubpassDescriptionDepthStencilResolve {
28613 pub s_type: StructureType,
28614 pub next: *const c_void,
28615 pub depth_resolve_mode: ResolveModeFlags,
28616 pub stencil_resolve_mode: ResolveModeFlags,
28617 pub depth_stencil_resolve_attachment: *const AttachmentReference2,
28618}
28619
28620impl Default for SubpassDescriptionDepthStencilResolve {
28621 #[inline]
28622 fn default() -> Self {
28623 Self {
28624 s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
28625 next: ptr::null(),
28626 depth_resolve_mode: ResolveModeFlags::default(),
28627 stencil_resolve_mode: ResolveModeFlags::default(),
28628 depth_stencil_resolve_attachment: ptr::null(),
28629 }
28630 }
28631}
28632
28633unsafe impl Send for SubpassDescriptionDepthStencilResolve {}
28634unsafe impl Sync for SubpassDescriptionDepthStencilResolve {}
28635
28636#[repr(C)]
28638#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28639pub struct SubpassEndInfo {
28640 pub s_type: StructureType,
28641 pub next: *const c_void,
28642}
28643
28644impl Default for SubpassEndInfo {
28645 #[inline]
28646 fn default() -> Self {
28647 Self {
28648 s_type: StructureType::SUBPASS_END_INFO,
28649 next: ptr::null(),
28650 }
28651 }
28652}
28653
28654unsafe impl Send for SubpassEndInfo {}
28655unsafe impl Sync for SubpassEndInfo {}
28656
28657#[repr(C)]
28659#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28660pub struct SubpassResolvePerformanceQueryEXT {
28661 pub s_type: StructureType,
28662 pub next: *mut c_void,
28663 pub optimal: Bool32,
28664}
28665
28666impl Default for SubpassResolvePerformanceQueryEXT {
28667 #[inline]
28668 fn default() -> Self {
28669 Self {
28670 s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
28671 next: ptr::null_mut(),
28672 optimal: Bool32::default(),
28673 }
28674 }
28675}
28676
28677unsafe impl Send for SubpassResolvePerformanceQueryEXT {}
28678unsafe impl Sync for SubpassResolvePerformanceQueryEXT {}
28679
28680#[repr(C)]
28682#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28683pub struct SubpassSampleLocationsEXT {
28684 pub subpass_index: u32,
28685 pub sample_locations_info: SampleLocationsInfoEXT,
28686}
28687
28688#[repr(C)]
28690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28691pub struct SubpassShadingPipelineCreateInfoHUAWEI {
28692 pub s_type: StructureType,
28693 pub next: *mut c_void,
28694 pub render_pass: RenderPass,
28695 pub subpass: u32,
28696}
28697
28698impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
28699 #[inline]
28700 fn default() -> Self {
28701 Self {
28702 s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
28703 next: ptr::null_mut(),
28704 render_pass: RenderPass::default(),
28705 subpass: u32::default(),
28706 }
28707 }
28708}
28709
28710unsafe impl Send for SubpassShadingPipelineCreateInfoHUAWEI {}
28711unsafe impl Sync for SubpassShadingPipelineCreateInfoHUAWEI {}
28712
28713#[repr(C)]
28715#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28716pub struct SubresourceHostMemcpySize {
28717 pub s_type: StructureType,
28718 pub next: *mut c_void,
28719 pub size: DeviceSize,
28720}
28721
28722impl Default for SubresourceHostMemcpySize {
28723 #[inline]
28724 fn default() -> Self {
28725 Self {
28726 s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
28727 next: ptr::null_mut(),
28728 size: DeviceSize::default(),
28729 }
28730 }
28731}
28732
28733unsafe impl Send for SubresourceHostMemcpySize {}
28734unsafe impl Sync for SubresourceHostMemcpySize {}
28735
28736#[repr(C)]
28738#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28739pub struct SubresourceLayout {
28740 pub offset: DeviceSize,
28741 pub size: DeviceSize,
28742 pub row_pitch: DeviceSize,
28743 pub array_pitch: DeviceSize,
28744 pub depth_pitch: DeviceSize,
28745}
28746
28747#[repr(C)]
28749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28750pub struct SubresourceLayout2 {
28751 pub s_type: StructureType,
28752 pub next: *mut c_void,
28753 pub subresource_layout: SubresourceLayout,
28754}
28755
28756impl Default for SubresourceLayout2 {
28757 #[inline]
28758 fn default() -> Self {
28759 Self {
28760 s_type: StructureType::SUBRESOURCE_LAYOUT_2,
28761 next: ptr::null_mut(),
28762 subresource_layout: SubresourceLayout::default(),
28763 }
28764 }
28765}
28766
28767unsafe impl Send for SubresourceLayout2 {}
28768unsafe impl Sync for SubresourceLayout2 {}
28769
28770#[repr(C)]
28772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28773pub struct SurfaceCapabilities2EXT {
28774 pub s_type: StructureType,
28775 pub next: *mut c_void,
28776 pub min_image_count: u32,
28777 pub max_image_count: u32,
28778 pub current_extent: Extent2D,
28779 pub min_image_extent: Extent2D,
28780 pub max_image_extent: Extent2D,
28781 pub max_image_array_layers: u32,
28782 pub supported_transforms: SurfaceTransformFlagsKHR,
28783 pub current_transform: SurfaceTransformFlagsKHR,
28784 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
28785 pub supported_usage_flags: ImageUsageFlags,
28786 pub supported_surface_counters: SurfaceCounterFlagsEXT,
28787}
28788
28789impl Default for SurfaceCapabilities2EXT {
28790 #[inline]
28791 fn default() -> Self {
28792 Self {
28793 s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
28794 next: ptr::null_mut(),
28795 min_image_count: u32::default(),
28796 max_image_count: u32::default(),
28797 current_extent: Extent2D::default(),
28798 min_image_extent: Extent2D::default(),
28799 max_image_extent: Extent2D::default(),
28800 max_image_array_layers: u32::default(),
28801 supported_transforms: SurfaceTransformFlagsKHR::default(),
28802 current_transform: SurfaceTransformFlagsKHR::default(),
28803 supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
28804 supported_usage_flags: ImageUsageFlags::default(),
28805 supported_surface_counters: SurfaceCounterFlagsEXT::default(),
28806 }
28807 }
28808}
28809
28810unsafe impl Send for SurfaceCapabilities2EXT {}
28811unsafe impl Sync for SurfaceCapabilities2EXT {}
28812
28813#[repr(C)]
28815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28816pub struct SurfaceCapabilities2KHR {
28817 pub s_type: StructureType,
28818 pub next: *mut c_void,
28819 pub surface_capabilities: SurfaceCapabilitiesKHR,
28820}
28821
28822impl Default for SurfaceCapabilities2KHR {
28823 #[inline]
28824 fn default() -> Self {
28825 Self {
28826 s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
28827 next: ptr::null_mut(),
28828 surface_capabilities: SurfaceCapabilitiesKHR::default(),
28829 }
28830 }
28831}
28832
28833unsafe impl Send for SurfaceCapabilities2KHR {}
28834unsafe impl Sync for SurfaceCapabilities2KHR {}
28835
28836#[repr(C)]
28838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28839pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
28840 pub s_type: StructureType,
28841 pub next: *mut c_void,
28842 pub full_screen_exclusive_supported: Bool32,
28843}
28844
28845impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
28846 #[inline]
28847 fn default() -> Self {
28848 Self {
28849 s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
28850 next: ptr::null_mut(),
28851 full_screen_exclusive_supported: Bool32::default(),
28852 }
28853 }
28854}
28855
28856unsafe impl Send for SurfaceCapabilitiesFullScreenExclusiveEXT {}
28857unsafe impl Sync for SurfaceCapabilitiesFullScreenExclusiveEXT {}
28858
28859#[repr(C)]
28861#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28862pub struct SurfaceCapabilitiesKHR {
28863 pub min_image_count: u32,
28864 pub max_image_count: u32,
28865 pub current_extent: Extent2D,
28866 pub min_image_extent: Extent2D,
28867 pub max_image_extent: Extent2D,
28868 pub max_image_array_layers: u32,
28869 pub supported_transforms: SurfaceTransformFlagsKHR,
28870 pub current_transform: SurfaceTransformFlagsKHR,
28871 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
28872 pub supported_usage_flags: ImageUsageFlags,
28873}
28874
28875#[repr(C)]
28877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28878pub struct SurfaceCapabilitiesPresentBarrierNV {
28879 pub s_type: StructureType,
28880 pub next: *mut c_void,
28881 pub present_barrier_supported: Bool32,
28882}
28883
28884impl Default for SurfaceCapabilitiesPresentBarrierNV {
28885 #[inline]
28886 fn default() -> Self {
28887 Self {
28888 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
28889 next: ptr::null_mut(),
28890 present_barrier_supported: Bool32::default(),
28891 }
28892 }
28893}
28894
28895unsafe impl Send for SurfaceCapabilitiesPresentBarrierNV {}
28896unsafe impl Sync for SurfaceCapabilitiesPresentBarrierNV {}
28897
28898#[repr(C)]
28900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28901pub struct SurfaceCapabilitiesPresentId2KHR {
28902 pub s_type: StructureType,
28903 pub next: *mut c_void,
28904 pub present_id2_supported: Bool32,
28905}
28906
28907impl Default for SurfaceCapabilitiesPresentId2KHR {
28908 #[inline]
28909 fn default() -> Self {
28910 Self {
28911 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
28912 next: ptr::null_mut(),
28913 present_id2_supported: Bool32::default(),
28914 }
28915 }
28916}
28917
28918unsafe impl Send for SurfaceCapabilitiesPresentId2KHR {}
28919unsafe impl Sync for SurfaceCapabilitiesPresentId2KHR {}
28920
28921#[repr(C)]
28923#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28924pub struct SurfaceCapabilitiesPresentWait2KHR {
28925 pub s_type: StructureType,
28926 pub next: *mut c_void,
28927 pub present_wait2_supported: Bool32,
28928}
28929
28930impl Default for SurfaceCapabilitiesPresentWait2KHR {
28931 #[inline]
28932 fn default() -> Self {
28933 Self {
28934 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
28935 next: ptr::null_mut(),
28936 present_wait2_supported: Bool32::default(),
28937 }
28938 }
28939}
28940
28941unsafe impl Send for SurfaceCapabilitiesPresentWait2KHR {}
28942unsafe impl Sync for SurfaceCapabilitiesPresentWait2KHR {}
28943
28944#[repr(C)]
28946#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28947pub struct SurfaceCreateInfoOHOS {
28948 pub s_type: StructureType,
28949 pub next: *const c_void,
28950 pub flags: SurfaceCreateFlagsOHOS,
28951 pub window: *mut OHNativeWindow,
28952}
28953
28954impl Default for SurfaceCreateInfoOHOS {
28955 #[inline]
28956 fn default() -> Self {
28957 Self {
28958 s_type: StructureType::SURFACE_CREATE_INFO_OHOS,
28959 next: ptr::null(),
28960 flags: SurfaceCreateFlagsOHOS::default(),
28961 window: ptr::null_mut(),
28962 }
28963 }
28964}
28965
28966unsafe impl Send for SurfaceCreateInfoOHOS {}
28967unsafe impl Sync for SurfaceCreateInfoOHOS {}
28968
28969#[repr(C)]
28971#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28972pub struct SurfaceFormat2KHR {
28973 pub s_type: StructureType,
28974 pub next: *mut c_void,
28975 pub surface_format: SurfaceFormatKHR,
28976}
28977
28978impl Default for SurfaceFormat2KHR {
28979 #[inline]
28980 fn default() -> Self {
28981 Self {
28982 s_type: StructureType::SURFACE_FORMAT_2_KHR,
28983 next: ptr::null_mut(),
28984 surface_format: SurfaceFormatKHR::default(),
28985 }
28986 }
28987}
28988
28989unsafe impl Send for SurfaceFormat2KHR {}
28990unsafe impl Sync for SurfaceFormat2KHR {}
28991
28992#[repr(C)]
28994#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28995pub struct SurfaceFormatKHR {
28996 pub format: Format,
28997 pub color_space: ColorSpaceKHR,
28998}
28999
29000#[repr(C)]
29002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29003pub struct SurfaceFullScreenExclusiveInfoEXT {
29004 pub s_type: StructureType,
29005 pub next: *mut c_void,
29006 pub full_screen_exclusive: FullScreenExclusiveEXT,
29007}
29008
29009impl Default for SurfaceFullScreenExclusiveInfoEXT {
29010 #[inline]
29011 fn default() -> Self {
29012 Self {
29013 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
29014 next: ptr::null_mut(),
29015 full_screen_exclusive: FullScreenExclusiveEXT::default(),
29016 }
29017 }
29018}
29019
29020unsafe impl Send for SurfaceFullScreenExclusiveInfoEXT {}
29021unsafe impl Sync for SurfaceFullScreenExclusiveInfoEXT {}
29022
29023#[repr(C)]
29025#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29026pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
29027 pub s_type: StructureType,
29028 pub next: *const c_void,
29029 pub hmonitor: HMONITOR,
29030}
29031
29032impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
29033 #[inline]
29034 fn default() -> Self {
29035 Self {
29036 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
29037 next: ptr::null(),
29038 hmonitor: ptr::null_mut(),
29039 }
29040 }
29041}
29042
29043unsafe impl Send for SurfaceFullScreenExclusiveWin32InfoEXT {}
29044unsafe impl Sync for SurfaceFullScreenExclusiveWin32InfoEXT {}
29045
29046#[repr(C)]
29048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29049pub struct SurfacePresentModeCompatibilityKHR {
29050 pub s_type: StructureType,
29051 pub next: *mut c_void,
29052 pub present_mode_count: u32,
29053 pub present_modes: *mut PresentModeKHR,
29054}
29055
29056impl Default for SurfacePresentModeCompatibilityKHR {
29057 #[inline]
29058 fn default() -> Self {
29059 Self {
29060 s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
29061 next: ptr::null_mut(),
29062 present_mode_count: u32::default(),
29063 present_modes: ptr::null_mut(),
29064 }
29065 }
29066}
29067
29068unsafe impl Send for SurfacePresentModeCompatibilityKHR {}
29069unsafe impl Sync for SurfacePresentModeCompatibilityKHR {}
29070
29071#[repr(C)]
29073#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29074pub struct SurfacePresentModeKHR {
29075 pub s_type: StructureType,
29076 pub next: *mut c_void,
29077 pub present_mode: PresentModeKHR,
29078}
29079
29080impl Default for SurfacePresentModeKHR {
29081 #[inline]
29082 fn default() -> Self {
29083 Self {
29084 s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
29085 next: ptr::null_mut(),
29086 present_mode: PresentModeKHR::default(),
29087 }
29088 }
29089}
29090
29091unsafe impl Send for SurfacePresentModeKHR {}
29092unsafe impl Sync for SurfacePresentModeKHR {}
29093
29094#[repr(C)]
29096#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29097pub struct SurfacePresentScalingCapabilitiesKHR {
29098 pub s_type: StructureType,
29099 pub next: *mut c_void,
29100 pub supported_present_scaling: PresentScalingFlagsKHR,
29101 pub supported_present_gravity_x: PresentGravityFlagsKHR,
29102 pub supported_present_gravity_y: PresentGravityFlagsKHR,
29103 pub min_scaled_image_extent: Extent2D,
29104 pub max_scaled_image_extent: Extent2D,
29105}
29106
29107impl Default for SurfacePresentScalingCapabilitiesKHR {
29108 #[inline]
29109 fn default() -> Self {
29110 Self {
29111 s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
29112 next: ptr::null_mut(),
29113 supported_present_scaling: PresentScalingFlagsKHR::default(),
29114 supported_present_gravity_x: PresentGravityFlagsKHR::default(),
29115 supported_present_gravity_y: PresentGravityFlagsKHR::default(),
29116 min_scaled_image_extent: Extent2D::default(),
29117 max_scaled_image_extent: Extent2D::default(),
29118 }
29119 }
29120}
29121
29122unsafe impl Send for SurfacePresentScalingCapabilitiesKHR {}
29123unsafe impl Sync for SurfacePresentScalingCapabilitiesKHR {}
29124
29125#[repr(C)]
29127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29128pub struct SurfaceProtectedCapabilitiesKHR {
29129 pub s_type: StructureType,
29130 pub next: *const c_void,
29131 pub supports_protected: Bool32,
29132}
29133
29134impl Default for SurfaceProtectedCapabilitiesKHR {
29135 #[inline]
29136 fn default() -> Self {
29137 Self {
29138 s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
29139 next: ptr::null(),
29140 supports_protected: Bool32::default(),
29141 }
29142 }
29143}
29144
29145unsafe impl Send for SurfaceProtectedCapabilitiesKHR {}
29146unsafe impl Sync for SurfaceProtectedCapabilitiesKHR {}
29147
29148#[repr(C)]
29150#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29151pub struct SwapchainCounterCreateInfoEXT {
29152 pub s_type: StructureType,
29153 pub next: *const c_void,
29154 pub surface_counters: SurfaceCounterFlagsEXT,
29155}
29156
29157impl Default for SwapchainCounterCreateInfoEXT {
29158 #[inline]
29159 fn default() -> Self {
29160 Self {
29161 s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
29162 next: ptr::null(),
29163 surface_counters: SurfaceCounterFlagsEXT::default(),
29164 }
29165 }
29166}
29167
29168unsafe impl Send for SwapchainCounterCreateInfoEXT {}
29169unsafe impl Sync for SwapchainCounterCreateInfoEXT {}
29170
29171#[repr(C)]
29173#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29174pub struct SwapchainCreateInfoKHR {
29175 pub s_type: StructureType,
29176 pub next: *const c_void,
29177 pub flags: SwapchainCreateFlagsKHR,
29178 pub surface: SurfaceKHR,
29179 pub min_image_count: u32,
29180 pub image_format: Format,
29181 pub image_color_space: ColorSpaceKHR,
29182 pub image_extent: Extent2D,
29183 pub image_array_layers: u32,
29184 pub image_usage: ImageUsageFlags,
29185 pub image_sharing_mode: SharingMode,
29186 pub queue_family_index_count: u32,
29187 pub queue_family_indices: *const u32,
29188 pub pre_transform: SurfaceTransformFlagsKHR,
29189 pub composite_alpha: CompositeAlphaFlagsKHR,
29190 pub present_mode: PresentModeKHR,
29191 pub clipped: Bool32,
29192 pub old_swapchain: SwapchainKHR,
29193}
29194
29195impl Default for SwapchainCreateInfoKHR {
29196 #[inline]
29197 fn default() -> Self {
29198 Self {
29199 s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
29200 next: ptr::null(),
29201 flags: SwapchainCreateFlagsKHR::default(),
29202 surface: SurfaceKHR::default(),
29203 min_image_count: u32::default(),
29204 image_format: Format::default(),
29205 image_color_space: ColorSpaceKHR::default(),
29206 image_extent: Extent2D::default(),
29207 image_array_layers: u32::default(),
29208 image_usage: ImageUsageFlags::default(),
29209 image_sharing_mode: SharingMode::default(),
29210 queue_family_index_count: u32::default(),
29211 queue_family_indices: ptr::null(),
29212 pre_transform: SurfaceTransformFlagsKHR::default(),
29213 composite_alpha: CompositeAlphaFlagsKHR::default(),
29214 present_mode: PresentModeKHR::default(),
29215 clipped: Bool32::default(),
29216 old_swapchain: SwapchainKHR::default(),
29217 }
29218 }
29219}
29220
29221unsafe impl Send for SwapchainCreateInfoKHR {}
29222unsafe impl Sync for SwapchainCreateInfoKHR {}
29223
29224#[repr(C)]
29226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29227pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
29228 pub s_type: StructureType,
29229 pub next: *const c_void,
29230 pub local_dimming_enable: Bool32,
29231}
29232
29233impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
29234 #[inline]
29235 fn default() -> Self {
29236 Self {
29237 s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
29238 next: ptr::null(),
29239 local_dimming_enable: Bool32::default(),
29240 }
29241 }
29242}
29243
29244unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {}
29245unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {}
29246
29247#[repr(C)]
29249#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29250pub struct SwapchainImageCreateInfoOHOS {
29251 pub s_type: StructureType,
29252 pub next: *const c_void,
29253 pub usage: SwapchainImageUsageFlagsOHOS,
29254}
29255
29256impl Default for SwapchainImageCreateInfoOHOS {
29257 #[inline]
29258 fn default() -> Self {
29259 Self {
29260 s_type: StructureType::SWAPCHAIN_IMAGE_CREATE_INFO_OHOS,
29261 next: ptr::null(),
29262 usage: SwapchainImageUsageFlagsOHOS::default(),
29263 }
29264 }
29265}
29266
29267unsafe impl Send for SwapchainImageCreateInfoOHOS {}
29268unsafe impl Sync for SwapchainImageCreateInfoOHOS {}
29269
29270#[repr(C)]
29272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29273pub struct SwapchainLatencyCreateInfoNV {
29274 pub s_type: StructureType,
29275 pub next: *const c_void,
29276 pub latency_mode_enable: Bool32,
29277}
29278
29279impl Default for SwapchainLatencyCreateInfoNV {
29280 #[inline]
29281 fn default() -> Self {
29282 Self {
29283 s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
29284 next: ptr::null(),
29285 latency_mode_enable: Bool32::default(),
29286 }
29287 }
29288}
29289
29290unsafe impl Send for SwapchainLatencyCreateInfoNV {}
29291unsafe impl Sync for SwapchainLatencyCreateInfoNV {}
29292
29293#[repr(C)]
29295#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29296pub struct SwapchainPresentBarrierCreateInfoNV {
29297 pub s_type: StructureType,
29298 pub next: *mut c_void,
29299 pub present_barrier_enable: Bool32,
29300}
29301
29302impl Default for SwapchainPresentBarrierCreateInfoNV {
29303 #[inline]
29304 fn default() -> Self {
29305 Self {
29306 s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
29307 next: ptr::null_mut(),
29308 present_barrier_enable: Bool32::default(),
29309 }
29310 }
29311}
29312
29313unsafe impl Send for SwapchainPresentBarrierCreateInfoNV {}
29314unsafe impl Sync for SwapchainPresentBarrierCreateInfoNV {}
29315
29316#[repr(C)]
29318#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29319pub struct SwapchainPresentFenceInfoKHR {
29320 pub s_type: StructureType,
29321 pub next: *const c_void,
29322 pub swapchain_count: u32,
29323 pub fences: *const Fence,
29324}
29325
29326impl Default for SwapchainPresentFenceInfoKHR {
29327 #[inline]
29328 fn default() -> Self {
29329 Self {
29330 s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
29331 next: ptr::null(),
29332 swapchain_count: u32::default(),
29333 fences: ptr::null(),
29334 }
29335 }
29336}
29337
29338unsafe impl Send for SwapchainPresentFenceInfoKHR {}
29339unsafe impl Sync for SwapchainPresentFenceInfoKHR {}
29340
29341#[repr(C)]
29343#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29344pub struct SwapchainPresentModeInfoKHR {
29345 pub s_type: StructureType,
29346 pub next: *const c_void,
29347 pub swapchain_count: u32,
29348 pub present_modes: *const PresentModeKHR,
29349}
29350
29351impl Default for SwapchainPresentModeInfoKHR {
29352 #[inline]
29353 fn default() -> Self {
29354 Self {
29355 s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
29356 next: ptr::null(),
29357 swapchain_count: u32::default(),
29358 present_modes: ptr::null(),
29359 }
29360 }
29361}
29362
29363unsafe impl Send for SwapchainPresentModeInfoKHR {}
29364unsafe impl Sync for SwapchainPresentModeInfoKHR {}
29365
29366#[repr(C)]
29368#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29369pub struct SwapchainPresentModesCreateInfoKHR {
29370 pub s_type: StructureType,
29371 pub next: *const c_void,
29372 pub present_mode_count: u32,
29373 pub present_modes: *const PresentModeKHR,
29374}
29375
29376impl Default for SwapchainPresentModesCreateInfoKHR {
29377 #[inline]
29378 fn default() -> Self {
29379 Self {
29380 s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
29381 next: ptr::null(),
29382 present_mode_count: u32::default(),
29383 present_modes: ptr::null(),
29384 }
29385 }
29386}
29387
29388unsafe impl Send for SwapchainPresentModesCreateInfoKHR {}
29389unsafe impl Sync for SwapchainPresentModesCreateInfoKHR {}
29390
29391#[repr(C)]
29393#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29394pub struct SwapchainPresentScalingCreateInfoKHR {
29395 pub s_type: StructureType,
29396 pub next: *const c_void,
29397 pub scaling_behavior: PresentScalingFlagsKHR,
29398 pub present_gravity_x: PresentGravityFlagsKHR,
29399 pub present_gravity_y: PresentGravityFlagsKHR,
29400}
29401
29402impl Default for SwapchainPresentScalingCreateInfoKHR {
29403 #[inline]
29404 fn default() -> Self {
29405 Self {
29406 s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
29407 next: ptr::null(),
29408 scaling_behavior: PresentScalingFlagsKHR::default(),
29409 present_gravity_x: PresentGravityFlagsKHR::default(),
29410 present_gravity_y: PresentGravityFlagsKHR::default(),
29411 }
29412 }
29413}
29414
29415unsafe impl Send for SwapchainPresentScalingCreateInfoKHR {}
29416unsafe impl Sync for SwapchainPresentScalingCreateInfoKHR {}
29417
29418#[repr(C)]
29420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29421pub struct SysmemColorSpaceFUCHSIA {
29422 pub s_type: StructureType,
29423 pub next: *const c_void,
29424 pub color_space: u32,
29425}
29426
29427impl Default for SysmemColorSpaceFUCHSIA {
29428 #[inline]
29429 fn default() -> Self {
29430 Self {
29431 s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
29432 next: ptr::null(),
29433 color_space: u32::default(),
29434 }
29435 }
29436}
29437
29438unsafe impl Send for SysmemColorSpaceFUCHSIA {}
29439unsafe impl Sync for SysmemColorSpaceFUCHSIA {}
29440
29441#[repr(C)]
29443#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29444pub struct TensorCaptureDescriptorDataInfoARM {
29445 pub s_type: StructureType,
29446 pub next: *const c_void,
29447 pub tensor: TensorARM,
29448}
29449
29450impl Default for TensorCaptureDescriptorDataInfoARM {
29451 #[inline]
29452 fn default() -> Self {
29453 Self {
29454 s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
29455 next: ptr::null(),
29456 tensor: TensorARM::default(),
29457 }
29458 }
29459}
29460
29461unsafe impl Send for TensorCaptureDescriptorDataInfoARM {}
29462unsafe impl Sync for TensorCaptureDescriptorDataInfoARM {}
29463
29464#[repr(C)]
29466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29467pub struct TensorCopyARM {
29468 pub s_type: StructureType,
29469 pub next: *const c_void,
29470 pub dimension_count: u32,
29471 pub src_offset: *const u64,
29472 pub dst_offset: *const u64,
29473 pub extent: *const u64,
29474}
29475
29476impl Default for TensorCopyARM {
29477 #[inline]
29478 fn default() -> Self {
29479 Self {
29480 s_type: StructureType::TENSOR_COPY_ARM,
29481 next: ptr::null(),
29482 dimension_count: u32::default(),
29483 src_offset: ptr::null(),
29484 dst_offset: ptr::null(),
29485 extent: ptr::null(),
29486 }
29487 }
29488}
29489
29490unsafe impl Send for TensorCopyARM {}
29491unsafe impl Sync for TensorCopyARM {}
29492
29493#[repr(C)]
29495#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29496pub struct TensorCreateInfoARM {
29497 pub s_type: StructureType,
29498 pub next: *const c_void,
29499 pub flags: TensorCreateFlagsARM,
29500 pub description: *const TensorDescriptionARM,
29501 pub sharing_mode: SharingMode,
29502 pub queue_family_index_count: u32,
29503 pub queue_family_indices: *const u32,
29504}
29505
29506impl Default for TensorCreateInfoARM {
29507 #[inline]
29508 fn default() -> Self {
29509 Self {
29510 s_type: StructureType::TENSOR_CREATE_INFO_ARM,
29511 next: ptr::null(),
29512 flags: TensorCreateFlagsARM::default(),
29513 description: ptr::null(),
29514 sharing_mode: SharingMode::default(),
29515 queue_family_index_count: u32::default(),
29516 queue_family_indices: ptr::null(),
29517 }
29518 }
29519}
29520
29521unsafe impl Send for TensorCreateInfoARM {}
29522unsafe impl Sync for TensorCreateInfoARM {}
29523
29524#[repr(C)]
29526#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29527pub struct TensorDependencyInfoARM {
29528 pub s_type: StructureType,
29529 pub next: *const c_void,
29530 pub tensor_memory_barrier_count: u32,
29531 pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
29532}
29533
29534impl Default for TensorDependencyInfoARM {
29535 #[inline]
29536 fn default() -> Self {
29537 Self {
29538 s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
29539 next: ptr::null(),
29540 tensor_memory_barrier_count: u32::default(),
29541 tensor_memory_barriers: ptr::null(),
29542 }
29543 }
29544}
29545
29546unsafe impl Send for TensorDependencyInfoARM {}
29547unsafe impl Sync for TensorDependencyInfoARM {}
29548
29549#[repr(C)]
29551#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29552pub struct TensorDescriptionARM {
29553 pub s_type: StructureType,
29554 pub next: *const c_void,
29555 pub tiling: TensorTilingARM,
29556 pub format: Format,
29557 pub dimension_count: u32,
29558 pub dimensions: *const i64,
29559 pub strides: *const i64,
29560 pub usage: TensorUsageFlagsARM,
29561}
29562
29563impl Default for TensorDescriptionARM {
29564 #[inline]
29565 fn default() -> Self {
29566 Self {
29567 s_type: StructureType::TENSOR_DESCRIPTION_ARM,
29568 next: ptr::null(),
29569 tiling: TensorTilingARM::default(),
29570 format: Format::default(),
29571 dimension_count: u32::default(),
29572 dimensions: ptr::null(),
29573 strides: ptr::null(),
29574 usage: TensorUsageFlagsARM::default(),
29575 }
29576 }
29577}
29578
29579unsafe impl Send for TensorDescriptionARM {}
29580unsafe impl Sync for TensorDescriptionARM {}
29581
29582#[repr(C)]
29584#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29585pub struct TensorFormatPropertiesARM {
29586 pub s_type: StructureType,
29587 pub next: *const c_void,
29588 pub optimal_tiling_tensor_features: FormatFeatureFlags2,
29589 pub linear_tiling_tensor_features: FormatFeatureFlags2,
29590}
29591
29592impl Default for TensorFormatPropertiesARM {
29593 #[inline]
29594 fn default() -> Self {
29595 Self {
29596 s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
29597 next: ptr::null(),
29598 optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
29599 linear_tiling_tensor_features: FormatFeatureFlags2::default(),
29600 }
29601 }
29602}
29603
29604unsafe impl Send for TensorFormatPropertiesARM {}
29605unsafe impl Sync for TensorFormatPropertiesARM {}
29606
29607#[repr(C)]
29609#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29610pub struct TensorMemoryBarrierARM {
29611 pub s_type: StructureType,
29612 pub next: *const c_void,
29613 pub src_stage_mask: PipelineStageFlags2,
29614 pub src_access_mask: AccessFlags2,
29615 pub dst_stage_mask: PipelineStageFlags2,
29616 pub dst_access_mask: AccessFlags2,
29617 pub src_queue_family_index: u32,
29618 pub dst_queue_family_index: u32,
29619 pub tensor: TensorARM,
29620}
29621
29622impl Default for TensorMemoryBarrierARM {
29623 #[inline]
29624 fn default() -> Self {
29625 Self {
29626 s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
29627 next: ptr::null(),
29628 src_stage_mask: PipelineStageFlags2::default(),
29629 src_access_mask: AccessFlags2::default(),
29630 dst_stage_mask: PipelineStageFlags2::default(),
29631 dst_access_mask: AccessFlags2::default(),
29632 src_queue_family_index: u32::default(),
29633 dst_queue_family_index: u32::default(),
29634 tensor: TensorARM::default(),
29635 }
29636 }
29637}
29638
29639unsafe impl Send for TensorMemoryBarrierARM {}
29640unsafe impl Sync for TensorMemoryBarrierARM {}
29641
29642#[repr(C)]
29644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29645pub struct TensorMemoryRequirementsInfoARM {
29646 pub s_type: StructureType,
29647 pub next: *const c_void,
29648 pub tensor: TensorARM,
29649}
29650
29651impl Default for TensorMemoryRequirementsInfoARM {
29652 #[inline]
29653 fn default() -> Self {
29654 Self {
29655 s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
29656 next: ptr::null(),
29657 tensor: TensorARM::default(),
29658 }
29659 }
29660}
29661
29662unsafe impl Send for TensorMemoryRequirementsInfoARM {}
29663unsafe impl Sync for TensorMemoryRequirementsInfoARM {}
29664
29665#[repr(C)]
29667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29668pub struct TensorViewCaptureDescriptorDataInfoARM {
29669 pub s_type: StructureType,
29670 pub next: *const c_void,
29671 pub tensor_view: TensorViewARM,
29672}
29673
29674impl Default for TensorViewCaptureDescriptorDataInfoARM {
29675 #[inline]
29676 fn default() -> Self {
29677 Self {
29678 s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
29679 next: ptr::null(),
29680 tensor_view: TensorViewARM::default(),
29681 }
29682 }
29683}
29684
29685unsafe impl Send for TensorViewCaptureDescriptorDataInfoARM {}
29686unsafe impl Sync for TensorViewCaptureDescriptorDataInfoARM {}
29687
29688#[repr(C)]
29690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29691pub struct TensorViewCreateInfoARM {
29692 pub s_type: StructureType,
29693 pub next: *const c_void,
29694 pub flags: TensorViewCreateFlagsARM,
29695 pub tensor: TensorARM,
29696 pub format: Format,
29697}
29698
29699impl Default for TensorViewCreateInfoARM {
29700 #[inline]
29701 fn default() -> Self {
29702 Self {
29703 s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
29704 next: ptr::null(),
29705 flags: TensorViewCreateFlagsARM::default(),
29706 tensor: TensorARM::default(),
29707 format: Format::default(),
29708 }
29709 }
29710}
29711
29712unsafe impl Send for TensorViewCreateInfoARM {}
29713unsafe impl Sync for TensorViewCreateInfoARM {}
29714
29715#[repr(C)]
29717#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29718pub struct TextureLODGatherFormatPropertiesAMD {
29719 pub s_type: StructureType,
29720 pub next: *mut c_void,
29721 pub supports_texture_gather_lod_bias_amd: Bool32,
29722}
29723
29724impl Default for TextureLODGatherFormatPropertiesAMD {
29725 #[inline]
29726 fn default() -> Self {
29727 Self {
29728 s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
29729 next: ptr::null_mut(),
29730 supports_texture_gather_lod_bias_amd: Bool32::default(),
29731 }
29732 }
29733}
29734
29735unsafe impl Send for TextureLODGatherFormatPropertiesAMD {}
29736unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {}
29737
29738#[repr(C)]
29740#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29741pub struct TileMemoryBindInfoQCOM {
29742 pub s_type: StructureType,
29743 pub next: *const c_void,
29744 pub memory: DeviceMemory,
29745}
29746
29747impl Default for TileMemoryBindInfoQCOM {
29748 #[inline]
29749 fn default() -> Self {
29750 Self {
29751 s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
29752 next: ptr::null(),
29753 memory: DeviceMemory::default(),
29754 }
29755 }
29756}
29757
29758unsafe impl Send for TileMemoryBindInfoQCOM {}
29759unsafe impl Sync for TileMemoryBindInfoQCOM {}
29760
29761#[repr(C)]
29763#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29764pub struct TileMemoryRequirementsQCOM {
29765 pub s_type: StructureType,
29766 pub next: *mut c_void,
29767 pub size: DeviceSize,
29768 pub alignment: DeviceSize,
29769}
29770
29771impl Default for TileMemoryRequirementsQCOM {
29772 #[inline]
29773 fn default() -> Self {
29774 Self {
29775 s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
29776 next: ptr::null_mut(),
29777 size: DeviceSize::default(),
29778 alignment: DeviceSize::default(),
29779 }
29780 }
29781}
29782
29783unsafe impl Send for TileMemoryRequirementsQCOM {}
29784unsafe impl Sync for TileMemoryRequirementsQCOM {}
29785
29786#[repr(C)]
29788#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29789pub struct TileMemorySizeInfoQCOM {
29790 pub s_type: StructureType,
29791 pub next: *const c_void,
29792 pub size: DeviceSize,
29793}
29794
29795impl Default for TileMemorySizeInfoQCOM {
29796 #[inline]
29797 fn default() -> Self {
29798 Self {
29799 s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
29800 next: ptr::null(),
29801 size: DeviceSize::default(),
29802 }
29803 }
29804}
29805
29806unsafe impl Send for TileMemorySizeInfoQCOM {}
29807unsafe impl Sync for TileMemorySizeInfoQCOM {}
29808
29809#[repr(C)]
29811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29812pub struct TilePropertiesQCOM {
29813 pub s_type: StructureType,
29814 pub next: *mut c_void,
29815 pub tile_size: Extent3D,
29816 pub apron_size: Extent2D,
29817 pub origin: Offset2D,
29818}
29819
29820impl Default for TilePropertiesQCOM {
29821 #[inline]
29822 fn default() -> Self {
29823 Self {
29824 s_type: StructureType::TILE_PROPERTIES_QCOM,
29825 next: ptr::null_mut(),
29826 tile_size: Extent3D::default(),
29827 apron_size: Extent2D::default(),
29828 origin: Offset2D::default(),
29829 }
29830 }
29831}
29832
29833unsafe impl Send for TilePropertiesQCOM {}
29834unsafe impl Sync for TilePropertiesQCOM {}
29835
29836#[repr(C)]
29838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29839pub struct TimelineSemaphoreSubmitInfo {
29840 pub s_type: StructureType,
29841 pub next: *const c_void,
29842 pub wait_semaphore_value_count: u32,
29843 pub wait_semaphore_values: *const u64,
29844 pub signal_semaphore_value_count: u32,
29845 pub signal_semaphore_values: *const u64,
29846}
29847
29848impl Default for TimelineSemaphoreSubmitInfo {
29849 #[inline]
29850 fn default() -> Self {
29851 Self {
29852 s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
29853 next: ptr::null(),
29854 wait_semaphore_value_count: u32::default(),
29855 wait_semaphore_values: ptr::null(),
29856 signal_semaphore_value_count: u32::default(),
29857 signal_semaphore_values: ptr::null(),
29858 }
29859 }
29860}
29861
29862unsafe impl Send for TimelineSemaphoreSubmitInfo {}
29863unsafe impl Sync for TimelineSemaphoreSubmitInfo {}
29864
29865#[repr(C)]
29867#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29868pub struct TraceRaysIndirectCommand2KHR {
29869 pub raygen_shader_record_address: DeviceAddress,
29870 pub raygen_shader_record_size: DeviceSize,
29871 pub miss_shader_binding_table_address: DeviceAddress,
29872 pub miss_shader_binding_table_size: DeviceSize,
29873 pub miss_shader_binding_table_stride: DeviceSize,
29874 pub hit_shader_binding_table_address: DeviceAddress,
29875 pub hit_shader_binding_table_size: DeviceSize,
29876 pub hit_shader_binding_table_stride: DeviceSize,
29877 pub callable_shader_binding_table_address: DeviceAddress,
29878 pub callable_shader_binding_table_size: DeviceSize,
29879 pub callable_shader_binding_table_stride: DeviceSize,
29880 pub width: u32,
29881 pub height: u32,
29882 pub depth: u32,
29883}
29884
29885#[repr(C)]
29887#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29888pub struct TraceRaysIndirectCommandKHR {
29889 pub width: u32,
29890 pub height: u32,
29891 pub depth: u32,
29892}
29893
29894#[repr(C)]
29896#[derive(Copy, Clone, Default, Debug, PartialEq)]
29897pub struct TransformMatrixKHR {
29898 pub matrix: [[f32; 4]; 3],
29899}
29900
29901#[repr(C)]
29903#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29904pub struct ValidationCacheCreateInfoEXT {
29905 pub s_type: StructureType,
29906 pub next: *const c_void,
29907 pub flags: ValidationCacheCreateFlagsEXT,
29908 pub initial_data_size: usize,
29909 pub initial_data: *const c_void,
29910}
29911
29912impl Default for ValidationCacheCreateInfoEXT {
29913 #[inline]
29914 fn default() -> Self {
29915 Self {
29916 s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
29917 next: ptr::null(),
29918 flags: ValidationCacheCreateFlagsEXT::default(),
29919 initial_data_size: usize::default(),
29920 initial_data: ptr::null(),
29921 }
29922 }
29923}
29924
29925unsafe impl Send for ValidationCacheCreateInfoEXT {}
29926unsafe impl Sync for ValidationCacheCreateInfoEXT {}
29927
29928#[repr(C)]
29930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29931pub struct ValidationFeaturesEXT {
29932 pub s_type: StructureType,
29933 pub next: *const c_void,
29934 pub enabled_validation_feature_count: u32,
29935 pub enabled_validation_features: *const ValidationFeatureEnableEXT,
29936 pub disabled_validation_feature_count: u32,
29937 pub disabled_validation_features: *const ValidationFeatureDisableEXT,
29938}
29939
29940impl Default for ValidationFeaturesEXT {
29941 #[inline]
29942 fn default() -> Self {
29943 Self {
29944 s_type: StructureType::VALIDATION_FEATURES_EXT,
29945 next: ptr::null(),
29946 enabled_validation_feature_count: u32::default(),
29947 enabled_validation_features: ptr::null(),
29948 disabled_validation_feature_count: u32::default(),
29949 disabled_validation_features: ptr::null(),
29950 }
29951 }
29952}
29953
29954unsafe impl Send for ValidationFeaturesEXT {}
29955unsafe impl Sync for ValidationFeaturesEXT {}
29956
29957#[repr(C)]
29959#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29960pub struct ValidationFlagsEXT {
29961 pub s_type: StructureType,
29962 pub next: *const c_void,
29963 pub disabled_validation_check_count: u32,
29964 pub disabled_validation_checks: *const ValidationCheckEXT,
29965}
29966
29967impl Default for ValidationFlagsEXT {
29968 #[inline]
29969 fn default() -> Self {
29970 Self {
29971 s_type: StructureType::VALIDATION_FLAGS_EXT,
29972 next: ptr::null(),
29973 disabled_validation_check_count: u32::default(),
29974 disabled_validation_checks: ptr::null(),
29975 }
29976 }
29977}
29978
29979unsafe impl Send for ValidationFlagsEXT {}
29980unsafe impl Sync for ValidationFlagsEXT {}
29981
29982#[repr(C)]
29984#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29985pub struct VertexInputAttributeDescription {
29986 pub location: u32,
29987 pub binding: u32,
29988 pub format: Format,
29989 pub offset: u32,
29990}
29991
29992#[repr(C)]
29994#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29995pub struct VertexInputAttributeDescription2EXT {
29996 pub s_type: StructureType,
29997 pub next: *mut c_void,
29998 pub location: u32,
29999 pub binding: u32,
30000 pub format: Format,
30001 pub offset: u32,
30002}
30003
30004impl Default for VertexInputAttributeDescription2EXT {
30005 #[inline]
30006 fn default() -> Self {
30007 Self {
30008 s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
30009 next: ptr::null_mut(),
30010 location: u32::default(),
30011 binding: u32::default(),
30012 format: Format::default(),
30013 offset: u32::default(),
30014 }
30015 }
30016}
30017
30018unsafe impl Send for VertexInputAttributeDescription2EXT {}
30019unsafe impl Sync for VertexInputAttributeDescription2EXT {}
30020
30021#[repr(C)]
30023#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30024pub struct VertexInputBindingDescription {
30025 pub binding: u32,
30026 pub stride: u32,
30027 pub input_rate: VertexInputRate,
30028}
30029
30030#[repr(C)]
30032#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30033pub struct VertexInputBindingDescription2EXT {
30034 pub s_type: StructureType,
30035 pub next: *mut c_void,
30036 pub binding: u32,
30037 pub stride: u32,
30038 pub input_rate: VertexInputRate,
30039 pub divisor: u32,
30040}
30041
30042impl Default for VertexInputBindingDescription2EXT {
30043 #[inline]
30044 fn default() -> Self {
30045 Self {
30046 s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
30047 next: ptr::null_mut(),
30048 binding: u32::default(),
30049 stride: u32::default(),
30050 input_rate: VertexInputRate::default(),
30051 divisor: u32::default(),
30052 }
30053 }
30054}
30055
30056unsafe impl Send for VertexInputBindingDescription2EXT {}
30057unsafe impl Sync for VertexInputBindingDescription2EXT {}
30058
30059#[repr(C)]
30061#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30062pub struct VertexInputBindingDivisorDescription {
30063 pub binding: u32,
30064 pub divisor: u32,
30065}
30066
30067#[repr(C)]
30069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30070pub struct ViSurfaceCreateInfoNN {
30071 pub s_type: StructureType,
30072 pub next: *const c_void,
30073 pub flags: ViSurfaceCreateFlagsNN,
30074 pub window: *mut c_void,
30075}
30076
30077impl Default for ViSurfaceCreateInfoNN {
30078 #[inline]
30079 fn default() -> Self {
30080 Self {
30081 s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
30082 next: ptr::null(),
30083 flags: ViSurfaceCreateFlagsNN::default(),
30084 window: ptr::null_mut(),
30085 }
30086 }
30087}
30088
30089unsafe impl Send for ViSurfaceCreateInfoNN {}
30090unsafe impl Sync for ViSurfaceCreateInfoNN {}
30091
30092#[repr(C)]
30094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30095pub struct VideoBeginCodingInfoKHR {
30096 pub s_type: StructureType,
30097 pub next: *const c_void,
30098 pub flags: VideoBeginCodingFlagsKHR,
30099 pub video_session: VideoSessionKHR,
30100 pub video_session_parameters: VideoSessionParametersKHR,
30101 pub reference_slot_count: u32,
30102 pub reference_slots: *const VideoReferenceSlotInfoKHR,
30103}
30104
30105impl Default for VideoBeginCodingInfoKHR {
30106 #[inline]
30107 fn default() -> Self {
30108 Self {
30109 s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
30110 next: ptr::null(),
30111 flags: VideoBeginCodingFlagsKHR::default(),
30112 video_session: VideoSessionKHR::default(),
30113 video_session_parameters: VideoSessionParametersKHR::default(),
30114 reference_slot_count: u32::default(),
30115 reference_slots: ptr::null(),
30116 }
30117 }
30118}
30119
30120unsafe impl Send for VideoBeginCodingInfoKHR {}
30121unsafe impl Sync for VideoBeginCodingInfoKHR {}
30122
30123#[repr(C)]
30125#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30126pub struct VideoCapabilitiesKHR {
30127 pub s_type: StructureType,
30128 pub next: *mut c_void,
30129 pub flags: VideoCapabilityFlagsKHR,
30130 pub min_bitstream_buffer_offset_alignment: DeviceSize,
30131 pub min_bitstream_buffer_size_alignment: DeviceSize,
30132 pub picture_access_granularity: Extent2D,
30133 pub min_coded_extent: Extent2D,
30134 pub max_coded_extent: Extent2D,
30135 pub max_dpb_slots: u32,
30136 pub max_active_reference_pictures: u32,
30137 pub std_header_version: ExtensionProperties,
30138}
30139
30140impl Default for VideoCapabilitiesKHR {
30141 #[inline]
30142 fn default() -> Self {
30143 Self {
30144 s_type: StructureType::VIDEO_CAPABILITIES_KHR,
30145 next: ptr::null_mut(),
30146 flags: VideoCapabilityFlagsKHR::default(),
30147 min_bitstream_buffer_offset_alignment: DeviceSize::default(),
30148 min_bitstream_buffer_size_alignment: DeviceSize::default(),
30149 picture_access_granularity: Extent2D::default(),
30150 min_coded_extent: Extent2D::default(),
30151 max_coded_extent: Extent2D::default(),
30152 max_dpb_slots: u32::default(),
30153 max_active_reference_pictures: u32::default(),
30154 std_header_version: ExtensionProperties::default(),
30155 }
30156 }
30157}
30158
30159unsafe impl Send for VideoCapabilitiesKHR {}
30160unsafe impl Sync for VideoCapabilitiesKHR {}
30161
30162#[repr(C)]
30164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30165pub struct VideoCodingControlInfoKHR {
30166 pub s_type: StructureType,
30167 pub next: *const c_void,
30168 pub flags: VideoCodingControlFlagsKHR,
30169}
30170
30171impl Default for VideoCodingControlInfoKHR {
30172 #[inline]
30173 fn default() -> Self {
30174 Self {
30175 s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
30176 next: ptr::null(),
30177 flags: VideoCodingControlFlagsKHR::default(),
30178 }
30179 }
30180}
30181
30182unsafe impl Send for VideoCodingControlInfoKHR {}
30183unsafe impl Sync for VideoCodingControlInfoKHR {}
30184
30185#[repr(C)]
30187#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30188pub struct VideoDecodeAV1CapabilitiesKHR {
30189 pub s_type: StructureType,
30190 pub next: *mut c_void,
30191 pub max_level: video::StdVideoAV1Level,
30192}
30193
30194impl Default for VideoDecodeAV1CapabilitiesKHR {
30195 #[inline]
30196 fn default() -> Self {
30197 Self {
30198 s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
30199 next: ptr::null_mut(),
30200 max_level: video::StdVideoAV1Level::default(),
30201 }
30202 }
30203}
30204
30205unsafe impl Send for VideoDecodeAV1CapabilitiesKHR {}
30206unsafe impl Sync for VideoDecodeAV1CapabilitiesKHR {}
30207
30208#[repr(C)]
30210#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30211pub struct VideoDecodeAV1DpbSlotInfoKHR {
30212 pub s_type: StructureType,
30213 pub next: *const c_void,
30214 pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
30215}
30216
30217impl Default for VideoDecodeAV1DpbSlotInfoKHR {
30218 #[inline]
30219 fn default() -> Self {
30220 Self {
30221 s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
30222 next: ptr::null(),
30223 std_reference_info: ptr::null(),
30224 }
30225 }
30226}
30227
30228unsafe impl Send for VideoDecodeAV1DpbSlotInfoKHR {}
30229unsafe impl Sync for VideoDecodeAV1DpbSlotInfoKHR {}
30230
30231#[repr(C)]
30233#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30234pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
30235 pub s_type: StructureType,
30236 pub next: *const c_void,
30237 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30238}
30239
30240impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
30241 #[inline]
30242 fn default() -> Self {
30243 Self {
30244 s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
30245 next: ptr::null(),
30246 std_sequence_header: ptr::null(),
30247 }
30248 }
30249}
30250
30251unsafe impl Send for VideoDecodeAV1InlineSessionParametersInfoKHR {}
30252unsafe impl Sync for VideoDecodeAV1InlineSessionParametersInfoKHR {}
30253
30254#[repr(C)]
30256#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30257pub struct VideoDecodeAV1PictureInfoKHR {
30258 pub s_type: StructureType,
30259 pub next: *const c_void,
30260 pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
30261 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
30262 pub frame_header_offset: u32,
30263 pub tile_count: u32,
30264 pub tile_offsets: *const u32,
30265 pub tile_sizes: *const u32,
30266}
30267
30268impl Default for VideoDecodeAV1PictureInfoKHR {
30269 #[inline]
30270 fn default() -> Self {
30271 Self {
30272 s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
30273 next: ptr::null(),
30274 std_picture_info: ptr::null(),
30275 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30276 frame_header_offset: u32::default(),
30277 tile_count: u32::default(),
30278 tile_offsets: ptr::null(),
30279 tile_sizes: ptr::null(),
30280 }
30281 }
30282}
30283
30284unsafe impl Send for VideoDecodeAV1PictureInfoKHR {}
30285unsafe impl Sync for VideoDecodeAV1PictureInfoKHR {}
30286
30287#[repr(C)]
30289#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30290pub struct VideoDecodeAV1ProfileInfoKHR {
30291 pub s_type: StructureType,
30292 pub next: *const c_void,
30293 pub std_profile: video::StdVideoAV1Profile,
30294 pub film_grain_support: Bool32,
30295}
30296
30297impl Default for VideoDecodeAV1ProfileInfoKHR {
30298 #[inline]
30299 fn default() -> Self {
30300 Self {
30301 s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
30302 next: ptr::null(),
30303 std_profile: video::StdVideoAV1Profile::default(),
30304 film_grain_support: Bool32::default(),
30305 }
30306 }
30307}
30308
30309unsafe impl Send for VideoDecodeAV1ProfileInfoKHR {}
30310unsafe impl Sync for VideoDecodeAV1ProfileInfoKHR {}
30311
30312#[repr(C)]
30314#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30315pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
30316 pub s_type: StructureType,
30317 pub next: *const c_void,
30318 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30319}
30320
30321impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
30322 #[inline]
30323 fn default() -> Self {
30324 Self {
30325 s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
30326 next: ptr::null(),
30327 std_sequence_header: ptr::null(),
30328 }
30329 }
30330}
30331
30332unsafe impl Send for VideoDecodeAV1SessionParametersCreateInfoKHR {}
30333unsafe impl Sync for VideoDecodeAV1SessionParametersCreateInfoKHR {}
30334
30335#[repr(C)]
30337#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30338pub struct VideoDecodeCapabilitiesKHR {
30339 pub s_type: StructureType,
30340 pub next: *mut c_void,
30341 pub flags: VideoDecodeCapabilityFlagsKHR,
30342}
30343
30344impl Default for VideoDecodeCapabilitiesKHR {
30345 #[inline]
30346 fn default() -> Self {
30347 Self {
30348 s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
30349 next: ptr::null_mut(),
30350 flags: VideoDecodeCapabilityFlagsKHR::default(),
30351 }
30352 }
30353}
30354
30355unsafe impl Send for VideoDecodeCapabilitiesKHR {}
30356unsafe impl Sync for VideoDecodeCapabilitiesKHR {}
30357
30358#[repr(C)]
30360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30361pub struct VideoDecodeH264CapabilitiesKHR {
30362 pub s_type: StructureType,
30363 pub next: *mut c_void,
30364 pub max_level_idc: video::StdVideoH264LevelIdc,
30365 pub field_offset_granularity: Offset2D,
30366}
30367
30368impl Default for VideoDecodeH264CapabilitiesKHR {
30369 #[inline]
30370 fn default() -> Self {
30371 Self {
30372 s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
30373 next: ptr::null_mut(),
30374 max_level_idc: video::StdVideoH264LevelIdc::default(),
30375 field_offset_granularity: Offset2D::default(),
30376 }
30377 }
30378}
30379
30380unsafe impl Send for VideoDecodeH264CapabilitiesKHR {}
30381unsafe impl Sync for VideoDecodeH264CapabilitiesKHR {}
30382
30383#[repr(C)]
30385#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30386pub struct VideoDecodeH264DpbSlotInfoKHR {
30387 pub s_type: StructureType,
30388 pub next: *const c_void,
30389 pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
30390}
30391
30392impl Default for VideoDecodeH264DpbSlotInfoKHR {
30393 #[inline]
30394 fn default() -> Self {
30395 Self {
30396 s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
30397 next: ptr::null(),
30398 std_reference_info: ptr::null(),
30399 }
30400 }
30401}
30402
30403unsafe impl Send for VideoDecodeH264DpbSlotInfoKHR {}
30404unsafe impl Sync for VideoDecodeH264DpbSlotInfoKHR {}
30405
30406#[repr(C)]
30408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30409pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
30410 pub s_type: StructureType,
30411 pub next: *const c_void,
30412 pub std_sps: *const video::StdVideoH264SequenceParameterSet,
30413 pub std_pps: *const video::StdVideoH264PictureParameterSet,
30414}
30415
30416impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
30417 #[inline]
30418 fn default() -> Self {
30419 Self {
30420 s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
30421 next: ptr::null(),
30422 std_sps: ptr::null(),
30423 std_pps: ptr::null(),
30424 }
30425 }
30426}
30427
30428unsafe impl Send for VideoDecodeH264InlineSessionParametersInfoKHR {}
30429unsafe impl Sync for VideoDecodeH264InlineSessionParametersInfoKHR {}
30430
30431#[repr(C)]
30433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30434pub struct VideoDecodeH264PictureInfoKHR {
30435 pub s_type: StructureType,
30436 pub next: *const c_void,
30437 pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
30438 pub slice_count: u32,
30439 pub slice_offsets: *const u32,
30440}
30441
30442impl Default for VideoDecodeH264PictureInfoKHR {
30443 #[inline]
30444 fn default() -> Self {
30445 Self {
30446 s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
30447 next: ptr::null(),
30448 std_picture_info: ptr::null(),
30449 slice_count: u32::default(),
30450 slice_offsets: ptr::null(),
30451 }
30452 }
30453}
30454
30455unsafe impl Send for VideoDecodeH264PictureInfoKHR {}
30456unsafe impl Sync for VideoDecodeH264PictureInfoKHR {}
30457
30458#[repr(C)]
30460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30461pub struct VideoDecodeH264ProfileInfoKHR {
30462 pub s_type: StructureType,
30463 pub next: *const c_void,
30464 pub std_profile_idc: video::StdVideoH264ProfileIdc,
30465 pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
30466}
30467
30468impl Default for VideoDecodeH264ProfileInfoKHR {
30469 #[inline]
30470 fn default() -> Self {
30471 Self {
30472 s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
30473 next: ptr::null(),
30474 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
30475 picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
30476 }
30477 }
30478}
30479
30480unsafe impl Send for VideoDecodeH264ProfileInfoKHR {}
30481unsafe impl Sync for VideoDecodeH264ProfileInfoKHR {}
30482
30483#[repr(C)]
30485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30486pub struct VideoDecodeH264SessionParametersAddInfoKHR {
30487 pub s_type: StructureType,
30488 pub next: *const c_void,
30489 pub std_sps_count: u32,
30490 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
30491 pub std_pps_count: u32,
30492 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
30493}
30494
30495impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
30496 #[inline]
30497 fn default() -> Self {
30498 Self {
30499 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
30500 next: ptr::null(),
30501 std_sps_count: u32::default(),
30502 std_sp_ss: ptr::null(),
30503 std_pps_count: u32::default(),
30504 std_pp_ss: ptr::null(),
30505 }
30506 }
30507}
30508
30509unsafe impl Send for VideoDecodeH264SessionParametersAddInfoKHR {}
30510unsafe impl Sync for VideoDecodeH264SessionParametersAddInfoKHR {}
30511
30512#[repr(C)]
30514#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30515pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
30516 pub s_type: StructureType,
30517 pub next: *const c_void,
30518 pub max_std_sps_count: u32,
30519 pub max_std_pps_count: u32,
30520 pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
30521}
30522
30523impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
30524 #[inline]
30525 fn default() -> Self {
30526 Self {
30527 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
30528 next: ptr::null(),
30529 max_std_sps_count: u32::default(),
30530 max_std_pps_count: u32::default(),
30531 parameters_add_info: ptr::null(),
30532 }
30533 }
30534}
30535
30536unsafe impl Send for VideoDecodeH264SessionParametersCreateInfoKHR {}
30537unsafe impl Sync for VideoDecodeH264SessionParametersCreateInfoKHR {}
30538
30539#[repr(C)]
30541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30542pub struct VideoDecodeH265CapabilitiesKHR {
30543 pub s_type: StructureType,
30544 pub next: *mut c_void,
30545 pub max_level_idc: video::StdVideoH265LevelIdc,
30546}
30547
30548impl Default for VideoDecodeH265CapabilitiesKHR {
30549 #[inline]
30550 fn default() -> Self {
30551 Self {
30552 s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
30553 next: ptr::null_mut(),
30554 max_level_idc: video::StdVideoH265LevelIdc::default(),
30555 }
30556 }
30557}
30558
30559unsafe impl Send for VideoDecodeH265CapabilitiesKHR {}
30560unsafe impl Sync for VideoDecodeH265CapabilitiesKHR {}
30561
30562#[repr(C)]
30564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30565pub struct VideoDecodeH265DpbSlotInfoKHR {
30566 pub s_type: StructureType,
30567 pub next: *const c_void,
30568 pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
30569}
30570
30571impl Default for VideoDecodeH265DpbSlotInfoKHR {
30572 #[inline]
30573 fn default() -> Self {
30574 Self {
30575 s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
30576 next: ptr::null(),
30577 std_reference_info: ptr::null(),
30578 }
30579 }
30580}
30581
30582unsafe impl Send for VideoDecodeH265DpbSlotInfoKHR {}
30583unsafe impl Sync for VideoDecodeH265DpbSlotInfoKHR {}
30584
30585#[repr(C)]
30587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30588pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
30589 pub s_type: StructureType,
30590 pub next: *const c_void,
30591 pub std_vps: *const video::StdVideoH265VideoParameterSet,
30592 pub std_sps: *const video::StdVideoH265SequenceParameterSet,
30593 pub std_pps: *const video::StdVideoH265PictureParameterSet,
30594}
30595
30596impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
30597 #[inline]
30598 fn default() -> Self {
30599 Self {
30600 s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
30601 next: ptr::null(),
30602 std_vps: ptr::null(),
30603 std_sps: ptr::null(),
30604 std_pps: ptr::null(),
30605 }
30606 }
30607}
30608
30609unsafe impl Send for VideoDecodeH265InlineSessionParametersInfoKHR {}
30610unsafe impl Sync for VideoDecodeH265InlineSessionParametersInfoKHR {}
30611
30612#[repr(C)]
30614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30615pub struct VideoDecodeH265PictureInfoKHR {
30616 pub s_type: StructureType,
30617 pub next: *const c_void,
30618 pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
30619 pub slice_segment_count: u32,
30620 pub slice_segment_offsets: *const u32,
30621}
30622
30623impl Default for VideoDecodeH265PictureInfoKHR {
30624 #[inline]
30625 fn default() -> Self {
30626 Self {
30627 s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
30628 next: ptr::null(),
30629 std_picture_info: ptr::null(),
30630 slice_segment_count: u32::default(),
30631 slice_segment_offsets: ptr::null(),
30632 }
30633 }
30634}
30635
30636unsafe impl Send for VideoDecodeH265PictureInfoKHR {}
30637unsafe impl Sync for VideoDecodeH265PictureInfoKHR {}
30638
30639#[repr(C)]
30641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30642pub struct VideoDecodeH265ProfileInfoKHR {
30643 pub s_type: StructureType,
30644 pub next: *const c_void,
30645 pub std_profile_idc: video::StdVideoH265ProfileIdc,
30646}
30647
30648impl Default for VideoDecodeH265ProfileInfoKHR {
30649 #[inline]
30650 fn default() -> Self {
30651 Self {
30652 s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
30653 next: ptr::null(),
30654 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
30655 }
30656 }
30657}
30658
30659unsafe impl Send for VideoDecodeH265ProfileInfoKHR {}
30660unsafe impl Sync for VideoDecodeH265ProfileInfoKHR {}
30661
30662#[repr(C)]
30664#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30665pub struct VideoDecodeH265SessionParametersAddInfoKHR {
30666 pub s_type: StructureType,
30667 pub next: *const c_void,
30668 pub std_vps_count: u32,
30669 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
30670 pub std_sps_count: u32,
30671 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
30672 pub std_pps_count: u32,
30673 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
30674}
30675
30676impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
30677 #[inline]
30678 fn default() -> Self {
30679 Self {
30680 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
30681 next: ptr::null(),
30682 std_vps_count: u32::default(),
30683 std_vp_ss: ptr::null(),
30684 std_sps_count: u32::default(),
30685 std_sp_ss: ptr::null(),
30686 std_pps_count: u32::default(),
30687 std_pp_ss: ptr::null(),
30688 }
30689 }
30690}
30691
30692unsafe impl Send for VideoDecodeH265SessionParametersAddInfoKHR {}
30693unsafe impl Sync for VideoDecodeH265SessionParametersAddInfoKHR {}
30694
30695#[repr(C)]
30697#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30698pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
30699 pub s_type: StructureType,
30700 pub next: *const c_void,
30701 pub max_std_vps_count: u32,
30702 pub max_std_sps_count: u32,
30703 pub max_std_pps_count: u32,
30704 pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
30705}
30706
30707impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
30708 #[inline]
30709 fn default() -> Self {
30710 Self {
30711 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
30712 next: ptr::null(),
30713 max_std_vps_count: u32::default(),
30714 max_std_sps_count: u32::default(),
30715 max_std_pps_count: u32::default(),
30716 parameters_add_info: ptr::null(),
30717 }
30718 }
30719}
30720
30721unsafe impl Send for VideoDecodeH265SessionParametersCreateInfoKHR {}
30722unsafe impl Sync for VideoDecodeH265SessionParametersCreateInfoKHR {}
30723
30724#[repr(C)]
30726#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30727pub struct VideoDecodeInfoKHR {
30728 pub s_type: StructureType,
30729 pub next: *const c_void,
30730 pub flags: VideoDecodeFlagsKHR,
30731 pub src_buffer: Buffer,
30732 pub src_buffer_offset: DeviceSize,
30733 pub src_buffer_range: DeviceSize,
30734 pub dst_picture_resource: VideoPictureResourceInfoKHR,
30735 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
30736 pub reference_slot_count: u32,
30737 pub reference_slots: *const VideoReferenceSlotInfoKHR,
30738}
30739
30740impl Default for VideoDecodeInfoKHR {
30741 #[inline]
30742 fn default() -> Self {
30743 Self {
30744 s_type: StructureType::VIDEO_DECODE_INFO_KHR,
30745 next: ptr::null(),
30746 flags: VideoDecodeFlagsKHR::default(),
30747 src_buffer: Buffer::default(),
30748 src_buffer_offset: DeviceSize::default(),
30749 src_buffer_range: DeviceSize::default(),
30750 dst_picture_resource: VideoPictureResourceInfoKHR::default(),
30751 setup_reference_slot: ptr::null(),
30752 reference_slot_count: u32::default(),
30753 reference_slots: ptr::null(),
30754 }
30755 }
30756}
30757
30758unsafe impl Send for VideoDecodeInfoKHR {}
30759unsafe impl Sync for VideoDecodeInfoKHR {}
30760
30761#[repr(C)]
30763#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30764pub struct VideoDecodeUsageInfoKHR {
30765 pub s_type: StructureType,
30766 pub next: *const c_void,
30767 pub video_usage_hints: VideoDecodeUsageFlagsKHR,
30768}
30769
30770impl Default for VideoDecodeUsageInfoKHR {
30771 #[inline]
30772 fn default() -> Self {
30773 Self {
30774 s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
30775 next: ptr::null(),
30776 video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
30777 }
30778 }
30779}
30780
30781unsafe impl Send for VideoDecodeUsageInfoKHR {}
30782unsafe impl Sync for VideoDecodeUsageInfoKHR {}
30783
30784#[repr(C)]
30786#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30787pub struct VideoDecodeVP9CapabilitiesKHR {
30788 pub s_type: StructureType,
30789 pub next: *mut c_void,
30790 pub max_level: video::StdVideoVP9Level,
30791}
30792
30793impl Default for VideoDecodeVP9CapabilitiesKHR {
30794 #[inline]
30795 fn default() -> Self {
30796 Self {
30797 s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
30798 next: ptr::null_mut(),
30799 max_level: video::StdVideoVP9Level::default(),
30800 }
30801 }
30802}
30803
30804unsafe impl Send for VideoDecodeVP9CapabilitiesKHR {}
30805unsafe impl Sync for VideoDecodeVP9CapabilitiesKHR {}
30806
30807#[repr(C)]
30809#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30810pub struct VideoDecodeVP9PictureInfoKHR {
30811 pub s_type: StructureType,
30812 pub next: *const c_void,
30813 pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
30814 pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR as usize],
30815 pub uncompressed_header_offset: u32,
30816 pub compressed_header_offset: u32,
30817 pub tiles_offset: u32,
30818}
30819
30820impl Default for VideoDecodeVP9PictureInfoKHR {
30821 #[inline]
30822 fn default() -> Self {
30823 Self {
30824 s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
30825 next: ptr::null(),
30826 std_picture_info: ptr::null(),
30827 reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
30828 uncompressed_header_offset: u32::default(),
30829 compressed_header_offset: u32::default(),
30830 tiles_offset: u32::default(),
30831 }
30832 }
30833}
30834
30835unsafe impl Send for VideoDecodeVP9PictureInfoKHR {}
30836unsafe impl Sync for VideoDecodeVP9PictureInfoKHR {}
30837
30838#[repr(C)]
30840#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30841pub struct VideoDecodeVP9ProfileInfoKHR {
30842 pub s_type: StructureType,
30843 pub next: *const c_void,
30844 pub std_profile: video::StdVideoVP9Profile,
30845}
30846
30847impl Default for VideoDecodeVP9ProfileInfoKHR {
30848 #[inline]
30849 fn default() -> Self {
30850 Self {
30851 s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
30852 next: ptr::null(),
30853 std_profile: video::StdVideoVP9Profile::default(),
30854 }
30855 }
30856}
30857
30858unsafe impl Send for VideoDecodeVP9ProfileInfoKHR {}
30859unsafe impl Sync for VideoDecodeVP9ProfileInfoKHR {}
30860
30861#[repr(C)]
30863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30864pub struct VideoEncodeAV1CapabilitiesKHR {
30865 pub s_type: StructureType,
30866 pub next: *mut c_void,
30867 pub flags: VideoEncodeAV1CapabilityFlagsKHR,
30868 pub max_level: video::StdVideoAV1Level,
30869 pub coded_picture_alignment: Extent2D,
30870 pub max_tiles: Extent2D,
30871 pub min_tile_size: Extent2D,
30872 pub max_tile_size: Extent2D,
30873 pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
30874 pub max_single_reference_count: u32,
30875 pub single_reference_name_mask: u32,
30876 pub max_unidirectional_compound_reference_count: u32,
30877 pub max_unidirectional_compound_group1_reference_count: u32,
30878 pub unidirectional_compound_reference_name_mask: u32,
30879 pub max_bidirectional_compound_reference_count: u32,
30880 pub max_bidirectional_compound_group1_reference_count: u32,
30881 pub max_bidirectional_compound_group2_reference_count: u32,
30882 pub bidirectional_compound_reference_name_mask: u32,
30883 pub max_temporal_layer_count: u32,
30884 pub max_spatial_layer_count: u32,
30885 pub max_operating_points: u32,
30886 pub min_q_index: u32,
30887 pub max_q_index: u32,
30888 pub prefers_gop_remaining_frames: Bool32,
30889 pub requires_gop_remaining_frames: Bool32,
30890 pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
30891}
30892
30893impl Default for VideoEncodeAV1CapabilitiesKHR {
30894 #[inline]
30895 fn default() -> Self {
30896 Self {
30897 s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
30898 next: ptr::null_mut(),
30899 flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
30900 max_level: video::StdVideoAV1Level::default(),
30901 coded_picture_alignment: Extent2D::default(),
30902 max_tiles: Extent2D::default(),
30903 min_tile_size: Extent2D::default(),
30904 max_tile_size: Extent2D::default(),
30905 superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
30906 max_single_reference_count: u32::default(),
30907 single_reference_name_mask: u32::default(),
30908 max_unidirectional_compound_reference_count: u32::default(),
30909 max_unidirectional_compound_group1_reference_count: u32::default(),
30910 unidirectional_compound_reference_name_mask: u32::default(),
30911 max_bidirectional_compound_reference_count: u32::default(),
30912 max_bidirectional_compound_group1_reference_count: u32::default(),
30913 max_bidirectional_compound_group2_reference_count: u32::default(),
30914 bidirectional_compound_reference_name_mask: u32::default(),
30915 max_temporal_layer_count: u32::default(),
30916 max_spatial_layer_count: u32::default(),
30917 max_operating_points: u32::default(),
30918 min_q_index: u32::default(),
30919 max_q_index: u32::default(),
30920 prefers_gop_remaining_frames: Bool32::default(),
30921 requires_gop_remaining_frames: Bool32::default(),
30922 std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
30923 }
30924 }
30925}
30926
30927unsafe impl Send for VideoEncodeAV1CapabilitiesKHR {}
30928unsafe impl Sync for VideoEncodeAV1CapabilitiesKHR {}
30929
30930#[repr(C)]
30932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30933pub struct VideoEncodeAV1DpbSlotInfoKHR {
30934 pub s_type: StructureType,
30935 pub next: *const c_void,
30936 pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
30937}
30938
30939impl Default for VideoEncodeAV1DpbSlotInfoKHR {
30940 #[inline]
30941 fn default() -> Self {
30942 Self {
30943 s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
30944 next: ptr::null(),
30945 std_reference_info: ptr::null(),
30946 }
30947 }
30948}
30949
30950unsafe impl Send for VideoEncodeAV1DpbSlotInfoKHR {}
30951unsafe impl Sync for VideoEncodeAV1DpbSlotInfoKHR {}
30952
30953#[repr(C)]
30955#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30956pub struct VideoEncodeAV1FrameSizeKHR {
30957 pub intra_frame_size: u32,
30958 pub predictive_frame_size: u32,
30959 pub bipredictive_frame_size: u32,
30960}
30961
30962#[repr(C)]
30964#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30965pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
30966 pub s_type: StructureType,
30967 pub next: *const c_void,
30968 pub use_gop_remaining_frames: Bool32,
30969 pub gop_remaining_intra: u32,
30970 pub gop_remaining_predictive: u32,
30971 pub gop_remaining_bipredictive: u32,
30972}
30973
30974impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
30975 #[inline]
30976 fn default() -> Self {
30977 Self {
30978 s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
30979 next: ptr::null(),
30980 use_gop_remaining_frames: Bool32::default(),
30981 gop_remaining_intra: u32::default(),
30982 gop_remaining_predictive: u32::default(),
30983 gop_remaining_bipredictive: u32::default(),
30984 }
30985 }
30986}
30987
30988unsafe impl Send for VideoEncodeAV1GopRemainingFrameInfoKHR {}
30989unsafe impl Sync for VideoEncodeAV1GopRemainingFrameInfoKHR {}
30990
30991#[repr(C)]
30993#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30994pub struct VideoEncodeAV1PictureInfoKHR {
30995 pub s_type: StructureType,
30996 pub next: *const c_void,
30997 pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
30998 pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
30999 pub constant_q_index: u32,
31000 pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
31001 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
31002 pub primary_reference_cdf_only: Bool32,
31003 pub generate_obu_extension_header: Bool32,
31004}
31005
31006impl Default for VideoEncodeAV1PictureInfoKHR {
31007 #[inline]
31008 fn default() -> Self {
31009 Self {
31010 s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
31011 next: ptr::null(),
31012 prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
31013 rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
31014 constant_q_index: u32::default(),
31015 std_picture_info: ptr::null(),
31016 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
31017 primary_reference_cdf_only: Bool32::default(),
31018 generate_obu_extension_header: Bool32::default(),
31019 }
31020 }
31021}
31022
31023unsafe impl Send for VideoEncodeAV1PictureInfoKHR {}
31024unsafe impl Sync for VideoEncodeAV1PictureInfoKHR {}
31025
31026#[repr(C)]
31028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31029pub struct VideoEncodeAV1ProfileInfoKHR {
31030 pub s_type: StructureType,
31031 pub next: *const c_void,
31032 pub std_profile: video::StdVideoAV1Profile,
31033}
31034
31035impl Default for VideoEncodeAV1ProfileInfoKHR {
31036 #[inline]
31037 fn default() -> Self {
31038 Self {
31039 s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
31040 next: ptr::null(),
31041 std_profile: video::StdVideoAV1Profile::default(),
31042 }
31043 }
31044}
31045
31046unsafe impl Send for VideoEncodeAV1ProfileInfoKHR {}
31047unsafe impl Sync for VideoEncodeAV1ProfileInfoKHR {}
31048
31049#[repr(C)]
31051#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31052pub struct VideoEncodeAV1QIndexKHR {
31053 pub intra_q_index: u32,
31054 pub predictive_q_index: u32,
31055 pub bipredictive_q_index: u32,
31056}
31057
31058#[repr(C)]
31060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31061pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
31062 pub s_type: StructureType,
31063 pub next: *mut c_void,
31064 pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
31065 pub preferred_gop_frame_count: u32,
31066 pub preferred_key_frame_period: u32,
31067 pub preferred_consecutive_bipredictive_frame_count: u32,
31068 pub preferred_temporal_layer_count: u32,
31069 pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
31070 pub preferred_max_single_reference_count: u32,
31071 pub preferred_single_reference_name_mask: u32,
31072 pub preferred_max_unidirectional_compound_reference_count: u32,
31073 pub preferred_max_unidirectional_compound_group1_reference_count: u32,
31074 pub preferred_unidirectional_compound_reference_name_mask: u32,
31075 pub preferred_max_bidirectional_compound_reference_count: u32,
31076 pub preferred_max_bidirectional_compound_group1_reference_count: u32,
31077 pub preferred_max_bidirectional_compound_group2_reference_count: u32,
31078 pub preferred_bidirectional_compound_reference_name_mask: u32,
31079}
31080
31081impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
31082 #[inline]
31083 fn default() -> Self {
31084 Self {
31085 s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
31086 next: ptr::null_mut(),
31087 preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
31088 preferred_gop_frame_count: u32::default(),
31089 preferred_key_frame_period: u32::default(),
31090 preferred_consecutive_bipredictive_frame_count: u32::default(),
31091 preferred_temporal_layer_count: u32::default(),
31092 preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
31093 preferred_max_single_reference_count: u32::default(),
31094 preferred_single_reference_name_mask: u32::default(),
31095 preferred_max_unidirectional_compound_reference_count: u32::default(),
31096 preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
31097 preferred_unidirectional_compound_reference_name_mask: u32::default(),
31098 preferred_max_bidirectional_compound_reference_count: u32::default(),
31099 preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
31100 preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
31101 preferred_bidirectional_compound_reference_name_mask: u32::default(),
31102 }
31103 }
31104}
31105
31106unsafe impl Send for VideoEncodeAV1QualityLevelPropertiesKHR {}
31107unsafe impl Sync for VideoEncodeAV1QualityLevelPropertiesKHR {}
31108
31109#[repr(C)]
31111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31112pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
31113 pub s_type: StructureType,
31114 pub next: *mut c_void,
31115 pub min_q_index_delta: i32,
31116 pub max_q_index_delta: i32,
31117}
31118
31119impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
31120 #[inline]
31121 fn default() -> Self {
31122 Self {
31123 s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
31124 next: ptr::null_mut(),
31125 min_q_index_delta: i32::default(),
31126 max_q_index_delta: i32::default(),
31127 }
31128 }
31129}
31130
31131unsafe impl Send for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
31132unsafe impl Sync for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
31133
31134#[repr(C)]
31136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31137pub struct VideoEncodeAV1RateControlInfoKHR {
31138 pub s_type: StructureType,
31139 pub next: *const c_void,
31140 pub flags: VideoEncodeAV1RateControlFlagsKHR,
31141 pub gop_frame_count: u32,
31142 pub key_frame_period: u32,
31143 pub consecutive_bipredictive_frame_count: u32,
31144 pub temporal_layer_count: u32,
31145}
31146
31147impl Default for VideoEncodeAV1RateControlInfoKHR {
31148 #[inline]
31149 fn default() -> Self {
31150 Self {
31151 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
31152 next: ptr::null(),
31153 flags: VideoEncodeAV1RateControlFlagsKHR::default(),
31154 gop_frame_count: u32::default(),
31155 key_frame_period: u32::default(),
31156 consecutive_bipredictive_frame_count: u32::default(),
31157 temporal_layer_count: u32::default(),
31158 }
31159 }
31160}
31161
31162unsafe impl Send for VideoEncodeAV1RateControlInfoKHR {}
31163unsafe impl Sync for VideoEncodeAV1RateControlInfoKHR {}
31164
31165#[repr(C)]
31167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31168pub struct VideoEncodeAV1RateControlLayerInfoKHR {
31169 pub s_type: StructureType,
31170 pub next: *const c_void,
31171 pub use_min_q_index: Bool32,
31172 pub min_q_index: VideoEncodeAV1QIndexKHR,
31173 pub use_max_q_index: Bool32,
31174 pub max_q_index: VideoEncodeAV1QIndexKHR,
31175 pub use_max_frame_size: Bool32,
31176 pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
31177}
31178
31179impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
31180 #[inline]
31181 fn default() -> Self {
31182 Self {
31183 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
31184 next: ptr::null(),
31185 use_min_q_index: Bool32::default(),
31186 min_q_index: VideoEncodeAV1QIndexKHR::default(),
31187 use_max_q_index: Bool32::default(),
31188 max_q_index: VideoEncodeAV1QIndexKHR::default(),
31189 use_max_frame_size: Bool32::default(),
31190 max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
31191 }
31192 }
31193}
31194
31195unsafe impl Send for VideoEncodeAV1RateControlLayerInfoKHR {}
31196unsafe impl Sync for VideoEncodeAV1RateControlLayerInfoKHR {}
31197
31198#[repr(C)]
31200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31201pub struct VideoEncodeAV1SessionCreateInfoKHR {
31202 pub s_type: StructureType,
31203 pub next: *const c_void,
31204 pub use_max_level: Bool32,
31205 pub max_level: video::StdVideoAV1Level,
31206}
31207
31208impl Default for VideoEncodeAV1SessionCreateInfoKHR {
31209 #[inline]
31210 fn default() -> Self {
31211 Self {
31212 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
31213 next: ptr::null(),
31214 use_max_level: Bool32::default(),
31215 max_level: video::StdVideoAV1Level::default(),
31216 }
31217 }
31218}
31219
31220unsafe impl Send for VideoEncodeAV1SessionCreateInfoKHR {}
31221unsafe impl Sync for VideoEncodeAV1SessionCreateInfoKHR {}
31222
31223#[repr(C)]
31225#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31226pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
31227 pub s_type: StructureType,
31228 pub next: *const c_void,
31229 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
31230 pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
31231 pub std_operating_point_count: u32,
31232 pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
31233}
31234
31235impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
31236 #[inline]
31237 fn default() -> Self {
31238 Self {
31239 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
31240 next: ptr::null(),
31241 std_sequence_header: ptr::null(),
31242 std_decoder_model_info: ptr::null(),
31243 std_operating_point_count: u32::default(),
31244 std_operating_points: ptr::null(),
31245 }
31246 }
31247}
31248
31249unsafe impl Send for VideoEncodeAV1SessionParametersCreateInfoKHR {}
31250unsafe impl Sync for VideoEncodeAV1SessionParametersCreateInfoKHR {}
31251
31252#[repr(C)]
31254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31255pub struct VideoEncodeCapabilitiesKHR {
31256 pub s_type: StructureType,
31257 pub next: *mut c_void,
31258 pub flags: VideoEncodeCapabilityFlagsKHR,
31259 pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
31260 pub max_rate_control_layers: u32,
31261 pub max_bitrate: u64,
31262 pub max_quality_levels: u32,
31263 pub encode_input_picture_granularity: Extent2D,
31264 pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
31265}
31266
31267impl Default for VideoEncodeCapabilitiesKHR {
31268 #[inline]
31269 fn default() -> Self {
31270 Self {
31271 s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
31272 next: ptr::null_mut(),
31273 flags: VideoEncodeCapabilityFlagsKHR::default(),
31274 rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
31275 max_rate_control_layers: u32::default(),
31276 max_bitrate: u64::default(),
31277 max_quality_levels: u32::default(),
31278 encode_input_picture_granularity: Extent2D::default(),
31279 supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
31280 }
31281 }
31282}
31283
31284unsafe impl Send for VideoEncodeCapabilitiesKHR {}
31285unsafe impl Sync for VideoEncodeCapabilitiesKHR {}
31286
31287#[repr(C)]
31289#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31290pub struct VideoEncodeH264CapabilitiesKHR {
31291 pub s_type: StructureType,
31292 pub next: *mut c_void,
31293 pub flags: VideoEncodeH264CapabilityFlagsKHR,
31294 pub max_level_idc: video::StdVideoH264LevelIdc,
31295 pub max_slice_count: u32,
31296 pub max_p_picture_l0_reference_count: u32,
31297 pub max_b_picture_l0_reference_count: u32,
31298 pub max_l1_reference_count: u32,
31299 pub max_temporal_layer_count: u32,
31300 pub expect_dyadic_temporal_layer_pattern: Bool32,
31301 pub min_qp: i32,
31302 pub max_qp: i32,
31303 pub prefers_gop_remaining_frames: Bool32,
31304 pub requires_gop_remaining_frames: Bool32,
31305 pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
31306}
31307
31308impl Default for VideoEncodeH264CapabilitiesKHR {
31309 #[inline]
31310 fn default() -> Self {
31311 Self {
31312 s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
31313 next: ptr::null_mut(),
31314 flags: VideoEncodeH264CapabilityFlagsKHR::default(),
31315 max_level_idc: video::StdVideoH264LevelIdc::default(),
31316 max_slice_count: u32::default(),
31317 max_p_picture_l0_reference_count: u32::default(),
31318 max_b_picture_l0_reference_count: u32::default(),
31319 max_l1_reference_count: u32::default(),
31320 max_temporal_layer_count: u32::default(),
31321 expect_dyadic_temporal_layer_pattern: Bool32::default(),
31322 min_qp: i32::default(),
31323 max_qp: i32::default(),
31324 prefers_gop_remaining_frames: Bool32::default(),
31325 requires_gop_remaining_frames: Bool32::default(),
31326 std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
31327 }
31328 }
31329}
31330
31331unsafe impl Send for VideoEncodeH264CapabilitiesKHR {}
31332unsafe impl Sync for VideoEncodeH264CapabilitiesKHR {}
31333
31334#[repr(C)]
31336#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31337pub struct VideoEncodeH264DpbSlotInfoKHR {
31338 pub s_type: StructureType,
31339 pub next: *const c_void,
31340 pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
31341}
31342
31343impl Default for VideoEncodeH264DpbSlotInfoKHR {
31344 #[inline]
31345 fn default() -> Self {
31346 Self {
31347 s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
31348 next: ptr::null(),
31349 std_reference_info: ptr::null(),
31350 }
31351 }
31352}
31353
31354unsafe impl Send for VideoEncodeH264DpbSlotInfoKHR {}
31355unsafe impl Sync for VideoEncodeH264DpbSlotInfoKHR {}
31356
31357#[repr(C)]
31359#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31360pub struct VideoEncodeH264FrameSizeKHR {
31361 pub frame_i_size: u32,
31362 pub frame_p_size: u32,
31363 pub frame_b_size: u32,
31364}
31365
31366#[repr(C)]
31368#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31369pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
31370 pub s_type: StructureType,
31371 pub next: *const c_void,
31372 pub use_gop_remaining_frames: Bool32,
31373 pub gop_remaining_i: u32,
31374 pub gop_remaining_p: u32,
31375 pub gop_remaining_b: u32,
31376}
31377
31378impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
31379 #[inline]
31380 fn default() -> Self {
31381 Self {
31382 s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
31383 next: ptr::null(),
31384 use_gop_remaining_frames: Bool32::default(),
31385 gop_remaining_i: u32::default(),
31386 gop_remaining_p: u32::default(),
31387 gop_remaining_b: u32::default(),
31388 }
31389 }
31390}
31391
31392unsafe impl Send for VideoEncodeH264GopRemainingFrameInfoKHR {}
31393unsafe impl Sync for VideoEncodeH264GopRemainingFrameInfoKHR {}
31394
31395#[repr(C)]
31397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31398pub struct VideoEncodeH264NaluSliceInfoKHR {
31399 pub s_type: StructureType,
31400 pub next: *const c_void,
31401 pub constant_qp: i32,
31402 pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
31403}
31404
31405impl Default for VideoEncodeH264NaluSliceInfoKHR {
31406 #[inline]
31407 fn default() -> Self {
31408 Self {
31409 s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
31410 next: ptr::null(),
31411 constant_qp: i32::default(),
31412 std_slice_header: ptr::null(),
31413 }
31414 }
31415}
31416
31417unsafe impl Send for VideoEncodeH264NaluSliceInfoKHR {}
31418unsafe impl Sync for VideoEncodeH264NaluSliceInfoKHR {}
31419
31420#[repr(C)]
31422#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31423pub struct VideoEncodeH264PictureInfoKHR {
31424 pub s_type: StructureType,
31425 pub next: *const c_void,
31426 pub nalu_slice_entry_count: u32,
31427 pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
31428 pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
31429 pub generate_prefix_nalu: Bool32,
31430}
31431
31432impl Default for VideoEncodeH264PictureInfoKHR {
31433 #[inline]
31434 fn default() -> Self {
31435 Self {
31436 s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
31437 next: ptr::null(),
31438 nalu_slice_entry_count: u32::default(),
31439 nalu_slice_entries: ptr::null(),
31440 std_picture_info: ptr::null(),
31441 generate_prefix_nalu: Bool32::default(),
31442 }
31443 }
31444}
31445
31446unsafe impl Send for VideoEncodeH264PictureInfoKHR {}
31447unsafe impl Sync for VideoEncodeH264PictureInfoKHR {}
31448
31449#[repr(C)]
31451#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31452pub struct VideoEncodeH264ProfileInfoKHR {
31453 pub s_type: StructureType,
31454 pub next: *const c_void,
31455 pub std_profile_idc: video::StdVideoH264ProfileIdc,
31456}
31457
31458impl Default for VideoEncodeH264ProfileInfoKHR {
31459 #[inline]
31460 fn default() -> Self {
31461 Self {
31462 s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
31463 next: ptr::null(),
31464 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
31465 }
31466 }
31467}
31468
31469unsafe impl Send for VideoEncodeH264ProfileInfoKHR {}
31470unsafe impl Sync for VideoEncodeH264ProfileInfoKHR {}
31471
31472#[repr(C)]
31474#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31475pub struct VideoEncodeH264QpKHR {
31476 pub qp_i: i32,
31477 pub qp_p: i32,
31478 pub qp_b: i32,
31479}
31480
31481#[repr(C)]
31483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31484pub struct VideoEncodeH264QualityLevelPropertiesKHR {
31485 pub s_type: StructureType,
31486 pub next: *mut c_void,
31487 pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
31488 pub preferred_gop_frame_count: u32,
31489 pub preferred_idr_period: u32,
31490 pub preferred_consecutive_b_frame_count: u32,
31491 pub preferred_temporal_layer_count: u32,
31492 pub preferred_constant_qp: VideoEncodeH264QpKHR,
31493 pub preferred_max_l0_reference_count: u32,
31494 pub preferred_max_l1_reference_count: u32,
31495 pub preferred_std_entropy_coding_mode_flag: Bool32,
31496}
31497
31498impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
31499 #[inline]
31500 fn default() -> Self {
31501 Self {
31502 s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
31503 next: ptr::null_mut(),
31504 preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
31505 preferred_gop_frame_count: u32::default(),
31506 preferred_idr_period: u32::default(),
31507 preferred_consecutive_b_frame_count: u32::default(),
31508 preferred_temporal_layer_count: u32::default(),
31509 preferred_constant_qp: VideoEncodeH264QpKHR::default(),
31510 preferred_max_l0_reference_count: u32::default(),
31511 preferred_max_l1_reference_count: u32::default(),
31512 preferred_std_entropy_coding_mode_flag: Bool32::default(),
31513 }
31514 }
31515}
31516
31517unsafe impl Send for VideoEncodeH264QualityLevelPropertiesKHR {}
31518unsafe impl Sync for VideoEncodeH264QualityLevelPropertiesKHR {}
31519
31520#[repr(C)]
31522#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31523pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
31524 pub s_type: StructureType,
31525 pub next: *mut c_void,
31526 pub min_qp_delta: i32,
31527 pub max_qp_delta: i32,
31528}
31529
31530impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
31531 #[inline]
31532 fn default() -> Self {
31533 Self {
31534 s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
31535 next: ptr::null_mut(),
31536 min_qp_delta: i32::default(),
31537 max_qp_delta: i32::default(),
31538 }
31539 }
31540}
31541
31542unsafe impl Send for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
31543unsafe impl Sync for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
31544
31545#[repr(C)]
31547#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31548pub struct VideoEncodeH264RateControlInfoKHR {
31549 pub s_type: StructureType,
31550 pub next: *const c_void,
31551 pub flags: VideoEncodeH264RateControlFlagsKHR,
31552 pub gop_frame_count: u32,
31553 pub idr_period: u32,
31554 pub consecutive_b_frame_count: u32,
31555 pub temporal_layer_count: u32,
31556}
31557
31558impl Default for VideoEncodeH264RateControlInfoKHR {
31559 #[inline]
31560 fn default() -> Self {
31561 Self {
31562 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
31563 next: ptr::null(),
31564 flags: VideoEncodeH264RateControlFlagsKHR::default(),
31565 gop_frame_count: u32::default(),
31566 idr_period: u32::default(),
31567 consecutive_b_frame_count: u32::default(),
31568 temporal_layer_count: u32::default(),
31569 }
31570 }
31571}
31572
31573unsafe impl Send for VideoEncodeH264RateControlInfoKHR {}
31574unsafe impl Sync for VideoEncodeH264RateControlInfoKHR {}
31575
31576#[repr(C)]
31578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31579pub struct VideoEncodeH264RateControlLayerInfoKHR {
31580 pub s_type: StructureType,
31581 pub next: *const c_void,
31582 pub use_min_qp: Bool32,
31583 pub min_qp: VideoEncodeH264QpKHR,
31584 pub use_max_qp: Bool32,
31585 pub max_qp: VideoEncodeH264QpKHR,
31586 pub use_max_frame_size: Bool32,
31587 pub max_frame_size: VideoEncodeH264FrameSizeKHR,
31588}
31589
31590impl Default for VideoEncodeH264RateControlLayerInfoKHR {
31591 #[inline]
31592 fn default() -> Self {
31593 Self {
31594 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
31595 next: ptr::null(),
31596 use_min_qp: Bool32::default(),
31597 min_qp: VideoEncodeH264QpKHR::default(),
31598 use_max_qp: Bool32::default(),
31599 max_qp: VideoEncodeH264QpKHR::default(),
31600 use_max_frame_size: Bool32::default(),
31601 max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
31602 }
31603 }
31604}
31605
31606unsafe impl Send for VideoEncodeH264RateControlLayerInfoKHR {}
31607unsafe impl Sync for VideoEncodeH264RateControlLayerInfoKHR {}
31608
31609#[repr(C)]
31611#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31612pub struct VideoEncodeH264SessionCreateInfoKHR {
31613 pub s_type: StructureType,
31614 pub next: *const c_void,
31615 pub use_max_level_idc: Bool32,
31616 pub max_level_idc: video::StdVideoH264LevelIdc,
31617}
31618
31619impl Default for VideoEncodeH264SessionCreateInfoKHR {
31620 #[inline]
31621 fn default() -> Self {
31622 Self {
31623 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
31624 next: ptr::null(),
31625 use_max_level_idc: Bool32::default(),
31626 max_level_idc: video::StdVideoH264LevelIdc::default(),
31627 }
31628 }
31629}
31630
31631unsafe impl Send for VideoEncodeH264SessionCreateInfoKHR {}
31632unsafe impl Sync for VideoEncodeH264SessionCreateInfoKHR {}
31633
31634#[repr(C)]
31636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31637pub struct VideoEncodeH264SessionParametersAddInfoKHR {
31638 pub s_type: StructureType,
31639 pub next: *const c_void,
31640 pub std_sps_count: u32,
31641 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
31642 pub std_pps_count: u32,
31643 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
31644}
31645
31646impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
31647 #[inline]
31648 fn default() -> Self {
31649 Self {
31650 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
31651 next: ptr::null(),
31652 std_sps_count: u32::default(),
31653 std_sp_ss: ptr::null(),
31654 std_pps_count: u32::default(),
31655 std_pp_ss: ptr::null(),
31656 }
31657 }
31658}
31659
31660unsafe impl Send for VideoEncodeH264SessionParametersAddInfoKHR {}
31661unsafe impl Sync for VideoEncodeH264SessionParametersAddInfoKHR {}
31662
31663#[repr(C)]
31665#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31666pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
31667 pub s_type: StructureType,
31668 pub next: *const c_void,
31669 pub max_std_sps_count: u32,
31670 pub max_std_pps_count: u32,
31671 pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
31672}
31673
31674impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
31675 #[inline]
31676 fn default() -> Self {
31677 Self {
31678 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
31679 next: ptr::null(),
31680 max_std_sps_count: u32::default(),
31681 max_std_pps_count: u32::default(),
31682 parameters_add_info: ptr::null(),
31683 }
31684 }
31685}
31686
31687unsafe impl Send for VideoEncodeH264SessionParametersCreateInfoKHR {}
31688unsafe impl Sync for VideoEncodeH264SessionParametersCreateInfoKHR {}
31689
31690#[repr(C)]
31692#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31693pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
31694 pub s_type: StructureType,
31695 pub next: *mut c_void,
31696 pub has_std_sps_overrides: Bool32,
31697 pub has_std_pps_overrides: Bool32,
31698}
31699
31700impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
31701 #[inline]
31702 fn default() -> Self {
31703 Self {
31704 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
31705 next: ptr::null_mut(),
31706 has_std_sps_overrides: Bool32::default(),
31707 has_std_pps_overrides: Bool32::default(),
31708 }
31709 }
31710}
31711
31712unsafe impl Send for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
31713unsafe impl Sync for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
31714
31715#[repr(C)]
31717#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31718pub struct VideoEncodeH264SessionParametersGetInfoKHR {
31719 pub s_type: StructureType,
31720 pub next: *const c_void,
31721 pub write_std_sps: Bool32,
31722 pub write_std_pps: Bool32,
31723 pub std_sps_id: u32,
31724 pub std_pps_id: u32,
31725}
31726
31727impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
31728 #[inline]
31729 fn default() -> Self {
31730 Self {
31731 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
31732 next: ptr::null(),
31733 write_std_sps: Bool32::default(),
31734 write_std_pps: Bool32::default(),
31735 std_sps_id: u32::default(),
31736 std_pps_id: u32::default(),
31737 }
31738 }
31739}
31740
31741unsafe impl Send for VideoEncodeH264SessionParametersGetInfoKHR {}
31742unsafe impl Sync for VideoEncodeH264SessionParametersGetInfoKHR {}
31743
31744#[repr(C)]
31746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31747pub struct VideoEncodeH265CapabilitiesKHR {
31748 pub s_type: StructureType,
31749 pub next: *mut c_void,
31750 pub flags: VideoEncodeH265CapabilityFlagsKHR,
31751 pub max_level_idc: video::StdVideoH265LevelIdc,
31752 pub max_slice_segment_count: u32,
31753 pub max_tiles: Extent2D,
31754 pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
31755 pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
31756 pub max_p_picture_l0_reference_count: u32,
31757 pub max_b_picture_l0_reference_count: u32,
31758 pub max_l1_reference_count: u32,
31759 pub max_sub_layer_count: u32,
31760 pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
31761 pub min_qp: i32,
31762 pub max_qp: i32,
31763 pub prefers_gop_remaining_frames: Bool32,
31764 pub requires_gop_remaining_frames: Bool32,
31765 pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
31766}
31767
31768impl Default for VideoEncodeH265CapabilitiesKHR {
31769 #[inline]
31770 fn default() -> Self {
31771 Self {
31772 s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
31773 next: ptr::null_mut(),
31774 flags: VideoEncodeH265CapabilityFlagsKHR::default(),
31775 max_level_idc: video::StdVideoH265LevelIdc::default(),
31776 max_slice_segment_count: u32::default(),
31777 max_tiles: Extent2D::default(),
31778 ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
31779 transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
31780 max_p_picture_l0_reference_count: u32::default(),
31781 max_b_picture_l0_reference_count: u32::default(),
31782 max_l1_reference_count: u32::default(),
31783 max_sub_layer_count: u32::default(),
31784 expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
31785 min_qp: i32::default(),
31786 max_qp: i32::default(),
31787 prefers_gop_remaining_frames: Bool32::default(),
31788 requires_gop_remaining_frames: Bool32::default(),
31789 std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
31790 }
31791 }
31792}
31793
31794unsafe impl Send for VideoEncodeH265CapabilitiesKHR {}
31795unsafe impl Sync for VideoEncodeH265CapabilitiesKHR {}
31796
31797#[repr(C)]
31799#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31800pub struct VideoEncodeH265DpbSlotInfoKHR {
31801 pub s_type: StructureType,
31802 pub next: *const c_void,
31803 pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
31804}
31805
31806impl Default for VideoEncodeH265DpbSlotInfoKHR {
31807 #[inline]
31808 fn default() -> Self {
31809 Self {
31810 s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
31811 next: ptr::null(),
31812 std_reference_info: ptr::null(),
31813 }
31814 }
31815}
31816
31817unsafe impl Send for VideoEncodeH265DpbSlotInfoKHR {}
31818unsafe impl Sync for VideoEncodeH265DpbSlotInfoKHR {}
31819
31820#[repr(C)]
31822#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31823pub struct VideoEncodeH265FrameSizeKHR {
31824 pub frame_i_size: u32,
31825 pub frame_p_size: u32,
31826 pub frame_b_size: u32,
31827}
31828
31829#[repr(C)]
31831#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31832pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
31833 pub s_type: StructureType,
31834 pub next: *const c_void,
31835 pub use_gop_remaining_frames: Bool32,
31836 pub gop_remaining_i: u32,
31837 pub gop_remaining_p: u32,
31838 pub gop_remaining_b: u32,
31839}
31840
31841impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
31842 #[inline]
31843 fn default() -> Self {
31844 Self {
31845 s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
31846 next: ptr::null(),
31847 use_gop_remaining_frames: Bool32::default(),
31848 gop_remaining_i: u32::default(),
31849 gop_remaining_p: u32::default(),
31850 gop_remaining_b: u32::default(),
31851 }
31852 }
31853}
31854
31855unsafe impl Send for VideoEncodeH265GopRemainingFrameInfoKHR {}
31856unsafe impl Sync for VideoEncodeH265GopRemainingFrameInfoKHR {}
31857
31858#[repr(C)]
31860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31861pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
31862 pub s_type: StructureType,
31863 pub next: *const c_void,
31864 pub constant_qp: i32,
31865 pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
31866}
31867
31868impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
31869 #[inline]
31870 fn default() -> Self {
31871 Self {
31872 s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
31873 next: ptr::null(),
31874 constant_qp: i32::default(),
31875 std_slice_segment_header: ptr::null(),
31876 }
31877 }
31878}
31879
31880unsafe impl Send for VideoEncodeH265NaluSliceSegmentInfoKHR {}
31881unsafe impl Sync for VideoEncodeH265NaluSliceSegmentInfoKHR {}
31882
31883#[repr(C)]
31885#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31886pub struct VideoEncodeH265PictureInfoKHR {
31887 pub s_type: StructureType,
31888 pub next: *const c_void,
31889 pub nalu_slice_segment_entry_count: u32,
31890 pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
31891 pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
31892}
31893
31894impl Default for VideoEncodeH265PictureInfoKHR {
31895 #[inline]
31896 fn default() -> Self {
31897 Self {
31898 s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
31899 next: ptr::null(),
31900 nalu_slice_segment_entry_count: u32::default(),
31901 nalu_slice_segment_entries: ptr::null(),
31902 std_picture_info: ptr::null(),
31903 }
31904 }
31905}
31906
31907unsafe impl Send for VideoEncodeH265PictureInfoKHR {}
31908unsafe impl Sync for VideoEncodeH265PictureInfoKHR {}
31909
31910#[repr(C)]
31912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31913pub struct VideoEncodeH265ProfileInfoKHR {
31914 pub s_type: StructureType,
31915 pub next: *const c_void,
31916 pub std_profile_idc: video::StdVideoH265ProfileIdc,
31917}
31918
31919impl Default for VideoEncodeH265ProfileInfoKHR {
31920 #[inline]
31921 fn default() -> Self {
31922 Self {
31923 s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
31924 next: ptr::null(),
31925 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
31926 }
31927 }
31928}
31929
31930unsafe impl Send for VideoEncodeH265ProfileInfoKHR {}
31931unsafe impl Sync for VideoEncodeH265ProfileInfoKHR {}
31932
31933#[repr(C)]
31935#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31936pub struct VideoEncodeH265QpKHR {
31937 pub qp_i: i32,
31938 pub qp_p: i32,
31939 pub qp_b: i32,
31940}
31941
31942#[repr(C)]
31944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31945pub struct VideoEncodeH265QualityLevelPropertiesKHR {
31946 pub s_type: StructureType,
31947 pub next: *mut c_void,
31948 pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
31949 pub preferred_gop_frame_count: u32,
31950 pub preferred_idr_period: u32,
31951 pub preferred_consecutive_b_frame_count: u32,
31952 pub preferred_sub_layer_count: u32,
31953 pub preferred_constant_qp: VideoEncodeH265QpKHR,
31954 pub preferred_max_l0_reference_count: u32,
31955 pub preferred_max_l1_reference_count: u32,
31956}
31957
31958impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
31959 #[inline]
31960 fn default() -> Self {
31961 Self {
31962 s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
31963 next: ptr::null_mut(),
31964 preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
31965 preferred_gop_frame_count: u32::default(),
31966 preferred_idr_period: u32::default(),
31967 preferred_consecutive_b_frame_count: u32::default(),
31968 preferred_sub_layer_count: u32::default(),
31969 preferred_constant_qp: VideoEncodeH265QpKHR::default(),
31970 preferred_max_l0_reference_count: u32::default(),
31971 preferred_max_l1_reference_count: u32::default(),
31972 }
31973 }
31974}
31975
31976unsafe impl Send for VideoEncodeH265QualityLevelPropertiesKHR {}
31977unsafe impl Sync for VideoEncodeH265QualityLevelPropertiesKHR {}
31978
31979#[repr(C)]
31981#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31982pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
31983 pub s_type: StructureType,
31984 pub next: *mut c_void,
31985 pub min_qp_delta: i32,
31986 pub max_qp_delta: i32,
31987}
31988
31989impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
31990 #[inline]
31991 fn default() -> Self {
31992 Self {
31993 s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
31994 next: ptr::null_mut(),
31995 min_qp_delta: i32::default(),
31996 max_qp_delta: i32::default(),
31997 }
31998 }
31999}
32000
32001unsafe impl Send for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
32002unsafe impl Sync for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
32003
32004#[repr(C)]
32006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32007pub struct VideoEncodeH265RateControlInfoKHR {
32008 pub s_type: StructureType,
32009 pub next: *const c_void,
32010 pub flags: VideoEncodeH265RateControlFlagsKHR,
32011 pub gop_frame_count: u32,
32012 pub idr_period: u32,
32013 pub consecutive_b_frame_count: u32,
32014 pub sub_layer_count: u32,
32015}
32016
32017impl Default for VideoEncodeH265RateControlInfoKHR {
32018 #[inline]
32019 fn default() -> Self {
32020 Self {
32021 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
32022 next: ptr::null(),
32023 flags: VideoEncodeH265RateControlFlagsKHR::default(),
32024 gop_frame_count: u32::default(),
32025 idr_period: u32::default(),
32026 consecutive_b_frame_count: u32::default(),
32027 sub_layer_count: u32::default(),
32028 }
32029 }
32030}
32031
32032unsafe impl Send for VideoEncodeH265RateControlInfoKHR {}
32033unsafe impl Sync for VideoEncodeH265RateControlInfoKHR {}
32034
32035#[repr(C)]
32037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32038pub struct VideoEncodeH265RateControlLayerInfoKHR {
32039 pub s_type: StructureType,
32040 pub next: *const c_void,
32041 pub use_min_qp: Bool32,
32042 pub min_qp: VideoEncodeH265QpKHR,
32043 pub use_max_qp: Bool32,
32044 pub max_qp: VideoEncodeH265QpKHR,
32045 pub use_max_frame_size: Bool32,
32046 pub max_frame_size: VideoEncodeH265FrameSizeKHR,
32047}
32048
32049impl Default for VideoEncodeH265RateControlLayerInfoKHR {
32050 #[inline]
32051 fn default() -> Self {
32052 Self {
32053 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
32054 next: ptr::null(),
32055 use_min_qp: Bool32::default(),
32056 min_qp: VideoEncodeH265QpKHR::default(),
32057 use_max_qp: Bool32::default(),
32058 max_qp: VideoEncodeH265QpKHR::default(),
32059 use_max_frame_size: Bool32::default(),
32060 max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
32061 }
32062 }
32063}
32064
32065unsafe impl Send for VideoEncodeH265RateControlLayerInfoKHR {}
32066unsafe impl Sync for VideoEncodeH265RateControlLayerInfoKHR {}
32067
32068#[repr(C)]
32070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32071pub struct VideoEncodeH265SessionCreateInfoKHR {
32072 pub s_type: StructureType,
32073 pub next: *const c_void,
32074 pub use_max_level_idc: Bool32,
32075 pub max_level_idc: video::StdVideoH265LevelIdc,
32076}
32077
32078impl Default for VideoEncodeH265SessionCreateInfoKHR {
32079 #[inline]
32080 fn default() -> Self {
32081 Self {
32082 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
32083 next: ptr::null(),
32084 use_max_level_idc: Bool32::default(),
32085 max_level_idc: video::StdVideoH265LevelIdc::default(),
32086 }
32087 }
32088}
32089
32090unsafe impl Send for VideoEncodeH265SessionCreateInfoKHR {}
32091unsafe impl Sync for VideoEncodeH265SessionCreateInfoKHR {}
32092
32093#[repr(C)]
32095#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32096pub struct VideoEncodeH265SessionParametersAddInfoKHR {
32097 pub s_type: StructureType,
32098 pub next: *const c_void,
32099 pub std_vps_count: u32,
32100 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
32101 pub std_sps_count: u32,
32102 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
32103 pub std_pps_count: u32,
32104 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
32105}
32106
32107impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
32108 #[inline]
32109 fn default() -> Self {
32110 Self {
32111 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
32112 next: ptr::null(),
32113 std_vps_count: u32::default(),
32114 std_vp_ss: ptr::null(),
32115 std_sps_count: u32::default(),
32116 std_sp_ss: ptr::null(),
32117 std_pps_count: u32::default(),
32118 std_pp_ss: ptr::null(),
32119 }
32120 }
32121}
32122
32123unsafe impl Send for VideoEncodeH265SessionParametersAddInfoKHR {}
32124unsafe impl Sync for VideoEncodeH265SessionParametersAddInfoKHR {}
32125
32126#[repr(C)]
32128#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32129pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
32130 pub s_type: StructureType,
32131 pub next: *const c_void,
32132 pub max_std_vps_count: u32,
32133 pub max_std_sps_count: u32,
32134 pub max_std_pps_count: u32,
32135 pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
32136}
32137
32138impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
32139 #[inline]
32140 fn default() -> Self {
32141 Self {
32142 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
32143 next: ptr::null(),
32144 max_std_vps_count: u32::default(),
32145 max_std_sps_count: u32::default(),
32146 max_std_pps_count: u32::default(),
32147 parameters_add_info: ptr::null(),
32148 }
32149 }
32150}
32151
32152unsafe impl Send for VideoEncodeH265SessionParametersCreateInfoKHR {}
32153unsafe impl Sync for VideoEncodeH265SessionParametersCreateInfoKHR {}
32154
32155#[repr(C)]
32157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32158pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
32159 pub s_type: StructureType,
32160 pub next: *mut c_void,
32161 pub has_std_vps_overrides: Bool32,
32162 pub has_std_sps_overrides: Bool32,
32163 pub has_std_pps_overrides: Bool32,
32164}
32165
32166impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
32167 #[inline]
32168 fn default() -> Self {
32169 Self {
32170 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32171 next: ptr::null_mut(),
32172 has_std_vps_overrides: Bool32::default(),
32173 has_std_sps_overrides: Bool32::default(),
32174 has_std_pps_overrides: Bool32::default(),
32175 }
32176 }
32177}
32178
32179unsafe impl Send for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
32180unsafe impl Sync for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
32181
32182#[repr(C)]
32184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32185pub struct VideoEncodeH265SessionParametersGetInfoKHR {
32186 pub s_type: StructureType,
32187 pub next: *const c_void,
32188 pub write_std_vps: Bool32,
32189 pub write_std_sps: Bool32,
32190 pub write_std_pps: Bool32,
32191 pub std_vps_id: u32,
32192 pub std_sps_id: u32,
32193 pub std_pps_id: u32,
32194}
32195
32196impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
32197 #[inline]
32198 fn default() -> Self {
32199 Self {
32200 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
32201 next: ptr::null(),
32202 write_std_vps: Bool32::default(),
32203 write_std_sps: Bool32::default(),
32204 write_std_pps: Bool32::default(),
32205 std_vps_id: u32::default(),
32206 std_sps_id: u32::default(),
32207 std_pps_id: u32::default(),
32208 }
32209 }
32210}
32211
32212unsafe impl Send for VideoEncodeH265SessionParametersGetInfoKHR {}
32213unsafe impl Sync for VideoEncodeH265SessionParametersGetInfoKHR {}
32214
32215#[repr(C)]
32217#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32218pub struct VideoEncodeInfoKHR {
32219 pub s_type: StructureType,
32220 pub next: *const c_void,
32221 pub flags: VideoEncodeFlagsKHR,
32222 pub dst_buffer: Buffer,
32223 pub dst_buffer_offset: DeviceSize,
32224 pub dst_buffer_range: DeviceSize,
32225 pub src_picture_resource: VideoPictureResourceInfoKHR,
32226 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
32227 pub reference_slot_count: u32,
32228 pub reference_slots: *const VideoReferenceSlotInfoKHR,
32229 pub preceding_externally_encoded_bytes: u32,
32230}
32231
32232impl Default for VideoEncodeInfoKHR {
32233 #[inline]
32234 fn default() -> Self {
32235 Self {
32236 s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
32237 next: ptr::null(),
32238 flags: VideoEncodeFlagsKHR::default(),
32239 dst_buffer: Buffer::default(),
32240 dst_buffer_offset: DeviceSize::default(),
32241 dst_buffer_range: DeviceSize::default(),
32242 src_picture_resource: VideoPictureResourceInfoKHR::default(),
32243 setup_reference_slot: ptr::null(),
32244 reference_slot_count: u32::default(),
32245 reference_slots: ptr::null(),
32246 preceding_externally_encoded_bytes: u32::default(),
32247 }
32248 }
32249}
32250
32251unsafe impl Send for VideoEncodeInfoKHR {}
32252unsafe impl Sync for VideoEncodeInfoKHR {}
32253
32254#[repr(C)]
32256#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32257pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
32258 pub s_type: StructureType,
32259 pub next: *mut c_void,
32260 pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
32261 pub max_intra_refresh_cycle_duration: u32,
32262 pub max_intra_refresh_active_reference_pictures: u32,
32263 pub partition_independent_intra_refresh_regions: Bool32,
32264 pub non_rectangular_intra_refresh_regions: Bool32,
32265}
32266
32267impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
32268 #[inline]
32269 fn default() -> Self {
32270 Self {
32271 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
32272 next: ptr::null_mut(),
32273 intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
32274 max_intra_refresh_cycle_duration: u32::default(),
32275 max_intra_refresh_active_reference_pictures: u32::default(),
32276 partition_independent_intra_refresh_regions: Bool32::default(),
32277 non_rectangular_intra_refresh_regions: Bool32::default(),
32278 }
32279 }
32280}
32281
32282unsafe impl Send for VideoEncodeIntraRefreshCapabilitiesKHR {}
32283unsafe impl Sync for VideoEncodeIntraRefreshCapabilitiesKHR {}
32284
32285#[repr(C)]
32287#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32288pub struct VideoEncodeIntraRefreshInfoKHR {
32289 pub s_type: StructureType,
32290 pub next: *const c_void,
32291 pub intra_refresh_cycle_duration: u32,
32292 pub intra_refresh_index: u32,
32293}
32294
32295impl Default for VideoEncodeIntraRefreshInfoKHR {
32296 #[inline]
32297 fn default() -> Self {
32298 Self {
32299 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
32300 next: ptr::null(),
32301 intra_refresh_cycle_duration: u32::default(),
32302 intra_refresh_index: u32::default(),
32303 }
32304 }
32305}
32306
32307unsafe impl Send for VideoEncodeIntraRefreshInfoKHR {}
32308unsafe impl Sync for VideoEncodeIntraRefreshInfoKHR {}
32309
32310#[repr(C)]
32312#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32313pub struct VideoEncodeProfileRgbConversionInfoVALVE {
32314 pub s_type: StructureType,
32315 pub next: *const c_void,
32316 pub perform_encode_rgb_conversion: Bool32,
32317}
32318
32319impl Default for VideoEncodeProfileRgbConversionInfoVALVE {
32320 #[inline]
32321 fn default() -> Self {
32322 Self {
32323 s_type: StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
32324 next: ptr::null(),
32325 perform_encode_rgb_conversion: Bool32::default(),
32326 }
32327 }
32328}
32329
32330unsafe impl Send for VideoEncodeProfileRgbConversionInfoVALVE {}
32331unsafe impl Sync for VideoEncodeProfileRgbConversionInfoVALVE {}
32332
32333#[repr(C)]
32335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32336pub struct VideoEncodeQualityLevelInfoKHR {
32337 pub s_type: StructureType,
32338 pub next: *const c_void,
32339 pub quality_level: u32,
32340}
32341
32342impl Default for VideoEncodeQualityLevelInfoKHR {
32343 #[inline]
32344 fn default() -> Self {
32345 Self {
32346 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
32347 next: ptr::null(),
32348 quality_level: u32::default(),
32349 }
32350 }
32351}
32352
32353unsafe impl Send for VideoEncodeQualityLevelInfoKHR {}
32354unsafe impl Sync for VideoEncodeQualityLevelInfoKHR {}
32355
32356#[repr(C)]
32358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32359pub struct VideoEncodeQualityLevelPropertiesKHR {
32360 pub s_type: StructureType,
32361 pub next: *mut c_void,
32362 pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
32363 pub preferred_rate_control_layer_count: u32,
32364}
32365
32366impl Default for VideoEncodeQualityLevelPropertiesKHR {
32367 #[inline]
32368 fn default() -> Self {
32369 Self {
32370 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
32371 next: ptr::null_mut(),
32372 preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
32373 preferred_rate_control_layer_count: u32::default(),
32374 }
32375 }
32376}
32377
32378unsafe impl Send for VideoEncodeQualityLevelPropertiesKHR {}
32379unsafe impl Sync for VideoEncodeQualityLevelPropertiesKHR {}
32380
32381#[repr(C)]
32383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32384pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
32385 pub s_type: StructureType,
32386 pub next: *mut c_void,
32387 pub max_quantization_map_extent: Extent2D,
32388}
32389
32390impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
32391 #[inline]
32392 fn default() -> Self {
32393 Self {
32394 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
32395 next: ptr::null_mut(),
32396 max_quantization_map_extent: Extent2D::default(),
32397 }
32398 }
32399}
32400
32401unsafe impl Send for VideoEncodeQuantizationMapCapabilitiesKHR {}
32402unsafe impl Sync for VideoEncodeQuantizationMapCapabilitiesKHR {}
32403
32404#[repr(C)]
32406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32407pub struct VideoEncodeQuantizationMapInfoKHR {
32408 pub s_type: StructureType,
32409 pub next: *const c_void,
32410 pub quantization_map: ImageView,
32411 pub quantization_map_extent: Extent2D,
32412}
32413
32414impl Default for VideoEncodeQuantizationMapInfoKHR {
32415 #[inline]
32416 fn default() -> Self {
32417 Self {
32418 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
32419 next: ptr::null(),
32420 quantization_map: ImageView::default(),
32421 quantization_map_extent: Extent2D::default(),
32422 }
32423 }
32424}
32425
32426unsafe impl Send for VideoEncodeQuantizationMapInfoKHR {}
32427unsafe impl Sync for VideoEncodeQuantizationMapInfoKHR {}
32428
32429#[repr(C)]
32431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32432pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
32433 pub s_type: StructureType,
32434 pub next: *const c_void,
32435 pub quantization_map_texel_size: Extent2D,
32436}
32437
32438impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
32439 #[inline]
32440 fn default() -> Self {
32441 Self {
32442 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
32443 next: ptr::null(),
32444 quantization_map_texel_size: Extent2D::default(),
32445 }
32446 }
32447}
32448
32449unsafe impl Send for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
32450unsafe impl Sync for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
32451
32452#[repr(C)]
32454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32455pub struct VideoEncodeRateControlInfoKHR {
32456 pub s_type: StructureType,
32457 pub next: *const c_void,
32458 pub flags: VideoEncodeRateControlFlagsKHR,
32459 pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
32460 pub layer_count: u32,
32461 pub layers: *const VideoEncodeRateControlLayerInfoKHR,
32462 pub virtual_buffer_size_in_ms: u32,
32463 pub initial_virtual_buffer_size_in_ms: u32,
32464}
32465
32466impl Default for VideoEncodeRateControlInfoKHR {
32467 #[inline]
32468 fn default() -> Self {
32469 Self {
32470 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
32471 next: ptr::null(),
32472 flags: VideoEncodeRateControlFlagsKHR::default(),
32473 rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
32474 layer_count: u32::default(),
32475 layers: ptr::null(),
32476 virtual_buffer_size_in_ms: u32::default(),
32477 initial_virtual_buffer_size_in_ms: u32::default(),
32478 }
32479 }
32480}
32481
32482unsafe impl Send for VideoEncodeRateControlInfoKHR {}
32483unsafe impl Sync for VideoEncodeRateControlInfoKHR {}
32484
32485#[repr(C)]
32487#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32488pub struct VideoEncodeRateControlLayerInfoKHR {
32489 pub s_type: StructureType,
32490 pub next: *const c_void,
32491 pub average_bitrate: u64,
32492 pub max_bitrate: u64,
32493 pub frame_rate_numerator: u32,
32494 pub frame_rate_denominator: u32,
32495}
32496
32497impl Default for VideoEncodeRateControlLayerInfoKHR {
32498 #[inline]
32499 fn default() -> Self {
32500 Self {
32501 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
32502 next: ptr::null(),
32503 average_bitrate: u64::default(),
32504 max_bitrate: u64::default(),
32505 frame_rate_numerator: u32::default(),
32506 frame_rate_denominator: u32::default(),
32507 }
32508 }
32509}
32510
32511unsafe impl Send for VideoEncodeRateControlLayerInfoKHR {}
32512unsafe impl Sync for VideoEncodeRateControlLayerInfoKHR {}
32513
32514#[repr(C)]
32516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32517pub struct VideoEncodeRgbConversionCapabilitiesVALVE {
32518 pub s_type: StructureType,
32519 pub next: *mut c_void,
32520 pub rgb_models: VideoEncodeRgbModelConversionFlagsVALVE,
32521 pub rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE,
32522 pub x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
32523 pub y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
32524}
32525
32526impl Default for VideoEncodeRgbConversionCapabilitiesVALVE {
32527 #[inline]
32528 fn default() -> Self {
32529 Self {
32530 s_type: StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
32531 next: ptr::null_mut(),
32532 rgb_models: VideoEncodeRgbModelConversionFlagsVALVE::default(),
32533 rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
32534 x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32535 y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32536 }
32537 }
32538}
32539
32540unsafe impl Send for VideoEncodeRgbConversionCapabilitiesVALVE {}
32541unsafe impl Sync for VideoEncodeRgbConversionCapabilitiesVALVE {}
32542
32543#[repr(C)]
32545#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32546pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
32547 pub s_type: StructureType,
32548 pub next: *const c_void,
32549 pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
32550}
32551
32552impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
32553 #[inline]
32554 fn default() -> Self {
32555 Self {
32556 s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
32557 next: ptr::null(),
32558 intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
32559 }
32560 }
32561}
32562
32563unsafe impl Send for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
32564unsafe impl Sync for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
32565
32566#[repr(C)]
32568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32569pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
32570 pub s_type: StructureType,
32571 pub next: *mut c_void,
32572 pub has_overrides: Bool32,
32573}
32574
32575impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
32576 #[inline]
32577 fn default() -> Self {
32578 Self {
32579 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32580 next: ptr::null_mut(),
32581 has_overrides: Bool32::default(),
32582 }
32583 }
32584}
32585
32586unsafe impl Send for VideoEncodeSessionParametersFeedbackInfoKHR {}
32587unsafe impl Sync for VideoEncodeSessionParametersFeedbackInfoKHR {}
32588
32589#[repr(C)]
32591#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32592pub struct VideoEncodeSessionParametersGetInfoKHR {
32593 pub s_type: StructureType,
32594 pub next: *const c_void,
32595 pub video_session_parameters: VideoSessionParametersKHR,
32596}
32597
32598impl Default for VideoEncodeSessionParametersGetInfoKHR {
32599 #[inline]
32600 fn default() -> Self {
32601 Self {
32602 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
32603 next: ptr::null(),
32604 video_session_parameters: VideoSessionParametersKHR::default(),
32605 }
32606 }
32607}
32608
32609unsafe impl Send for VideoEncodeSessionParametersGetInfoKHR {}
32610unsafe impl Sync for VideoEncodeSessionParametersGetInfoKHR {}
32611
32612#[repr(C)]
32614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32615pub struct VideoEncodeSessionRgbConversionCreateInfoVALVE {
32616 pub s_type: StructureType,
32617 pub next: *const c_void,
32618 pub rgb_model: VideoEncodeRgbModelConversionFlagsVALVE,
32619 pub rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE,
32620 pub x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
32621 pub y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
32622}
32623
32624impl Default for VideoEncodeSessionRgbConversionCreateInfoVALVE {
32625 #[inline]
32626 fn default() -> Self {
32627 Self {
32628 s_type: StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
32629 next: ptr::null(),
32630 rgb_model: VideoEncodeRgbModelConversionFlagsVALVE::default(),
32631 rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
32632 x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32633 y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32634 }
32635 }
32636}
32637
32638unsafe impl Send for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
32639unsafe impl Sync for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
32640
32641#[repr(C)]
32643#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32644pub struct VideoEncodeUsageInfoKHR {
32645 pub s_type: StructureType,
32646 pub next: *const c_void,
32647 pub video_usage_hints: VideoEncodeUsageFlagsKHR,
32648 pub video_content_hints: VideoEncodeContentFlagsKHR,
32649 pub tuning_mode: VideoEncodeTuningModeKHR,
32650}
32651
32652impl Default for VideoEncodeUsageInfoKHR {
32653 #[inline]
32654 fn default() -> Self {
32655 Self {
32656 s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
32657 next: ptr::null(),
32658 video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
32659 video_content_hints: VideoEncodeContentFlagsKHR::default(),
32660 tuning_mode: VideoEncodeTuningModeKHR::default(),
32661 }
32662 }
32663}
32664
32665unsafe impl Send for VideoEncodeUsageInfoKHR {}
32666unsafe impl Sync for VideoEncodeUsageInfoKHR {}
32667
32668#[repr(C)]
32670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32671pub struct VideoEndCodingInfoKHR {
32672 pub s_type: StructureType,
32673 pub next: *const c_void,
32674 pub flags: VideoEndCodingFlagsKHR,
32675}
32676
32677impl Default for VideoEndCodingInfoKHR {
32678 #[inline]
32679 fn default() -> Self {
32680 Self {
32681 s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
32682 next: ptr::null(),
32683 flags: VideoEndCodingFlagsKHR::default(),
32684 }
32685 }
32686}
32687
32688unsafe impl Send for VideoEndCodingInfoKHR {}
32689unsafe impl Sync for VideoEndCodingInfoKHR {}
32690
32691#[repr(C)]
32693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32694pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
32695 pub s_type: StructureType,
32696 pub next: *mut c_void,
32697 pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
32698}
32699
32700impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
32701 #[inline]
32702 fn default() -> Self {
32703 Self {
32704 s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
32705 next: ptr::null_mut(),
32706 compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
32707 }
32708 }
32709}
32710
32711unsafe impl Send for VideoFormatAV1QuantizationMapPropertiesKHR {}
32712unsafe impl Sync for VideoFormatAV1QuantizationMapPropertiesKHR {}
32713
32714#[repr(C)]
32716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32717pub struct VideoFormatH265QuantizationMapPropertiesKHR {
32718 pub s_type: StructureType,
32719 pub next: *mut c_void,
32720 pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
32721}
32722
32723impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
32724 #[inline]
32725 fn default() -> Self {
32726 Self {
32727 s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
32728 next: ptr::null_mut(),
32729 compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
32730 }
32731 }
32732}
32733
32734unsafe impl Send for VideoFormatH265QuantizationMapPropertiesKHR {}
32735unsafe impl Sync for VideoFormatH265QuantizationMapPropertiesKHR {}
32736
32737#[repr(C)]
32739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32740pub struct VideoFormatPropertiesKHR {
32741 pub s_type: StructureType,
32742 pub next: *mut c_void,
32743 pub format: Format,
32744 pub component_mapping: ComponentMapping,
32745 pub image_create_flags: ImageCreateFlags,
32746 pub image_type: ImageType,
32747 pub image_tiling: ImageTiling,
32748 pub image_usage_flags: ImageUsageFlags,
32749}
32750
32751impl Default for VideoFormatPropertiesKHR {
32752 #[inline]
32753 fn default() -> Self {
32754 Self {
32755 s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
32756 next: ptr::null_mut(),
32757 format: Format::default(),
32758 component_mapping: ComponentMapping::default(),
32759 image_create_flags: ImageCreateFlags::default(),
32760 image_type: ImageType::default(),
32761 image_tiling: ImageTiling::default(),
32762 image_usage_flags: ImageUsageFlags::default(),
32763 }
32764 }
32765}
32766
32767unsafe impl Send for VideoFormatPropertiesKHR {}
32768unsafe impl Sync for VideoFormatPropertiesKHR {}
32769
32770#[repr(C)]
32772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32773pub struct VideoFormatQuantizationMapPropertiesKHR {
32774 pub s_type: StructureType,
32775 pub next: *mut c_void,
32776 pub quantization_map_texel_size: Extent2D,
32777}
32778
32779impl Default for VideoFormatQuantizationMapPropertiesKHR {
32780 #[inline]
32781 fn default() -> Self {
32782 Self {
32783 s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
32784 next: ptr::null_mut(),
32785 quantization_map_texel_size: Extent2D::default(),
32786 }
32787 }
32788}
32789
32790unsafe impl Send for VideoFormatQuantizationMapPropertiesKHR {}
32791unsafe impl Sync for VideoFormatQuantizationMapPropertiesKHR {}
32792
32793#[repr(C)]
32795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32796pub struct VideoInlineQueryInfoKHR {
32797 pub s_type: StructureType,
32798 pub next: *const c_void,
32799 pub query_pool: QueryPool,
32800 pub first_query: u32,
32801 pub query_count: u32,
32802}
32803
32804impl Default for VideoInlineQueryInfoKHR {
32805 #[inline]
32806 fn default() -> Self {
32807 Self {
32808 s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
32809 next: ptr::null(),
32810 query_pool: QueryPool::default(),
32811 first_query: u32::default(),
32812 query_count: u32::default(),
32813 }
32814 }
32815}
32816
32817unsafe impl Send for VideoInlineQueryInfoKHR {}
32818unsafe impl Sync for VideoInlineQueryInfoKHR {}
32819
32820#[repr(C)]
32822#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32823pub struct VideoPictureResourceInfoKHR {
32824 pub s_type: StructureType,
32825 pub next: *const c_void,
32826 pub coded_offset: Offset2D,
32827 pub coded_extent: Extent2D,
32828 pub base_array_layer: u32,
32829 pub image_view_binding: ImageView,
32830}
32831
32832impl Default for VideoPictureResourceInfoKHR {
32833 #[inline]
32834 fn default() -> Self {
32835 Self {
32836 s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
32837 next: ptr::null(),
32838 coded_offset: Offset2D::default(),
32839 coded_extent: Extent2D::default(),
32840 base_array_layer: u32::default(),
32841 image_view_binding: ImageView::default(),
32842 }
32843 }
32844}
32845
32846unsafe impl Send for VideoPictureResourceInfoKHR {}
32847unsafe impl Sync for VideoPictureResourceInfoKHR {}
32848
32849#[repr(C)]
32851#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32852pub struct VideoProfileInfoKHR {
32853 pub s_type: StructureType,
32854 pub next: *const c_void,
32855 pub video_codec_operation: VideoCodecOperationFlagsKHR,
32856 pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
32857 pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
32858 pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
32859}
32860
32861impl Default for VideoProfileInfoKHR {
32862 #[inline]
32863 fn default() -> Self {
32864 Self {
32865 s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
32866 next: ptr::null(),
32867 video_codec_operation: VideoCodecOperationFlagsKHR::default(),
32868 chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
32869 luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
32870 chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
32871 }
32872 }
32873}
32874
32875unsafe impl Send for VideoProfileInfoKHR {}
32876unsafe impl Sync for VideoProfileInfoKHR {}
32877
32878#[repr(C)]
32880#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32881pub struct VideoProfileListInfoKHR {
32882 pub s_type: StructureType,
32883 pub next: *const c_void,
32884 pub profile_count: u32,
32885 pub profiles: *const VideoProfileInfoKHR,
32886}
32887
32888impl Default for VideoProfileListInfoKHR {
32889 #[inline]
32890 fn default() -> Self {
32891 Self {
32892 s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
32893 next: ptr::null(),
32894 profile_count: u32::default(),
32895 profiles: ptr::null(),
32896 }
32897 }
32898}
32899
32900unsafe impl Send for VideoProfileListInfoKHR {}
32901unsafe impl Sync for VideoProfileListInfoKHR {}
32902
32903#[repr(C)]
32905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32906pub struct VideoReferenceIntraRefreshInfoKHR {
32907 pub s_type: StructureType,
32908 pub next: *const c_void,
32909 pub dirty_intra_refresh_regions: u32,
32910}
32911
32912impl Default for VideoReferenceIntraRefreshInfoKHR {
32913 #[inline]
32914 fn default() -> Self {
32915 Self {
32916 s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
32917 next: ptr::null(),
32918 dirty_intra_refresh_regions: u32::default(),
32919 }
32920 }
32921}
32922
32923unsafe impl Send for VideoReferenceIntraRefreshInfoKHR {}
32924unsafe impl Sync for VideoReferenceIntraRefreshInfoKHR {}
32925
32926#[repr(C)]
32928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32929pub struct VideoReferenceSlotInfoKHR {
32930 pub s_type: StructureType,
32931 pub next: *const c_void,
32932 pub slot_index: i32,
32933 pub picture_resource: *const VideoPictureResourceInfoKHR,
32934}
32935
32936impl Default for VideoReferenceSlotInfoKHR {
32937 #[inline]
32938 fn default() -> Self {
32939 Self {
32940 s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
32941 next: ptr::null(),
32942 slot_index: i32::default(),
32943 picture_resource: ptr::null(),
32944 }
32945 }
32946}
32947
32948unsafe impl Send for VideoReferenceSlotInfoKHR {}
32949unsafe impl Sync for VideoReferenceSlotInfoKHR {}
32950
32951#[repr(C)]
32953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32954pub struct VideoSessionCreateInfoKHR {
32955 pub s_type: StructureType,
32956 pub next: *const c_void,
32957 pub queue_family_index: u32,
32958 pub flags: VideoSessionCreateFlagsKHR,
32959 pub video_profile: *const VideoProfileInfoKHR,
32960 pub picture_format: Format,
32961 pub max_coded_extent: Extent2D,
32962 pub reference_picture_format: Format,
32963 pub max_dpb_slots: u32,
32964 pub max_active_reference_pictures: u32,
32965 pub std_header_version: *const ExtensionProperties,
32966}
32967
32968impl Default for VideoSessionCreateInfoKHR {
32969 #[inline]
32970 fn default() -> Self {
32971 Self {
32972 s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
32973 next: ptr::null(),
32974 queue_family_index: u32::default(),
32975 flags: VideoSessionCreateFlagsKHR::default(),
32976 video_profile: ptr::null(),
32977 picture_format: Format::default(),
32978 max_coded_extent: Extent2D::default(),
32979 reference_picture_format: Format::default(),
32980 max_dpb_slots: u32::default(),
32981 max_active_reference_pictures: u32::default(),
32982 std_header_version: ptr::null(),
32983 }
32984 }
32985}
32986
32987unsafe impl Send for VideoSessionCreateInfoKHR {}
32988unsafe impl Sync for VideoSessionCreateInfoKHR {}
32989
32990#[repr(C)]
32992#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32993pub struct VideoSessionMemoryRequirementsKHR {
32994 pub s_type: StructureType,
32995 pub next: *mut c_void,
32996 pub memory_bind_index: u32,
32997 pub memory_requirements: MemoryRequirements,
32998}
32999
33000impl Default for VideoSessionMemoryRequirementsKHR {
33001 #[inline]
33002 fn default() -> Self {
33003 Self {
33004 s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
33005 next: ptr::null_mut(),
33006 memory_bind_index: u32::default(),
33007 memory_requirements: MemoryRequirements::default(),
33008 }
33009 }
33010}
33011
33012unsafe impl Send for VideoSessionMemoryRequirementsKHR {}
33013unsafe impl Sync for VideoSessionMemoryRequirementsKHR {}
33014
33015#[repr(C)]
33017#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33018pub struct VideoSessionParametersCreateInfoKHR {
33019 pub s_type: StructureType,
33020 pub next: *const c_void,
33021 pub flags: VideoSessionParametersCreateFlagsKHR,
33022 pub video_session_parameters_template: VideoSessionParametersKHR,
33023 pub video_session: VideoSessionKHR,
33024}
33025
33026impl Default for VideoSessionParametersCreateInfoKHR {
33027 #[inline]
33028 fn default() -> Self {
33029 Self {
33030 s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
33031 next: ptr::null(),
33032 flags: VideoSessionParametersCreateFlagsKHR::default(),
33033 video_session_parameters_template: VideoSessionParametersKHR::default(),
33034 video_session: VideoSessionKHR::default(),
33035 }
33036 }
33037}
33038
33039unsafe impl Send for VideoSessionParametersCreateInfoKHR {}
33040unsafe impl Sync for VideoSessionParametersCreateInfoKHR {}
33041
33042#[repr(C)]
33044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33045pub struct VideoSessionParametersUpdateInfoKHR {
33046 pub s_type: StructureType,
33047 pub next: *const c_void,
33048 pub update_sequence_count: u32,
33049}
33050
33051impl Default for VideoSessionParametersUpdateInfoKHR {
33052 #[inline]
33053 fn default() -> Self {
33054 Self {
33055 s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
33056 next: ptr::null(),
33057 update_sequence_count: u32::default(),
33058 }
33059 }
33060}
33061
33062unsafe impl Send for VideoSessionParametersUpdateInfoKHR {}
33063unsafe impl Sync for VideoSessionParametersUpdateInfoKHR {}
33064
33065#[repr(C)]
33067#[derive(Copy, Clone, Default, Debug, PartialEq)]
33068pub struct Viewport {
33069 pub x: f32,
33070 pub y: f32,
33071 pub width: f32,
33072 pub height: f32,
33073 pub min_depth: f32,
33074 pub max_depth: f32,
33075}
33076
33077#[repr(C)]
33079#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
33080pub struct ViewportSwizzleNV {
33081 pub x: ViewportCoordinateSwizzleNV,
33082 pub y: ViewportCoordinateSwizzleNV,
33083 pub z: ViewportCoordinateSwizzleNV,
33084 pub w: ViewportCoordinateSwizzleNV,
33085}
33086
33087#[repr(C)]
33089#[derive(Copy, Clone, Default, Debug, PartialEq)]
33090pub struct ViewportWScalingNV {
33091 pub xcoeff: f32,
33092 pub ycoeff: f32,
33093}
33094
33095#[repr(C)]
33097#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33098pub struct WaylandSurfaceCreateInfoKHR {
33099 pub s_type: StructureType,
33100 pub next: *const c_void,
33101 pub flags: WaylandSurfaceCreateFlagsKHR,
33102 pub display: *mut wl_display,
33103 pub surface: *mut wl_surface,
33104}
33105
33106impl Default for WaylandSurfaceCreateInfoKHR {
33107 #[inline]
33108 fn default() -> Self {
33109 Self {
33110 s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
33111 next: ptr::null(),
33112 flags: WaylandSurfaceCreateFlagsKHR::default(),
33113 display: ptr::null_mut(),
33114 surface: ptr::null_mut(),
33115 }
33116 }
33117}
33118
33119unsafe impl Send for WaylandSurfaceCreateInfoKHR {}
33120unsafe impl Sync for WaylandSurfaceCreateInfoKHR {}
33121
33122#[repr(C)]
33124#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33125pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
33126 pub s_type: StructureType,
33127 pub next: *const c_void,
33128 pub acquire_count: u32,
33129 pub acquire_syncs: *const DeviceMemory,
33130 pub acquire_keys: *const u64,
33131 pub acquire_timeouts: *const u32,
33132 pub release_count: u32,
33133 pub release_syncs: *const DeviceMemory,
33134 pub release_keys: *const u64,
33135}
33136
33137impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
33138 #[inline]
33139 fn default() -> Self {
33140 Self {
33141 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
33142 next: ptr::null(),
33143 acquire_count: u32::default(),
33144 acquire_syncs: ptr::null(),
33145 acquire_keys: ptr::null(),
33146 acquire_timeouts: ptr::null(),
33147 release_count: u32::default(),
33148 release_syncs: ptr::null(),
33149 release_keys: ptr::null(),
33150 }
33151 }
33152}
33153
33154unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoKHR {}
33155unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoKHR {}
33156
33157#[repr(C)]
33159#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33160pub struct Win32KeyedMutexAcquireReleaseInfoNV {
33161 pub s_type: StructureType,
33162 pub next: *const c_void,
33163 pub acquire_count: u32,
33164 pub acquire_syncs: *const DeviceMemory,
33165 pub acquire_keys: *const u64,
33166 pub acquire_timeout_milliseconds: *const u32,
33167 pub release_count: u32,
33168 pub release_syncs: *const DeviceMemory,
33169 pub release_keys: *const u64,
33170}
33171
33172impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
33173 #[inline]
33174 fn default() -> Self {
33175 Self {
33176 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
33177 next: ptr::null(),
33178 acquire_count: u32::default(),
33179 acquire_syncs: ptr::null(),
33180 acquire_keys: ptr::null(),
33181 acquire_timeout_milliseconds: ptr::null(),
33182 release_count: u32::default(),
33183 release_syncs: ptr::null(),
33184 release_keys: ptr::null(),
33185 }
33186 }
33187}
33188
33189unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoNV {}
33190unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoNV {}
33191
33192#[repr(C)]
33194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33195pub struct Win32SurfaceCreateInfoKHR {
33196 pub s_type: StructureType,
33197 pub next: *const c_void,
33198 pub flags: Win32SurfaceCreateFlagsKHR,
33199 pub hinstance: HINSTANCE,
33200 pub hwnd: HWND,
33201}
33202
33203impl Default for Win32SurfaceCreateInfoKHR {
33204 #[inline]
33205 fn default() -> Self {
33206 Self {
33207 s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
33208 next: ptr::null(),
33209 flags: Win32SurfaceCreateFlagsKHR::default(),
33210 hinstance: ptr::null_mut(),
33211 hwnd: ptr::null_mut(),
33212 }
33213 }
33214}
33215
33216unsafe impl Send for Win32SurfaceCreateInfoKHR {}
33217unsafe impl Sync for Win32SurfaceCreateInfoKHR {}
33218
33219#[repr(C)]
33221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33222pub struct WriteDescriptorSet {
33223 pub s_type: StructureType,
33224 pub next: *const c_void,
33225 pub dst_set: DescriptorSet,
33226 pub dst_binding: u32,
33227 pub dst_array_element: u32,
33228 pub descriptor_count: u32,
33229 pub descriptor_type: DescriptorType,
33230 pub image_info: *const DescriptorImageInfo,
33231 pub buffer_info: *const DescriptorBufferInfo,
33232 pub texel_buffer_view: *const BufferView,
33233}
33234
33235impl Default for WriteDescriptorSet {
33236 #[inline]
33237 fn default() -> Self {
33238 Self {
33239 s_type: StructureType::WRITE_DESCRIPTOR_SET,
33240 next: ptr::null(),
33241 dst_set: DescriptorSet::default(),
33242 dst_binding: u32::default(),
33243 dst_array_element: u32::default(),
33244 descriptor_count: u32::default(),
33245 descriptor_type: DescriptorType::default(),
33246 image_info: ptr::null(),
33247 buffer_info: ptr::null(),
33248 texel_buffer_view: ptr::null(),
33249 }
33250 }
33251}
33252
33253unsafe impl Send for WriteDescriptorSet {}
33254unsafe impl Sync for WriteDescriptorSet {}
33255
33256#[repr(C)]
33258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33259pub struct WriteDescriptorSetAccelerationStructureKHR {
33260 pub s_type: StructureType,
33261 pub next: *const c_void,
33262 pub acceleration_structure_count: u32,
33263 pub acceleration_structures: *const AccelerationStructureKHR,
33264}
33265
33266impl Default for WriteDescriptorSetAccelerationStructureKHR {
33267 #[inline]
33268 fn default() -> Self {
33269 Self {
33270 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
33271 next: ptr::null(),
33272 acceleration_structure_count: u32::default(),
33273 acceleration_structures: ptr::null(),
33274 }
33275 }
33276}
33277
33278unsafe impl Send for WriteDescriptorSetAccelerationStructureKHR {}
33279unsafe impl Sync for WriteDescriptorSetAccelerationStructureKHR {}
33280
33281#[repr(C)]
33283#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33284pub struct WriteDescriptorSetAccelerationStructureNV {
33285 pub s_type: StructureType,
33286 pub next: *const c_void,
33287 pub acceleration_structure_count: u32,
33288 pub acceleration_structures: *const AccelerationStructureNV,
33289}
33290
33291impl Default for WriteDescriptorSetAccelerationStructureNV {
33292 #[inline]
33293 fn default() -> Self {
33294 Self {
33295 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
33296 next: ptr::null(),
33297 acceleration_structure_count: u32::default(),
33298 acceleration_structures: ptr::null(),
33299 }
33300 }
33301}
33302
33303unsafe impl Send for WriteDescriptorSetAccelerationStructureNV {}
33304unsafe impl Sync for WriteDescriptorSetAccelerationStructureNV {}
33305
33306#[repr(C)]
33308#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33309pub struct WriteDescriptorSetInlineUniformBlock {
33310 pub s_type: StructureType,
33311 pub next: *const c_void,
33312 pub data_size: u32,
33313 pub data: *const c_void,
33314}
33315
33316impl Default for WriteDescriptorSetInlineUniformBlock {
33317 #[inline]
33318 fn default() -> Self {
33319 Self {
33320 s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
33321 next: ptr::null(),
33322 data_size: u32::default(),
33323 data: ptr::null(),
33324 }
33325 }
33326}
33327
33328unsafe impl Send for WriteDescriptorSetInlineUniformBlock {}
33329unsafe impl Sync for WriteDescriptorSetInlineUniformBlock {}
33330
33331#[repr(C)]
33333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33334pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
33335 pub s_type: StructureType,
33336 pub next: *mut c_void,
33337 pub acceleration_structure_count: u32,
33338 pub acceleration_structures: *const DeviceAddress,
33339}
33340
33341impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
33342 #[inline]
33343 fn default() -> Self {
33344 Self {
33345 s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
33346 next: ptr::null_mut(),
33347 acceleration_structure_count: u32::default(),
33348 acceleration_structures: ptr::null(),
33349 }
33350 }
33351}
33352
33353unsafe impl Send for WriteDescriptorSetPartitionedAccelerationStructureNV {}
33354unsafe impl Sync for WriteDescriptorSetPartitionedAccelerationStructureNV {}
33355
33356#[repr(C)]
33358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33359pub struct WriteDescriptorSetTensorARM {
33360 pub s_type: StructureType,
33361 pub next: *const c_void,
33362 pub tensor_view_count: u32,
33363 pub tensor_views: *const TensorViewARM,
33364}
33365
33366impl Default for WriteDescriptorSetTensorARM {
33367 #[inline]
33368 fn default() -> Self {
33369 Self {
33370 s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
33371 next: ptr::null(),
33372 tensor_view_count: u32::default(),
33373 tensor_views: ptr::null(),
33374 }
33375 }
33376}
33377
33378unsafe impl Send for WriteDescriptorSetTensorARM {}
33379unsafe impl Sync for WriteDescriptorSetTensorARM {}
33380
33381#[repr(C)]
33383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33384pub struct WriteIndirectExecutionSetPipelineEXT {
33385 pub s_type: StructureType,
33386 pub next: *const c_void,
33387 pub index: u32,
33388 pub pipeline: Pipeline,
33389}
33390
33391impl Default for WriteIndirectExecutionSetPipelineEXT {
33392 #[inline]
33393 fn default() -> Self {
33394 Self {
33395 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
33396 next: ptr::null(),
33397 index: u32::default(),
33398 pipeline: Pipeline::default(),
33399 }
33400 }
33401}
33402
33403unsafe impl Send for WriteIndirectExecutionSetPipelineEXT {}
33404unsafe impl Sync for WriteIndirectExecutionSetPipelineEXT {}
33405
33406#[repr(C)]
33408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33409pub struct WriteIndirectExecutionSetShaderEXT {
33410 pub s_type: StructureType,
33411 pub next: *const c_void,
33412 pub index: u32,
33413 pub shader: ShaderEXT,
33414}
33415
33416impl Default for WriteIndirectExecutionSetShaderEXT {
33417 #[inline]
33418 fn default() -> Self {
33419 Self {
33420 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
33421 next: ptr::null(),
33422 index: u32::default(),
33423 shader: ShaderEXT::default(),
33424 }
33425 }
33426}
33427
33428unsafe impl Send for WriteIndirectExecutionSetShaderEXT {}
33429unsafe impl Sync for WriteIndirectExecutionSetShaderEXT {}
33430
33431#[repr(C)]
33433#[derive(Copy, Clone, Default, Debug, PartialEq)]
33434pub struct XYColorEXT {
33435 pub x: f32,
33436 pub y: f32,
33437}
33438
33439#[repr(C)]
33441#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33442pub struct XcbSurfaceCreateInfoKHR {
33443 pub s_type: StructureType,
33444 pub next: *const c_void,
33445 pub flags: XcbSurfaceCreateFlagsKHR,
33446 pub connection: *mut xcb_connection_t,
33447 pub window: xcb_window_t,
33448}
33449
33450impl Default for XcbSurfaceCreateInfoKHR {
33451 #[inline]
33452 fn default() -> Self {
33453 Self {
33454 s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
33455 next: ptr::null(),
33456 flags: XcbSurfaceCreateFlagsKHR::default(),
33457 connection: ptr::null_mut(),
33458 window: xcb_window_t::default(),
33459 }
33460 }
33461}
33462
33463unsafe impl Send for XcbSurfaceCreateInfoKHR {}
33464unsafe impl Sync for XcbSurfaceCreateInfoKHR {}
33465
33466#[repr(C)]
33468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33469pub struct XlibSurfaceCreateInfoKHR {
33470 pub s_type: StructureType,
33471 pub next: *const c_void,
33472 pub flags: XlibSurfaceCreateFlagsKHR,
33473 pub dpy: *mut Display,
33474 pub window: Window,
33475}
33476
33477impl Default for XlibSurfaceCreateInfoKHR {
33478 #[inline]
33479 fn default() -> Self {
33480 Self {
33481 s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
33482 next: ptr::null(),
33483 flags: XlibSurfaceCreateFlagsKHR::default(),
33484 dpy: ptr::null_mut(),
33485 window: Window::default(),
33486 }
33487 }
33488}
33489
33490unsafe impl Send for XlibSurfaceCreateInfoKHR {}
33491unsafe impl Sync for XlibSurfaceCreateInfoKHR {}
33492
33493pub type AabbPositionsNV = AabbPositionsKHR;
33495pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
33497pub type AttachmentDescription2KHR = AttachmentDescription2;
33499pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
33501pub type AttachmentReference2KHR = AttachmentReference2;
33503pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
33505pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
33507pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
33509pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
33511pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
33513pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
33515pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
33517pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
33519pub type BindMemoryStatusKHR = BindMemoryStatus;
33521pub type BlitImageInfo2KHR = BlitImageInfo2;
33523pub type BufferCopy2KHR = BufferCopy2;
33525pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
33527pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
33529pub type BufferImageCopy2KHR = BufferImageCopy2;
33531pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
33533pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
33535pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
33537pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
33539pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
33541pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
33543pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
33545pub type ConformanceVersionKHR = ConformanceVersion;
33547pub type CopyBufferInfo2KHR = CopyBufferInfo2;
33549pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
33551pub type CopyImageInfo2KHR = CopyImageInfo2;
33553pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
33555pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
33557pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
33559pub type CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR;
33561pub type CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR;
33563pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
33565pub type DependencyInfoKHR = DependencyInfo;
33567pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
33569pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
33571pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
33573pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
33575 DescriptorSetVariableDescriptorCountAllocateInfo;
33576pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
33578 DescriptorSetVariableDescriptorCountLayoutSupport;
33579pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
33581pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
33583pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
33585pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
33587pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
33589pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
33591pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
33593pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
33595pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
33597pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
33599pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
33601pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
33603pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
33605pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
33607pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
33609pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
33611pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
33613pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
33615pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
33617pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
33619pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
33621pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
33623pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
33625pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
33627pub type FormatProperties2KHR = FormatProperties2;
33629pub type FormatProperties3KHR = FormatProperties3;
33631pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
33633pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
33635pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
33637pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
33639pub type ImageBlit2KHR = ImageBlit2;
33641pub type ImageCopy2KHR = ImageCopy2;
33643pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
33645pub type ImageFormatProperties2KHR = ImageFormatProperties2;
33647pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
33649pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
33651pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
33653pub type ImageResolve2KHR = ImageResolve2;
33655pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
33657pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
33659pub type ImageSubresource2EXT = ImageSubresource2;
33661pub type ImageSubresource2KHR = ImageSubresource2;
33663pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
33665pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
33667pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
33669pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
33671pub type MemoryBarrier2KHR = MemoryBarrier2;
33673pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
33675pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
33677pub type MemoryMapInfoKHR = MemoryMapInfo;
33679pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
33681pub type MemoryRequirements2KHR = MemoryRequirements2;
33683pub type MemoryToImageCopyEXT = MemoryToImageCopy;
33685pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
33687pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
33689pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
33691pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
33693pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
33695pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
33697pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
33699pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
33701 PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
33702pub type PhysicalDeviceCopyMemoryIndirectPropertiesNV =
33704 PhysicalDeviceCopyMemoryIndirectPropertiesKHR;
33705pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
33707pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
33709 PhysicalDeviceDepthStencilResolveProperties;
33710pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
33712pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
33714pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
33716pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
33718pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
33720 PhysicalDeviceDynamicRenderingLocalReadFeatures;
33721pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
33723pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
33725pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
33727pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
33729pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
33731pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
33733pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
33735pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
33737pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
33739 PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
33740pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
33742 PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
33743pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
33745 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
33746pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
33748pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
33750pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
33752pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
33754pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
33756pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
33758pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
33760pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
33762pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
33764pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
33766pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
33768pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
33770pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
33772pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
33774pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
33776pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
33778pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
33780pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
33782pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
33784pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
33786pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
33788pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
33790pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
33792pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
33794pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
33796pub type PhysicalDeviceMemoryDecompressionFeaturesNV = PhysicalDeviceMemoryDecompressionFeaturesEXT;
33798pub type PhysicalDeviceMemoryDecompressionPropertiesNV =
33800 PhysicalDeviceMemoryDecompressionPropertiesEXT;
33801pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
33803pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
33805pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
33807pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
33809 PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
33810pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
33812 PhysicalDevicePipelineCreationCacheControlFeatures;
33813pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
33815 PhysicalDevicePipelineProtectedAccessFeatures;
33816pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
33818pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
33820pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
33822pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
33824 PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
33825pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
33827pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
33829pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
33831pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
33833 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
33834pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
33836pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
33838pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
33840 PhysicalDeviceSamplerFilterMinmaxProperties;
33841pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
33843 PhysicalDeviceSamplerYcbcrConversionFeatures;
33844pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
33846pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
33848 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
33849pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
33851pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
33853 PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
33854pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
33856pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
33858pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
33860pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
33862pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
33864 PhysicalDeviceShaderIntegerDotProductFeatures;
33865pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
33867 PhysicalDeviceShaderIntegerDotProductProperties;
33868pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
33870 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
33871pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
33873pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
33875 PhysicalDeviceShaderTerminateInvocationFeatures;
33876pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
33878pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
33880pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
33882 PhysicalDeviceSubgroupSizeControlProperties;
33883pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
33885 PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
33886pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
33888pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
33890 PhysicalDeviceTexelBufferAlignmentProperties;
33891pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
33893 PhysicalDeviceTextureCompressionASTCHDRFeatures;
33894pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
33896pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
33898pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
33900pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
33902 PhysicalDeviceUniformBufferStandardLayoutFeatures;
33903pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
33905pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
33907pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
33909pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
33911 PhysicalDeviceVertexAttributeDivisorFeatures;
33912pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
33914 PhysicalDeviceVertexAttributeDivisorFeatures;
33915pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
33917 PhysicalDeviceVertexAttributeDivisorProperties;
33918pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
33920pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
33922 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
33923pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
33925pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
33927pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
33929pub type PipelineInfoEXT = PipelineInfoKHR;
33931pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
33933pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
33935pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
33937pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
33939pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
33941 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
33942pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
33944 PipelineTessellationDomainOriginStateCreateInfo;
33945pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
33947pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
33949pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
33951pub type PushConstantsInfoKHR = PushConstantsInfo;
33953pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
33955pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
33957pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
33959pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
33961pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
33963pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
33965pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
33967pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
33969pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
33971pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
33973pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
33975pub type RenderingAreaInfoKHR = RenderingAreaInfo;
33977pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
33979pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
33981pub type RenderingEndInfoEXT = RenderingEndInfoKHR;
33983pub type RenderingInfoKHR = RenderingInfo;
33985pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
33987pub type ResolveImageInfo2KHR = ResolveImageInfo2;
33989pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
33991pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
33993pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
33995 SamplerYcbcrConversionImageFormatProperties;
33996pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
33998pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
34000pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
34002pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
34004pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
34006pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
34008 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
34009pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
34011pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
34013pub type SubmitInfo2KHR = SubmitInfo2;
34015pub type SubpassBeginInfoKHR = SubpassBeginInfo;
34017pub type SubpassDependency2KHR = SubpassDependency2;
34019pub type SubpassDescription2KHR = SubpassDescription2;
34021pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
34023pub type SubpassEndInfoKHR = SubpassEndInfo;
34025pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
34027pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
34029pub type SubresourceLayout2EXT = SubresourceLayout2;
34031pub type SubresourceLayout2KHR = SubresourceLayout2;
34033pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
34035pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
34037pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
34039pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
34041pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
34043pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
34045pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
34047pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
34049pub type TransformMatrixNV = TransformMatrixKHR;
34051pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
34053pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
34055pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;